Использование iptables для перенаправления IP-адреса

Использование iptables для перенаправления IP-адреса

У меня есть требование к системе Linux, где устройство Linux использует RSYNC для синхронизации данных с другой машиной Linux. В данный момент это работает нормально, однако мне нужно переместить одну из машин в другой центр обработки данных.

Возможно ли с помощью iptables настроить машину таким образом, чтобы все вызовы на (например) локальный адрес 192.168.100.230 теперь фактически отправлялись на публичный адрес в Интернете?

решение1

Необходимо включить IP-пересылку: отредактируйте /etc/sysctl.confи убедитесь, что строка net.ipv4.ip_forward = 1присутствует и не закомментирована.

Затем вам необходимо выполнить эту команду:

iptables -t nat -A ВЫВОД -d [ipaddress1] -j DNAT --to-destination [ipaddress2]

Где ipaddress1находится адрес, на который вы хотите перенаправить ipaddress2?

Примечание: эта команда не сохраняется после перезагрузки.

решение2

Клиент подключается к старому адресу 192.168.100.230, а новый адрес может измениться, например 192.168.100.240. Вы можете сделать переадресацию портов с помощью туннеля ssh вместо iptables.

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

или

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

Все запросы отправляются 192.168.100.230:22с пересылкой на 192.168.100.240:22. Вам не нужно, rootесли номер порта больше 1024.

Связанный контент