|
|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Eugene Grosbein 2:5006/1 15 Oct 2005 03:31:01 To : Sergey A Yakovets Subject : Re: Извращенный роутинг + NAT -------------------------------------------------------------------------------- 14 окт 2005, пятница, в 20:56 KRAST, Sergey A Yakovets написал(а): SAY> Ситуация следующая: SAY> 1-1) Имеется внешний канал ADSL со статическим внешним адресом (rl1). SAY> 2-1) Через этот внешний канал устанавливается IPIP туннель до SAY> спутникового SAY> провайдера PlanetSky. Мой адрес в туннеле 192.168.100.59, адрес сервера в SAY> туннеле 192.168.100.58 SAY> 3-1) Есть статический маршрут на сервер спутникового провайдера SAY> (реальный SAY> адрес 82.211.136.5 другого конца туннеля) через наземный шлюз. SAY> 4-1) После поднятия туннеля маршрут по умолчанию ставится на SAY> 192.168.100.58 SAY> 5-1) Hа интерфейсе туннеля tun0 висит NAT который натит локалку с SAY> fxp0 - SAY> еще одного интерфейса на шлюзе. SAY> Все работает, юзеры из локалки ходят в инет, запросы от них SAY> отправляются на SAY> шлюз по умолчанию в туннель, а приходят со спутника (rl0). SAY> Теперь собственно проблема: SAY> 1-2) Имеется почтовый сервер, стоящий в локалке на адресе 192.168.0.4 SAY> 2-2) Hа интерфейсе по земле (rl1) запускается NAT, который SAY> осуществляет SAY> проброску порта 25 с внешнего реального адреса шлюза на почтовый сервер в SAY> локалке. SAY> 3-2) Почтовый сервер в локалке получает пакеты и шлет на fxp0, т.к. SAY> для SAY> него он шлюз по умолчанию. SAY> 4-2) Сам шлюз видит, что пакет идет наружу и согласно п.4-1 SAY> направляет его SAY> в tun0, где он благополучно дивертится сначала в 192.168.100.59, а потом SAY> и в SAY> реальный адрес севрера спутникового провайдера, от имени которого он и SAY> приходит SAY> на тот почтовик, который пытался установить соединение с моим внешним SAY> реальным SAY> адресом. SAY> 5-2) В итоге - почта не приходит. SAY> Что пробовали: SAY> 1) Если прописать статический маршрут с шлюзом по земле на какой либо SAY> внешний почтовый адрес, который пытается отправить мне почту, все SAY> работает. SAY> 2) HО нельзя же приписать статические маршуры на всевозможные SAY> почтовые SAY> сервера, которые отправляют\будут отправлять мне почту. SAY> Т.е. задача состоит в том, что нужно все пакеты, которые приходят SAY> снаружи SAY> по земле на почтовый сервер в локалке, отправлять не через шлюз по SAY> умолчанию SAY> (туннель), а тоже по земле. Совсем недавно тут пробегал рецепт. Hадо на почтовом сервере иметь на интерфейсе два адреса, основной (пусть будет 192.168.0.104) на тот случай, если почтовик захочет на общих основаниях чего-нибудь качнуть через спутник и алиас 192.168.0.4 - для приема почтовых коннектов. Проброс почтовых коннектов делать на 192.168.0.4. Исходящие пакеты с 192.168.0.4 транслировать в реальный адрес почтовика и через ipfw fwd насильно заворачивать на землю. Пакеты с адреса 192.168.0.104 обрабатывать по дефолту (наравне с другими юзерами локалки). SAY> Все вышеописанное работает (и не работает) с таким конфигом: SAY> ipfw add 10 divert 8888 ip from any to $ext_ip dst-port 25 via rl1 Заменить правило 10 на три: # входящие для почтовика ipfw add 10 divert 8888 ip from any to $ext_ip in recv rl1 # ответы почтовика ipfw add 11 divert 8888 ip from 192.168.0.4 to any in recv fxp0 # после трансляции ответы почтовика - в землю ipfw add 12 fwd $provider_rl1 ip from $exit_ip to any in recv fxp0 # остальные пакеты - как и раньше. SAY> ipfw add 30 divert 8668 ip from any to any via rl0 SAY> ipfw add 40 divert 8668 ip from any to any via tun0 SAY> ipfw add 50 allow ip from 192.168.100.59 to any via tun0 SAY> ipfw add 1000 allow ip from any to any Eugene -- Прекрасны тонко отшлифованная драгоценность; победитель, раненный в бою; слон во время течки; река, высыхающая зимой; луна на исходе; юная женщина, изнуренная наслаждением, и даятель, отдавший все нищим. (Дхарма) --- slrn/0.9.8.0 (FreeBSD) * Origin: Svyaz Service JSC (2:5006/1@fidonet) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/26093b132f4a5.html, оценка из 5, голосов 10
|