The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Routing problems"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"Routing problems"  
Сообщение от kailex (ok) on 06-Июн-07, 19:49 
Linux-router (он же web-server и smtp-server) с интерфейсом в локальную сеть (eth0), и два канала ppp0(дорогой со стат. айпи) и ppp1(дешевый с динам. айпи).
Дефолтовый путь - через дешевый канал 1. И надо сделать так, чтоб трафик, генерируемый smtp-, web-серверами (которые находятся на самом роутере), шел через дорогой канал.
Например, чтоб попытаться завернуть трафик (рассылка) от моего сендмэйла на дорогой канал:
iptables -t mangle -I PREROUTING -p tcp -i ppp1 --dport 25 -j MARK --set-mark 1
или
iptables -t mangle -I PREROUTING -p tcp --dport 25 -j MARK --set-mark 1
ip rule add fwmark 1 table expensive
ip route add default via xxx.xxx.xxx.xxx dev ppp0 table expensive

Решение о маршрутизации пакетов, сгенерированных локольными приложениями, принимается до того, как их можно пометить, и переправить их на другой - невозможно (во всяком случае, я не понимаю как).
Укажите, плз, как решить эту проблему...

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

  • Routing problems, perece, 12:51 , 07-Июн-07, (1)  
    • Routing problems, kailex, 17:38 , 07-Июн-07, (2)  
      • Routing problems, kailex, 18:12 , 07-Июн-07, (3)  
        • Routing problems, kailex, 19:52 , 07-Июн-07, (4)  
          • Routing problems, perece, 20:21 , 07-Июн-07, (5)  
            • Routing problems, kailex, 20:27 , 07-Июн-07, (6)  
          • Routing problems, vbv, 19:27 , 16-Июн-07, (10)  
      • Routing problems, perece, 20:48 , 07-Июн-07, (7)  
        • Routing problems, Agressor, 16:20 , 16-Июн-07, (8)  
  • Routing problems, vbv, 19:22 , 16-Июн-07, (9)  

Сообщения по теме [Сортировка по времени, UBB]


1. "Routing problems"  
Сообщение от perece on 07-Июн-07, 12:51 
>Решение о маршрутизации пакетов, сгенерированных локольными приложениями, принимается до того, как их
>можно пометить, и переправить их на другой - невозможно (во всяком
>случае, я не понимаю как).
>Укажите, плз, как решить эту проблему...
а маршрутизировать по src ip - никак?
(ну и заставить сендмейл биндиться к соотв. интерфейсу/адресу)
а то так у вас еще одна проблема вылезет - даже если вы завернете этот трафик в ppp0, то src address все равно будет динамический от ppp1 (и обратный трафик пойдет через ppp1)
а вы, насколько я понимаю, в первую очередь добиваетесь как раз статического ip для таких соединений..
как вариант, кстати, можно использовать SNAT. пусть исходящий от вас поток летит с ppp1, но с правильным адресом. вернется через ppp0, разнатится и будет принято. все должно работать если только провайдер с дешевого канала за вас reversed route checking не делает

