Перенаправление исходящего порта на конкретный порт возможно?
Суть такова, имеется centos сервер. Приложение на нем поддерживает только 21 порт, Указать другой нет возможности, а у удаленного сервера порт 2121, как быть в этой ситуации? Можно ли как-то заставить слать запросы к 2121? А приложение будет думать что оно использует порт 21. Аналогия как в хост файле.
Дмитрий, В этом случае предполагается использование конкретного IP. А что если мне нужно чтобы исходящие 21 порт перенаправялся на 2121, любого IP
Попробовал вот так. (Указывал айпи на который будут слаться запросы в данный момент)
iptables -t nat -A OUTPUT -o eth0 -p tcp -d 11.11.11.10 --dport 21 -j DNAT -to 11.11.11.10:2121
Получил: Bad argument `11.11.11.10:2121'
Может надо писать вместо:
iptables -t nat -A OUTPUT -o eth0 -p tcp -d 127.0.0.1 (имеется ввиду входящие запросы от приложения на локалхост) --dport 21 -j DNAT -to 11.11.11.10:2121
То есть в приложени просто указываешь для подключениия 127.0.0.1:21 с паролем от удаленного сервера. IPtables будет перенаправлять входящий трафик от 127.0.0.1:21 на 11.11.11.10:2121?
Денис, мой косяк - синтаксис. Правильно --to host:port
два минуса тут )
Смотрите, мое правило предполагает , что приложение с локального сервера хочет подключится к удаленному серверу по порту 21 (умеет только этот порт), а на удаленном сервере открыт совсем иной порт - 2121
Вы конечно можете написать -d 127.0.0.1 , просто вам тогда придется не забыть, что когда ваше локальное приложение идет к 127.0.0.1:21 то на самом деле будет идти на 11.11.11.10:2121.