Exemplos de SNAT, DNAT com IPTABLES


Existem diversas variações de NAT que podem ser configuradas com IPTABLES. Este artigo visa mostrar alguns exemplos de SNAT, DNAT com iptables.
iptables -t nat -A PREROUTING -s 192.168.1.2 -i eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth0 -j SNAT –to 192.168.1.1
Abaixo, certifique-se de que os pacotes dos dispositivos Eth tenham o endereço IP de origem correto. Aviso: ao especificar uma porta, o protocolo também precisa ser especificado.
iptables -t nat -A POSTROUTING -o wlan0 -s 192.168.1.2 -p udp –dport 16020 -j SNAT –to 10.1.1.7:51889
iptables -t nat -A POSTROUTING -o wlan0 -s 192.168.1.2 -p tcp –dport 21 -j SNAT –to 10.1.1.7:21
iptables -t nat -A POSTROUTING -o wlan0 -s 192.168.1.3 -j SNAT –to 10.1.1.9
Pacotes destinados ao IP 10.1.1.7 serão encaminhados para 192.168.1.2 UDP,TCP
Pacotes destinados ao IP 10.1.1.9 serão encaminhados para 192.168.1.3 UDP,TCP
Funciona corretamente com ping (ICMP)
iptables -t nat -A PREROUTING -i wlan0 -d 10.1.1.7 -j DNAT –to-destination 192.168.1.2 iptables -t nat -A PREROUTING -i wlan0 -d 10.1.1.9 -j DNAT –to-destination 192.168.1.3
NÃO funciona corretamente com ping (ICMP), não suporta resposta IP WLAN do protocolo ICMP em um ping sem
iptables -t nat -A PREROUTING -p tcp -i wlan0 -d 10.1.1.7 -j DNAT –to-destination 192.168.1.2 iptables -t nat -A PREROUTING -p udp -i wlan0 -d 10.1.1.7 -j DNAT –to-destination 192.168.1.2
iptables -t nat -A OUTPUT -p udp –dport 162 -j DNAT –to-destination 192.168.1.33:1162
ip addr add 10.1.1.7/24 dev wlan0 ip addr add 10.1.1.9/24 dev wlan0
ip add list dev wlan0
iptables -t nat -A POSTROUTING -o eth1 -j SNAT –to 192.168.20.1
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.1.22 -p tcp –dport 443 -j SNAT –to 192.168.20.1:443
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.1.22 -p icmp -j SNAT –to 192.168.20.1
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.1.22 -p all -j SNAT –to 192.168.20.1
uso com modo duplo de WIFI, onde o WiFi pode ser AP e STA ao mesmo tempo, adicionado ao script de inicialização
assumindo que wlan1 é STA interface ip=$(ip -o addr show up primário escopo global wlan1 | while read -r num dev fam addr rest; do echo ${addr%/*}; done) echo $ip # todos os pacotes saindo wlan1 mudará o IP de origem para IP da interface STA iptables -t nat -A POSTROUTING -o wlan1 -j SNAT –to $ip
A ordem é importante pois o DROP terminará após permitir a comunicação com o servidor NTP. Por esse motivo precisamos INSERIR as regras. Se usado APPEND a ordem dos comandos deverá ser invertida para garantir que DROP seja o último.
iptables -I FORWARD -i eth0 -o usb0 -j DROP iptables -I FORWARD -d pool.ntp.org -i eth0 -o usb0 -j ACCEPT
Útil quando você tem um dispositivo atrás do roteador e deseja limitar sua capacidade de usar/explorar recursos no roteador.
Use com cuidado, pois você pode se bloquear.
iptables -t filter -A INPUT -i eth1 -p tcp –dport 80 -j DROP
iptables -t filter -A INPUT -i eth1 -p tcp –dport 80 -j DROP
iptables -t filter-A INPUT -i eth1 -p tcp –dport 22 -j DROP
iptables -t filter -A INPUT -i eth1 -p icmp -j DROP
A tabela iptables precisa ser especificada para listagem. POR EXEMPLO. nat, mangle.
iptables -t nat -L -n -v