\^P^/

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Routing problems"  
Сообщение от kailex (ok) on 07-Июн-07, 17:38 
>>Решение о маршрутизации пакетов, сгенерированных локольными приложениями, принимается до того, как их
>>можно пометить, и переправить их на другой - невозможно (во всяком
>>случае, я не понимаю как).
>>Укажите, плз, как решить эту проблему...
>а маршрутизировать по src ip - никак?
>(ну и заставить сендмейл биндиться к соотв. интерфейсу/адресу)
>а то так у вас еще одна проблема вылезет - даже если
>вы завернете этот трафик в ppp0, то src address все равно
>будет динамический от ppp1 (и обратный трафик пойдет через ppp1)
>а вы, насколько я понимаю, в первую очередь добиваетесь как раз статического
>ip для таких соединений..
>как вариант, кстати, можно использовать SNAT. пусть исходящий от вас поток летит
>с ppp1, но с правильным адресом. вернется через ppp0, разнатится и
>будет принято. все должно работать если только провайдер с дешевого канала
>за вас reversed route checking не делает
>
Вы правильно меня понимаете. Только вот забиндить сендмейл к интерфейсу со стат. ай-пи не получается - слушать-то он его слушает и принимает вх. соединения по нему, а вот отправлять пытается по через default gw, т.е. через инт. с динам. айпи. А как в этом случае маршрутизировать по scr ip? Какой адрес у пакетов от локальных приложений?
Что касается второго случая, это должно быть что-то вроде
iptables -A POSTROUTING -o $PPP1 -dport 25 -j SNAT --to-source $IP_PPP0
iptables -A POSTROUTING -o $PPP1 -j SNAT --to-source $IP_PPP1
iptables -A POSTROUTING -o $PPP0 -j SNAT --to-source $IP_PPP0
и надо отключить проверку состояния соединения по RELATED & ESTABLISHED?
Но мне тако вариант не очень подходит, т.к. почта должна уходить быстро, а ppp1 по определению медленный.


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Routing problems"  
Сообщение от kailex (ok) on 07-Июн-07, 18:12 
Да, еще одну проблему обнаружил. Сейчас по умолчанию работает дорогой канал ppp0. Только меняю default gw на ppp1, все исходящие соединения понятно идут через ppp1. Зато если входящее соединение (например, к моему смтп на 25 порт) пытается идти через ppp0 со стат. ip, то соединение замирает на стадии первого syn и разрывается по таймауту, т.е. все сервисы просто не реагируют на входящие соединения через ppp0, и дело точно не в firewall.
Не пойму почему так происходит...


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Routing problems"  
Сообщение от kailex (ok) on 07-Июн-07, 19:52 
>Да, еще одну проблему обнаружил. Сейчас по умолчанию работает дорогой канал ppp0.
>Только меняю default gw на ppp1, все исходящие соединения понятно идут
>через ppp1. Зато если входящее соединение (например, к моему смтп на
>25 порт) пытается идти через ppp0 со стат. ip, то соединение
>замирает на стадии первого syn и разрывается по таймауту, т.е. все
>сервисы просто не реагируют на входящие соединения через ppp0, и дело
>точно не в firewall.
>Не пойму почему так происходит...
Блин, только что понял, что, к примеру, тот же smtp, если принимает вх. соединение через ppp0, то все равно отправляет его через шлюз по умолчанию ppp1 (((. Почему так происходит??

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Routing problems"  
Сообщение от perece on 07-Июн-07, 20:21 
>Блин, только что понял, что, к примеру, тот же smtp, если принимает
>вх. соединение через ppp0, то все равно отправляет его через шлюз
>по умолчанию ppp1 (((. Почему так происходит??
потому что так _должно_ происходить. где-то я тут это уже разжевывал. поищите про policy routing.

\^P^/

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "Routing problems"  
Сообщение от kailex (ok) on 07-Июн-07, 20:27 
>>Блин, только что понял, что, к примеру, тот же smtp, если принимает
>>вх. соединение через ppp0, то все равно отправляет его через шлюз
>>по умолчанию ppp1 (((. Почему так происходит??
>потому что так _должно_ происходить. где-то я тут это уже разжевывал. поищите
>про policy routing.
>
Решил последний вопрос таким образом
ip rule add from $IP_PPP0 table expensive
ip route add default via $IP_expensiveGW dev ppp0 table expensive


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

10. "Routing problems"  
Сообщение от vbv email(ok) on 16-Июн-07, 19:27 
>>Да, еще одну проблему обнаружил. Сейчас по умолчанию работает дорогой канал ppp0.
>>Только меняю default gw на ppp1, все исходящие соединения понятно идут
>>через ppp1. Зато если входящее соединение (например, к моему смтп на
>>25 порт) пытается идти через ppp0 со стат. ip, то соединение
>>замирает на стадии первого syn и разрывается по таймауту, т.е. все
>>сервисы просто не реагируют на входящие соединения через ppp0, и дело
>>точно не в firewall.
>>Не пойму почему так происходит...
>Блин, только что понял, что, к примеру, тот же smtp, если принимает
>вх. соединение через ppp0, то все равно отправляет его через шлюз
>по умолчанию ppp1 (((. Почему так происходит??


Потому что надо внимательно читать advanced ip route howto.
И дабы этого не происходило должны быть полными 2 таблицы и соответствующие рулесы
для выбора таблиц по провайдерам.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "Routing problems"  
Сообщение от perece on 07-Июн-07, 20:48 
>Только вот забиндить сендмейл к интерфейсу со стат.
>ай-пи не получается - слушать-то он его слушает и принимает вх.
>соединения по нему, а вот отправлять пытается по через default gw,
>т.е. через инт. с динам. айпи.
под "забиндить" я в данном случае понимал бинд исходящим сокетам, а не слушающим. по умолчанию сокет биндится к 0.0.0.0:0, что означает автовыбор и ip, и порта. и уже при дальнейшем использовании определяется, будет ли этот адрес/порт источником исходящего соединения, или же будет принимать входящие. теоретически возможен даже listen сокетом bind(0.0.0.0:0)..
если sendmail нельзя _сконфигурить_ чтобы он биндился исходящими к нужному ip, то его можно _хакнуть_ чтоб он делал это..
> А как в этом случае
>маршрутизировать по scr ip? Какой адрес у пакетов от локальных приложений?
в случае исходящего соединения с сокета с нулевым биндом src ip выбирается системой из числа опознаваемых ей как "свои" "наиболее оптимальным образом". алгоритм там сложный с кучей ньюансов, но в подавляющем большинстве случаев это будет ip того интерфейса, через который пакет вылетел (какой именно из них если на интерфейсе ip не один - это уже не так просто. по моему там маски сравниваются, хотя хз).
для того, чтобы по src ip маршрутизировать такие вещи нужен ненулевой бинд исходящего сокета.

\^P^/

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "Routing problems"  
Сообщение от Agressor (ok) on 16-Июн-07, 16:20 
Посмотри здесь, возможно поможет
http://wiki.opennet.ru/Linux_ppp-oe_%28ADSL%29_Balance
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. "Routing problems"  
Сообщение от vbv email(ok) on 16-Июн-07, 19:22 
>Linux-router (он же web-server и smtp-server) с интерфейсом в локальную сеть (eth0),
>и два канала ppp0(дорогой со стат. айпи) и ppp1(дешевый с динам.
>айпи).
>Дефолтовый путь - через дешевый канал 1. И надо сделать так, чтоб
>трафик, генерируемый smtp-, web-серверами (которые находятся на самом роутере), шел через
>дорогой канал.
>Например, чтоб попытаться завернуть трафик (рассылка) от моего сендмэйла на дорогой канал:
>
>iptables -t mangle -I PREROUTING -p tcp -i ppp1 --dport 25 -j
>MARK --set-mark 1
>или
>iptables -t mangle -I PREROUTING -p tcp --dport 25 -j MARK --set-mark
>1
>ip rule add fwmark 1 table expensive
>ip route add default via xxx.xxx.xxx.xxx dev ppp0 table expensive
>
>Решение о маршрутизации пакетов, сгенерированных локольными приложениями, принимается до того, как их
>можно пометить, и переправить их на другой - невозможно (во всяком
>случае, я не понимаю как).
>Укажите, плз, как решить эту проблему...


Блин каждый день одно и тоже.. Поиск по форуму:
http://www.opennet.me/openforum/vsluhforumID1/74353.html

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру