
Estou usando esta regra para configurar o SNAT:
iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 193.49.142.107:4000
Quero especificar uma regra para filtrar pacotes não destinados ao endereço interno e à porta que iniciou a sessão. Além disso, para receber pacotes de um terminal externo específico, é necessário que o terminal interno envie os pacotes primeiro para o endereço IP desse terminal externo específico. (Filtragem Dependente de Endereço NAT)
Exemplo:
Uma máquina com IP interno e porta (X:x) que está atrás do NAT abre uma conexão para um servidor com IP Y. Então com a regra devo poder permitir apenas conexões provenientes do endereço IP Y e destinadas a (X: x). Todas as outras conexões serão descartadas.
Responder1
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
iptables -P FORWARD -j DROP
iptables -A FORWARD -o eth1 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth1 -m state --state ESTABLISHED -j ACCEPT
O que essas regras fazem?
-A POSTROUTING -o eth1 -j MASQUERADE
oculta seus IPs internos conforme os pacotes saem da sua rede-P FORWARD -j DROP
define a política padrão para sua cadeia FORWARD como DROP-A FORWARD -o eth1 -m state --state NEW,ESTABLISHED -j ACCEPT
permite conexões FORWARDed novas e estabelecidas-A FORWARD -i eth1 -m state --state ESTABLISHED -j ACCEPT
permite apenas conexões FORWARD estabelecidas em
As regras acima pressupõem que você esteja usando esta caixa como um gateway/firewall conectado eth1
à sua WAN e eth0
conectado à sua LAN.
Leitura Adicional:Pós-roteamento e mascaramento de IP
EDITAR
Para configurar o encaminhamento de porta "condicional":
Por porta de origem
iptables -A PREROUTING -t nat -i eth1 -p tcp --sport [trusted_source_port] --dport [external_port] -j DNAT --to [internal_ip]:[internal_port]
iptables -A FORWARD -p tcp -d [internal_ip] --dport [internal_port] -j ACCEPT
Por IP de origem
iptables -A PREROUTING -t nat -i eth1 -p tcp -s [trusted_source_ip] --dport [external_port] -j DNAT --to [internal_ip]:[internal_port]
iptables -A FORWARD -p tcp -d [internal_ip] --dport [internal_port] -j ACCEPT