iptables não encaminha da WAN para máquinas virtuais

2

Eu tenho uma máquina funcionando como gateway e tenho duas interfaces de rede:

  • eth0 LAN: 192.168.1.0/24
  • eth1 WAN: XXX.XXX.XXX.XXX (meu ip público)

Esta máquina tem 3 convidados da VM sobre a caixa virtual. Todos têm uma ponte de rede e têm IP estático dado pelo nosso DNS.

Eu tenho os seguintes iptables

*filter
    -A FORWARD -i eth1 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
    -A FORWARD -i eth0 -o eth1 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT

# Rules a webserver VM
*nat
    -A POSTROUTING -o eth1 -j MASQUERADE
    -A PREROUTING -d XXX.XXX.XXX.XXX/32 -i eth1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.1.100
    -A POSTROUTING -s 192.168.1.100/32  -j SNAT --to-source XXX.XXX.XXX.XXX

Eu posso acessar as VMs da minha LAN, mas quando tento acessá-las pela WAN, isso não funciona. O que está errado?

    
por rkmax 30.11.2012 / 23:30

1 resposta

0

É correto assumir que a política padrão de FORWARD na tabela de filtros é DROP? (Se não, essas duas regras de filtro seriam inúteis porque você está aceitando tudo de qualquer maneira.)

Se essa suposição estiver correta, seu problema é que você não tem uma regra ACCEPT para encaminhar novos pacotes para a VM. Adicione esta regra:

iptables -A FORWARD -i eth1 -o eth0 -p tcp -d 192.168.1.100 --dport 80 -j ACCEPT

A propósito, a regra SNAT para pacotes da VM é redundante - você já está mascarando todos os pacotes saindo pela eth1.

    
por 02.12.2012 / 05:15

Tags