|
|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Sergey A. Yakovets 2:5004/75.5088 17 Oct 2005 11:30:31 To : Eugene Grosbein Subject : Re^2: Извращенный роутинг + NAT --------------------------------------------------------------------------------
Мои бортовые системы запеленговали, что в 15 Окт 05 03:31, Eugene Grosbein
писал Sergey A Yakovets:
[...skipped...]
EG> Совсем недавно тут пробегал рецепт. Hадо на почтовом сервере
EG> иметь на интерфейсе два адреса, основной (пусть будет 192.168.0.104)
EG> на тот случай, если почтовик захочет на общих основаниях
EG> чего-нибудь качнуть через спутник и алиас 192.168.0.4 - для приема
EG> почтовых коннектов. Проброс почтовых коннектов делать на 192.168.0.4.
EG> Исходящие пакеты с 192.168.0.4 транслировать в реальный адрес
EG> почтовика и через ipfw fwd насильно заворачивать на землю. Пакеты с
EG> адреса 192.168.0.104 обрабатывать по дефолту (наравне с другими
EG> юзерами локалки).
EG>
SAY>> Все вышеописанное работает (и не работает) с таким конфигом:
SAY>> ipfw add 10 divert 8888 ip from any to $ext_ip dst-port 25
SAY>> via rl1
EG>
EG> Заменить правило 10 на три:
EG>
EG> # входящие для почтовика
EG> ipfw add 10 divert 8888 ip from any to $ext_ip in recv rl1
EG>
EG> # ответы почтовика
EG> ipfw add 11 divert 8888 ip from 192.168.0.4 to any in recv fxp0
EG>
EG> # после трансляции ответы почтовика - в землю
EG> ipfw add 12 fwd $provider_rl1 ip from $exit_ip to any in recv fxp0
EG>
EG> # остальные пакеты - как и раньше.
EG>
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
EG>
EG> Eugene
Что-то не получилось...
Еще раз, что у меня есть:
1) Интерфейс со спутникового приемника rl0 (оттуда идет инет)
2) Интерфейс с реальником rl1
3) Интерфейс запросов (туннель) до спутникового провайдера tun0
4) Интерфейс в локалку fxp0
Примем допущение, что почтовику ничего из инета качнуть не вздумается, и у
него только один адрес на карточке - 192.168.0.4, без алиасов.
Что я пытаюсь сделать и что не работает:
Запускаются две копии natd
natd -n tun0
natd -n rl1 -p 8888 -f /etc/natd.conf
Первая на интерфейсе tun0 (туннеле до провайдера) для приема и отправки
запросов в инет от юзеров локалки, вторая на интерфейсе rl1 для редиректа
портов. Параметры редиректа портов находятся в файле /etc/natd.conf
Теперь правила ipfw:
ipfw add 10 divert 8888 ip from any to 82.200.206.2 in recv rl1
ipfw add 11 divert 8888 ip from 192.168.0.4 to any in recv fxp0
ipfw add 12 fwd $ext_gw ip from $ext_ip to any in recv fxp0
ipfw add 30 divert 8668 ip from any to any via rl0
ipfw add 40 divert 8668 ip from any to any via tun0
ipfw add 50 allow ip from 192.168.100.59 to any via tun0
ipfw add 1000 allow ip from any to any
Маршрут по умолчанию стоит на 192.168.100.58 - адрес второго конца туннеля.
По логам вижу, что работает диверт снаружи, пробрасывает порт на локальный
почтовый сервер, сервер принимает запрос, отвечает, но ответ все равно уходит от
клиентского адреса туннеля 192.168.100.59 по интерфейсу tun0. Такое впечатление,
что его вторично дивертит правилом 40...
Что я неправильно делаю? Может диверт неправильно настроил или пакет для
форвардинга на наземный шлюз надо "ловить" на другом интерфейсе?
C уважением, Sergey A. Yakovets.
E-mail: for-transit@yandex.ru ICQ UIN: 165641526
... FaqServer 2:5088/50.50 Subj: %HELP %LIST
* Origin: "Емельянов" - это не фамилия, а диагноз... (2:5004/75.5088)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/472343533ab0.html, оценка из 5, голосов 10
|