Como definir uma porta para a frente no iptables do Ubuntu?

0

Esta citação deve me explicar como fazer isso, mas não entendi ...

Next, I had added following rules to forward all http requests (coming to port 80) to the Squid server port 3128 :

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to 192.168.1.1:3128
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128

com

iptables -t nat -A PREROUTING -i venet0 -p tcp --dport 80 -j DNAT --to 127.0.0.1:3128
iptables -t nat -A PREROUTING -i venet0:0 -p tcp --dport 80 -j REDIRECT --to-port 3128

Isso deve funcionar, mas não funciona. Meu iptables está vazio e o /etc/network/interface é o seguinte:

auto lo
iface lo inet loopback
    address 127.0.0.1
    netmask 255.0.0.0
    broadcast 127.255.255.255
    up ip route replace 127.0.0.0/8 dev lo
# Auto generated venet0 interfaces
auto venet0
iface venet0 inet static
    address 127.0.0.1
    netmask 255.255.255.255
    broadcast 0.0.0.0
    up route add default dev venet0
iface venet0 inet6 static
    address ::2
    netmask 128
    up ip -6 r a default dev venet0
    up ip addr add {...externalIPv6...} dev venet0
auto venet0:0
iface venet0:0 inet static
    address {...externalIP...}
    netmask 255.255.255.255
    
por homeFault 07.12.2013 / 17:58

1 resposta

0

Vou começar isso como uma resposta, evento embora não seja (ainda, espero). A razão pela qual eu faço isso é que acredito que esse problema exigirá várias iterações a serem resolvidas.

As regras do iptables parecem boas para mim, mas o seu arquivo / etc / network / interfaces tem vários problemas, na minha opinião. Você copiou de algum lugar, ou você adaptou às suas necessidades?

Os problemas que vejo:

  1. Por que especificar a interface de loopback? Normalmente, as duas primeiras linhas da estrofe são boas.
  2. Você está atribuindo dois endereços à mesma interface, venet0.
  3. A
  4. netmask para a primeira estrofe venet0 é muito restritiva e é inconsistente com o endereço de broadcast.
  5. Sua segunda estrofe para venet0 tem dois endereços atribuídos a ele, seu endereço IPv6 externo e :: 2.
  6. Na estrofe de venet0, a máscara de rede é muito restritiva.
  7. A mesma interface, venet0 / venet0: 0, tem endereços de loopback e externos designados a ela, qual é o objetivo?

Seria útil se você nos dissesse o que está tentando fazer com o VMWare, no momento estou perdido.

    
por 07.12.2013 / 23:56