Iptables com libnetfilter problema de NAT

0

Estou usando tabelas ip em conjunto com a fila net-filter para alterar os pacotes programaticamente.

Estou usando regras iptables sobre o Ubuntu lab com 2 NICs eth0 para a internet e eth1 para a LAN Eu usei as regras bem conhecidas iptables para NAT com mascaramento em eth0 Sudo iptables --table nat --append POSTROUTING -o eth0 - j MASQUERADE sudo iptables -append FORWARD -i eth1 -j ACCEPT. sudo iptables -t mangle -A PREROUTING -j NFQUEUE --queue-num 0 Sudo iptables -t mangle -A OUTPUT -j NFQUEUE. Estas 4 regras são usadas para me ajudar a capturar pacotes dentro do meu programa e modificar pacotes ou soltar o que eu quero usando nfq_set_verdict. Na verdade, cada coisa está indo como eu estou esperando, ou seja, os três tipos de protocolo icmp, tcp e udp são modificados e reinjetados Na fila, em seguida, sai eth0 para a internet, tendo o endereço ip eth0 como endereço de origem (efeito da regra MASQUERADE NAT ). Isso vale para todos os pacotes, EXCETO: resposta icmp ping ou pacotes tcp ack. Eles saem para a internet levando o ip privado do dispositivo lan - 192.168.x.x e chega ao outro lado com esse endereço IP de origem privada. Alguma ideia. THX.

    
por user191523 27.10.2016 / 12:22

1 resposta

0

Estou usando regras iptables sobre o Ubuntu lab com 2 NICs eth0 para a internet e eth1 para a LAN Eu usei as regras bem conhecidas iptables para NAT com mascaramento em eth0 Sudo iptables --table nat --append POSTROUTING -o eth0 - j MASQUERADE sudo iptables -append FORWARD -i eth1 -j ACCEPT. sudo iptables -t mangle -A PREROUTING -j NFQUEUE --queue-num 0 Sudo iptables -t mangle -A OUTPUT -j NFQUEUE. Estas 4 regras são usadas para me ajudar a capturar pacotes dentro do meu programa e modificar pacotes ou soltar o que eu quero usando nfq_set_verdict. Na verdade, cada coisa está indo como eu estou esperando, ou seja, os três tipos de protocolo icmp, tcp e udp são modificados e reinjetados Na fila, em seguida, sai eth0 para a internet, tendo o endereço ip eth0 como endereço de origem (efeito da regra MASQUERADE NAT ). Isso vale para todos os pacotes, EXCETO: resposta icmp ping ou pacotes tcp ack. Eles saem para a internet levando o ip privado do dispositivo lan - 192.168.x.x e chega ao outro lado com esse endereço IP de origem privada. Alguma ideia. Thx.

    
por 29.10.2016 / 10:45

Tags