Iptables com problema de NATing libnetfilter

Iptables com problema de NATing libnetfilter

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

Estou usando regras de iptables no laboratório do Ubuntu com 2 NICs eth0 para a internet e eth1 para a LAN. Usei as conhecidas regras de iptables para NATing com mascaramento em eth0 Sudo iptables --table nat --append POSTROUTING -o eth0 -j MASQUERADE sudo iptables -append FORWARD -i eth1 -j ACEITAR. sudo iptables -t mangle -A PREROUTING -j NFQUEUE --queue-num 0 Sudo iptables -t mangle -A OUTPUT -j NFQUEUE. essas 4 regras são usadas para me ajudar a capturar pacotes dentro do meu programa e modificar pacotes ou descartar o que eu quero usando nfq_set_verdict. Na verdade, tudo está indo como eu esperava, ou seja, os três tipos de protocolo os pacotes icmp , tcp e udp são modificados e reinjetados Na fila então sai do eth0 para a internet tomando o endereço IP do eth0 como endereço de origem (efeito do uso da regra MASQUERADE NAT ). Isso é verdade para todos os pacotes, EXCETO: pacotes de resposta de ping icmp ou pacotes de confirmação tcp. Eles saem para a internet pegando o ip privado do dispositivo lan - 192.168.xx e chegam ao outro lado com esse endereço IP de origem privada. Alguma ideia. THX.

Responder1

Estou usando regras de iptables no laboratório do Ubuntu com 2 NICs eth0 para a internet e eth1 para a LAN. Usei as conhecidas regras de iptables para NATing com mascaramento em eth0 Sudo iptables --table nat --append POSTROUTING -o eth0 -j MASQUERADE sudo iptables -append FORWARD -i eth1 -j ACEITAR. sudo iptables -t mangle -A PREROUTING -j NFQUEUE --queue-num 0 Sudo iptables -t mangle -A OUTPUT -j NFQUEUE. essas 4 regras são usadas para me ajudar a capturar pacotes dentro do meu programa e modificar pacotes ou descartar o que eu quero usando nfq_set_verdict. Na verdade, tudo está indo como eu esperava, ou seja, os três tipos de protocolo os pacotes icmp , tcp e udp são modificados e reinjetados Na fila então sai do eth0 para a internet tomando o endereço IP do eth0 como endereço de origem (efeito do uso da regra MASQUERADE NAT ). Isso é verdade para todos os pacotes, EXCETO: pacotes de resposta de ping icmp ou pacotes de confirmação tcp. Eles saem para a internet pegando o ip privado do dispositivo lan - 192.168.xx e chegam ao outro lado com esse endereço IP de origem privada. Alguma ideia. THX.

informação relacionada