Questão Usando o iptables para redirecionar o endereço IP


Eu tenho o requisito em um sistema Linux, onde o dispositivo Linux está usando o RSYNC para sincronizar dados para outra máquina Linux. Isso está funcionando bem no momento, mas preciso mover uma das máquinas para um data center diferente.

É possível usar o iptables para configurar a máquina de modo que todas as chamadas para (por exemplo) o endereço local 192.168.100.230 sejam realmente enviadas para um endereço público na Internet?


6


origem




Respostas:


O encaminhamento de IP precisa ser ativado: editar /etc/sysctl.conf e garantir que a linha net.ipv4.ip_forward = 1 está lá e não comentado.

Então você precisa executar este comando:

iptables -t nat -A OUTPUT -d [ipaddress1] -j DNAT - para destino [ipaddress2]

Onde ipaddress1 é o endereço que você deseja redirecionar para ipaddress2.

Nota - este comando não sobrevive a uma reinicialização.


12



para completar isto: iptables-save> /somepath/iptables.save Adicionar ao cron na inicialização do iptables-restore </somepath/iptables.save - cybernard
@ Comentário do cybernard deve ser adicionado à resposta. - insaner


O cliente se conecta ao endereço antigo 192.168.100.230, e o novo endereço pode ser alterado, por exemplo 192.168.100.240. Você pode fazer o encaminhamento de porta com o túnel ssh em vez do iptables.

ssh -TNnfaq -L 192.168.100.230:22:192.168.100.240:22 user@localhost

ou

ssh -L 192.168.100.230:22:192.168.100.240:22 user@localhost # for test

Todas as solicitações enviadas para 192.168.100.230:22 com a frente para 192.168.100.240:22. Você não precisa root se o número da porta for maior que 1024.


-3