LINUX.ORG.RU

iptables


0

1

Салют трудягам!
Требуется что бы клиент набрав в брузере что-то типа XX.XXX.XXX.XX:8778
получил например YY.YYY.YYY.YY:80

Какая цепочка iptables на хосте XX.XXX.XXX.XX решит эту задачу?

★★★

Ответ на: комментарий от madcore

Скорее все же так:

-A PREROUTING -d XXX -p tcp --dport 8778 -j DNAT --to-destination YYY:80
-A POSTROUTING -d YYY -p tcp --dport 80 -j SNAT --to-source XXX

Иначе YYY получит пакет якобы напрямую от клиента, и ответ уйдет в никуда.

botkin
()

>получил например YY.YYY.YYY.YY:80

HTTP? А reverse proxy не спасёт отца русской демократии?

router ★★★★★
()

>Требуется что бы клиент набрав в брузере что-то типа XX.XXX.XXX.XX:8778
получил например YY.YYY.YYY.YY:80

а редирект в каком-нибудь apache/nginx/lighttpd/whatever не устроит? Или обязательно iptables? Если да, выше уже подсказали

Pinkbyte ★★★★★
()
Ответ на: комментарий от botkin

Чтот не получется, похоже что ответ не доходит(

iptables -t nat -A PREROUTING -d {Адрес_eth0} -p tcp --dport 8778 -j DNAT --to-destination {Адрес_ресурса}:80
iptables -t nat -A POSTROUTING -d {Адрес_ресурса} -p tcp --dport 8778 -j SNAT --to-source {Адрес_eth0}

papay ★★★
() автор топика
Ответ на: комментарий от router

HTTP? А reverse proxy не спасёт отца русской демократии? а редирект в каком-нибудь apache/nginx/lighttpd/whatever не устроит?

нет, нужно именно iptables

papay ★★★
() автор топика
Ответ на: комментарий от papay

Во второй строчке --dport 8778 не надо! А вот --dport 80 не помешает :)

Это ж должны быть пакеты, которые уже проначены на {Адрес_ресурса}:80!

botkin
()
Ответ на: комментарий от botkin

> Во второй строчке --dport 8778 не надо! А вот --dport 80 не помешает :)

пардоннн, эт я накопипастил) Все правильно было, но всеодно не работает( Ответ не приходит к ресурсу который обращается к {Адрес_eth0}

papay ★★★
() автор топика
Ответ на: комментарий от papay

Странно... У меня похожее правило работает:

-A PREROUTING -i eth0 -p tcp -m tcp --dport 8080 -j DNAT --to-destination 10.10.2.3:8080 
-A POSTROUTING -o tun0 -p tcp -m tcp --dport 8080 -j SNAT --to-source 10.10.2.1 

То есть то, что поступает на eth0 на 8080 проксируется на машину, доступную только по VPN'у, тоже на 8080

Казалось бы все аналогично... только вместо айпишника интерфейсы...

botkin
()
Ответ на: комментарий от papay

Вот сейчас попробовал:

-A PREROUTING -d x.x.x.14 -p tcp --dport 90 -j DNAT --to-destination x.x.x.33:80
-A POSTROUTING -d x.x.x.33 -p tcp --dport 80 -j SNAT --to-source x.x.x.14

(14 - моя машина, 33 - другой сервачок)

Тоже работает...

botkin
()
Ответ на: комментарий от botkin

Чтот я тож не пойму, почему не работает ...
уже на 2х разных серверах попробовал. На Слаке и на Дебиане.

чтот с утра сегодня день не задался(
Завтра, на свежую голову попробую разобраться...

papay ★★★
() автор топика
Ответ на: комментарий от botkin

а Вы белыми адресами делаете?
у меня суть такая:
БелIP идет на БелыйIP по какомунить оговоренному порту, а там весь его трафик транслируется туда и обратно на другой БелыйIP:80

papay ★★★
() автор топика
Ответ на: комментарий от papay

У меня первый случай — при обращении к белому IP дается доступ к видеопотоку на машине в локалке, недоступной снаружи, с серым IP, естественно. Машина, на которой это все работает, смотрит одним интерфейсом в интернет, другим в VPN.

Второй — оба IP были белые, обращался из совсем левой сети.

botkin
()
Ответ на: комментарий от ilya82

Господи, как мне стыдно!

root@sip2:/home/dmitry# cat /proc/sys/net/ipv4/ip_forward 
0

СПАСИБО botkin,
СПАСИБО ilya82
и всем, всем всем)

papay ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.