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 ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему: топик перемещен в архив.