Alterar
iptables -t nat -A PREROUTING -d old_machine_ip \
-j DNAT --to-destination new_machine_IP
para
iptables -t nat -A PREROUTING -d old_machine_ip -p tcp \! --dport 22 \
-j DNAT --to-destination new_machine_IP
Estou tentando redirecionar todo o tráfego de rede recebido em um host antigo para um host diferente. Para isso, criei duas novas regras com iptables
no host antigo:
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -d old_machine_ip -j DNAT --to-destination new_machine_IP
iptables -t nat -A POSTROUTING -s new_machine_ip -j SNAT --to-source old_machine_ip
/etc/init.d/iptables save
/etc/init.d/iptables restart
Tudo funcionou perfeitamente, mas não consigo mais acessar o host antigo com ssh
, pois ele o redireciona para o novo host. Gostaria de saber se é possível criar uma única regra que ignore o pré-lançamento do serviço ssh.
Alterar
iptables -t nat -A PREROUTING -d old_machine_ip \
-j DNAT --to-destination new_machine_IP
para
iptables -t nat -A PREROUTING -d old_machine_ip -p tcp \! --dport 22 \
-j DNAT --to-destination new_machine_IP
Tags networking iptables