Esta regra iptable afeta todo o tráfego de entrada?

Esta regra iptable afeta todo o tráfego de entrada?

Pergunta

Se eu usar as seguintes condições em uma regra iptable, qual será o efeito? É o mesmo que especificar qualquer conexão direcionada a mim mesmo?

! -d 127.0.0.0/8 -p tcp -m addrtype --dst-type LOCAL

Fundo

Especificamente, estou usando-o para redirecionar portas no meu host (com IP público, digamos, 150.200.30.40) para um dos meus contêineres LXC (com IP 10.0.3.202). Parece-me que estas regras são equivalentes ao tráfego endereçado ao endereço IP público do meu host.

## IPTABLE RULE FOR INCOMING CONNECTIONS??
iptables -t nat -A PREROUTING ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -p tcp --dport 2222 -j DNAT --to-destination 10.0.3.202:22

## EQUIVALENT RULE?? (for connections directed at 150.200.30.40)
iptables -t nat -A PREROUTING -d 150.200.30.40 -p tcp --dport 2222  -j DNAT --to-destination 10.0.3.202:22

Responder1

Há casos em que esses dois não são idênticos. Aqui está o porquê (não estou discutindo aqui outras correspondências como protocolo e porta):

  1. A primeira regra corresponde quando o pacote é destinado a um endereço local (não incluindo o intervalo 127.0.0.0).
  2. A segunda regra corresponde quando o pacote é destinado a um endereço IP específico (atribuído a esta máquina como você mencionou).

Eles serão idênticos se houver apenas um endereço atribuído a esta máquina, que é 150.200.30.40. Ambos serão pacotes correspondentes destinados a um endereço local que não corresponde ao intervalo 127.0.0.0.

Eles serão diferentes quando houver pelo menos um endereço atribuído a qualquer interface diferente do IP público mencionado (e, claro, excluindo o intervalo privado especial 127.0.0.0).

Se o IP público mencionado não estiver atribuído a esta máquina, eles são diferentes com certeza.

informação relacionada