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 da sua cadeia FORWARD para DROP -
-A FORWARD -o eth1 -m state --state NEW,ESTABLISHED -j ACCEPT
permite que conexões FORWARD novas e estabelecidas saiam -
-A FORWARD -i eth1 -m state --state ESTABLISHED -j ACCEPT
permite apenas conexões FORWARD estabelecidas em
As regras acima assumem que você está usando essa caixa como um gateway / firewall com eth1
conectado à sua WAN e eth0
conectado à sua LAN.
Leitura adicional: Pós-exibição e máscara 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