7

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

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

2 ответа2

13

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

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

iptables -t nat -A OUTPUT -d [ipaddress1] -j DNAT --to-destination [ipaddress2]

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

Примечание - эта команда не переживает перезагрузку.

-3

Клиент подключается к старому адресу 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.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .