Сделать редирект на другой сервер по определенному порту

dlyanachalas
На сайте с 15.09.2006
Offline
693
1138

Подскажите, пожалуйста, кто знает, как сделать редирект, чтобы всё, что приходит на заданный порт сервера (111), перенаправлялось на другой заданный порт (222) другого сервера (11.22.33.44)

Делаю через xinetd:

service myserv

{

socket_type = stream

protocol = tcp

wait = no

user = root

port = 111

redirect = 11.22.33.44 222

}

не работает :(

(согласно правилам, указываю ОС - Ubuntu)

Evas EvaSystems
На сайте с 31.05.2012
Offline
104
#1

iptables -t nat -I PREROUTING -p tcp -d 127.0.0.1 --dport 111 -j DNAT --to-destination 127.0.0.2:222

iptables -t nat -I POSTROUTING -d 127.0.0.2 ! -s 127.0.0.1 -j SNAT --to-source 127.0.0.1

127.0.0.1 - ип первого сервера, основного, где принимается соединение на 111 порту

127.0.0.2 - ип второго сервера, в вашем примере 11.22.33.44

Системный администратор Linux. Настройка, сопровождение и оптимизация серверов. Отзывы - searchengines.guru/ru/forum/1017473
Andreyka
На сайте с 19.02.2005
Offline
822
#2

Если доступа к iptables нет, то rinetd

Не стоит плодить сущности без необходимости
dlyanachalas
На сайте с 15.09.2006
Offline
693
#3
Evas:
iptables -t nat -I PREROUTING -p tcp -d 127.0.0.1 --dport 111 -j DNAT --to-destination 127.0.0.2:222
iptables -t nat -I POSTROUTING -d 127.0.0.2 ! -s 127.0.0.1 -j SNAT --to-source 127.0.0.1

127.0.0.1 - ип первого сервера, основного, где принимается соединение на 111 порту
127.0.0.2 - ип второго сервера, в вашем примере 11.22.33.44

Прописал, в iptables добавились строки:

-A PREROUTING -d 127.0.0.1/32 -p tcp -m tcp --dport 111 -j DNAT --to-destination 11.22.33.44:222

-A POSTROUTING ! -s 127.0.0.1/32 -d 11.22.33.44/32 -j SNAT --to-source 127.0.0.1

Но редирект не происходит :) В мануалах пишут, что NAT работает только внутри одного сервера. Может, в этом дело?

Как ещё можно сделать такой редирект? Прокси ставить?

---------- Добавлено 08.02.2014 в 00:47 ----------

Andreyka:
Если доступа к iptables нет, то rinetd

Доступ есть, толку - 0 :)

Evas EvaSystems
На сайте с 31.05.2012
Offline
104
#4
Но редирект не происходит

Хм, должен работать. Проделывал именно так и не раз. Сервера использовались разные даже по местонахождению...

VK
На сайте с 29.12.2011
Offline
42
#5

dlyanachalas, попробуйте haproxy, довольно простое приложение, стабильно работает, еще и статистику красивую показывает.

Metal Messiah
На сайте с 01.08.2010
Offline
152
#6

Портмаппинг на любом высокоуровневом языке программирования делается за пол часа, компилируется, заливается и запускается даже если нет рута - в screen запусти

anonymous, думай что говоришь и не забывай подписать отзыв :)
DM
На сайте с 17.01.2009
Offline
42
#7
dlyanachalas:
Прописал, в iptables добавились строки:

-A PREROUTING -d 127.0.0.1/32 -p tcp -m tcp --dport 111 -j DNAT --to-destination 11.22.33.44:222
-A POSTROUTING ! -s 127.0.0.1/32 -d 11.22.33.44/32 -j SNAT --to-source 127.0.0.1

Но редирект не происходит :) В мануалах пишут, что NAT работает только внутри одного сервера. Может, в этом дело?

А включено net.ipv4.ip_forward = 1 в /etc/sysctl.conf ?

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий