Necessário acessar porta na LAN através do firewall IPTABLES na interface IP estática

2

Eu tenho um firewall Linux com 3 NICs. Eth1 é o gateway padrão da minha LAN e tem o endereço IP 10.1.2.250 e está conectado à minha LAN com o intervalo de IP 10.1.2.0/24. A Eth2 tem o endereço IP de 10.0.0.6 e o gateway é 10.0.0.2, que é o gateway da eth1 e está conectado a um modem DSL. O modem DSL se conecta à Internet com um script de discagem no firewall do Linux e recebe um IP dinâmico em sua interface ppp0.

Eth0 está conectado a um segundo modem com um IP público estático. O Eth0 também recebe um IP público no intervalo especificado pelo provedor de serviços.

Eu tenho um servidor web em um dos PCs internos na lan no IP 10.1.2.21. O público tem que ser capaz de se conectar ao servidor web no IP público estático. Eu tentei algumas regras IPTABLES como DNAT, MASQUERADE sem sorte. Talvez eu esteja perdendo alguma coisa. Alguém pode me direcionar para algum tipo de solução?

    
por Fred 25.01.2012 / 15:40

1 resposta

2

Você precisa de 4 coisas.

  • manipula a conexão de entrada:
    • iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to 10.1.2.21:80
  • permitir através do firewall:
    • iptables -t filter -A FORWARD -i eth0 -o eth2 -p tcp --dport 80 -j ACCEPT
  • permite o tráfego de resposta pelo firewall:
    • iptables -t filter -A FORWARD -i eth2 -o eth0 -p tcp --sport 80 -j ACCEPT
  • fonte NAT ou MASQ a resposta de saída:
    • iptables -t nat -A POSTROUTING -i eth2 -o eth0 -s 10.1.2.21 --sport 80 -j MASQERUADE

Os dois no meio podem ser omitidos se você não bloquear nenhum tráfego no seu firewall. O principal é que você precisa dizer à sua caixa como lidar com o tráfego de entrada destinado à porta 80 ( --dport 80 ) e como lidar com o tráfego de resposta (source nat it / masq it).

Uma pequena informação sobre as cadeias. A cadeia NAT PREROUTING manipula (altera) as informações do cabeçalho do pacote ANTES que o pacote seja encaminhado / encaminhado (isto é, atravessa a cadeia FORWARD). A cadeia de POSTROUTING NAT manipula o pacote após o roteamento. Então, quando o pacote atinge o público, você precisa alterar o endereço de destino para o endereço interno do servidor web. Em seguida, ele roteará o pacote e atravessará a corrente. Se você executar um despejo TCP no servidor da Web, verá o tráfego de entrada e a resposta de saída. Quando a resposta de saída atingir o firewall, ela será roteada e, em seguida, cruzará a cadeia POSTROUTING. Em seguida, o pacote será mutilado novamente para alterar o endereço de origem do intervalo de IP privado RFC1918 de 10.1.x.x para o IP principal público em eth0.

    
por 25.01.2012 / 15:57

Tags