Filtragem Iptables e NAT com endereço IP secundário

Filtragem Iptables e NAT com endereço IP secundário

Eu tenho dois endereços IP na minha interface eth física. Digamos 192.168.10.7 (eth0:0) e 192.168.0.7 (eth0). Então funciona. Mas eu uso o aplicativo, trabalhando no único desses endereços na porta 12000. Ele está configurado internamente neste aplicativo para funcionar no endereço 192.168.0.7. Configurei o app para funcionar no endereço 192.168.10.7 também, usando iptables, da seguinte forma:

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A PREROUTING -p tcp -d 192.168.10.7 --dport 12000 -j DNAT --to 192.168.0.7:12000

Agora quero bloquear todo o tráfego de entrada para o endereço IP 192.168.10.7 (interface eth0:0), exceto a porta 12000. Todo o restante do tráfego deve permanecer inalterado. Eu não sou especialista em iptables. Alguém pode me ajudar?

Responder1

supondo que sua regra iptables funcione na mesma máquina do seu aplicativo, você deve definir uma regra para aceitar pacotes de entrada e saída para o endereço e porta do aplicativo, então simplesmente descarta todo o resto, parece assim:

iptables -A INPUT -p tcp -d 192.168.10.7 --dport 12000 -j ACEITAR
iptables -A OUTPUT -p tcp -s 192.168.10.7 --sport 12000 -j ACEITAR

iptables -A INPUT -j DROP
iptables -A OUTPUT - j QUEDA

informação relacionada