Приветствую всех.
Задача такаяесть шлюз с 2 провайдерами и локальной сетью
на одном канале ppp0 и eth0, и eth1 для второго прова
требуется чтобы с внешки при подключении на 5555 порт все попадали на хост внутри сети.
А вся внутрисеть вида 192.168.1.1/24 натилась на ppp0т.е. 1) пробросить порт X.X.X.X:5555 (eth0) на хост_внутрисети:5555
2)внутрисеть 192.168.1.1/24->ppp0
3)пока канал 2 прова не рассматриваем - он как резервныйтекущая конфигурация только 2 задачу решает, но с внешки порт 5555 виден как закрытый, т.е. ничего не слушается(маппинг не срабатывает)
пробовал сделать как в статье http://www.opennet.me/openforum/vsluhforumID6/19056.html#0
остается все также - внутрисеть нормально уходит в интернет - а с внешки порт закрытtest:~# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.1(pptp-server_ip) 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
подсеть_eth0 0.0.0.0 255.255.255.255 UH 0 0 0 eth0
real_ip_pptp_server Gateway_eth0 255.255.255.255 UGH 0 0 0 eth0
подсеть_eth0 0.0.0.0 255.255.255.240 U 0 0 0 eth0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0 ppp0
0.0.0.0 Gateway_eth0 0.0.0.0 UG 0 0 0 eth0как это лучше реализовать - можно ли простым правилами iptables или настройкой маршрутов. маркировкой пакетов?
>т.е. 1) пробросить порт X.X.X.X:5555 (eth0) на хост_внутрисети:5555google.ru + iptables port-forward site:opennet.ru/openforum
===
Читайте также главы из книги "Портовый форвардинг, как он ест", того же автора:
http:/openforum/vsluhforumID10/3591.html#4
http:/openforum/vsluhforumID10/3717.html#6
===
Посмотрите в последней ссылке - простейшие "прокси" для форварда портов.
xinetd это тоже умеет, говорят.
* В iptables для прокси-приложений нужно открывать порты для соединений на _шлюз_ (цепочки INPUT/OUTPUT, NAT не нужен).===
Чего ещё может не хватать:
http:/openforum/vsluhforumID13/413.html#3
(SNAT не всегда нужен.)
===
Если горит сделать iptables-ами, то "учиться и искать, найти и перепрятать".
Внимательно изучить _пути_ прохождения пакетов через роутер (и НАТ в частности) обратить внимание, что в -t NAT переписываются адреса (в PREROUTING - места назначения (=DNAT), в POSTROUTING - "исходящий" адрес соединения (=SNAT)), а между ними ещё нужно разрешающее правило в -t FILTER, вызываемое из цепочки FORWARD. И да, порядок прохождения таблиц (в iptables tutorial кратинка есть - очень способствует :) ) важен: в частности пакет проходит FORWARD после DNAT и до SNAT = адрес назначения "новый", а источника - ещё не изменённый. (Ма-а-аленький нюанс: в -t NAT попадает только первый пакет соединения, через -t FILTER идут все.)Кроме того, для представления соединения внутрь локалки вариантов два: со SNAT-ом и без него. Во втором случае внутрений сервер "увидит" внешние адреса клиентов, и при этом на нём нужно убедиться, что это работает (настроить роутинг).
sysctl ip_forward у Вас уже включён. (И да, без него заклинания тож не заработают.)
>3)пока канал 2 прова не рассматриваем - он как резервный
>пробовал сделать как в статьеЕсли Вы не рассматриваете работу с двумя провайдерами _одновременно_, policy routing из этой и продобных статей (про "два провайдера" --> http:/tips/info/1651.shtml ) вроде как не нужен.