The OpenNET Project / Index page

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

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

"Разная маршрутизация в зависимости от source"  +/
Сообщение от s0me0ne email on 07-Июл-09, 13:45 
Доброго времени суток!
Сломал голову, как организовать маршрутизацию, но пока никак не могу придумать...
Есть хост со статическим ip на eth0. Соответственно default route идёт через eth0. Поднят pptp, соответственно, есть ppp0 со своим ip.
Задача (упрощённо): не меняя default route сделать так, чтобы пакеты, исходящие с ip интерфейса ppp0, маршрутизировались через ppp0 и не пытались заворачиваться через default route.
Путано как-то получилось, попробую на примере.
11.11.11.11 - адрес pptp-гейта
22.22.22.22 - p-t-p адрес интерфейса ppp0
33.33.33.33 - inet адрес интерфейса ppp0
99.99.99.99 - default route

Таблица маршрутизации сейчас выглядит примерно так:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
11.11.11.11     99.99.99.99     255.255.255.255 UGH   0      0        0 eth0
22.22.22.22     0.0.0.0         255.255.255.255 UH    0      0        0 ppp0
default         99.99.99.99     0.0.0.0         UG    0      0        0 eth0

Соответственно, если сделать wget -O - --bind-address=33.33.33.33 http://77.88.21.8/ - результат будет нулевой, хост пытается завернуть пакеты через default route. Однако если добавить route add -host 77.88.21.8 dev ppp0 - то wget само собой работает.
Делать отдельный route вручную или даже скриптом для каждого нужного коннекта очень не хочется. Вот где-то на этом этапе я и понял, что я чего-то не знаю о маршрутизации. HELP! ;)

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

 Оглавление

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


1. "Разная маршрутизация в зависимости от source"  +/
Сообщение от gvf (??) on 07-Июл-09, 14:03 
>Задача (упрощённо): не меняя default route сделать так, чтобы пакеты, исходящие с

Это не "задача",  сорс-роут это одно из решений той задачи которая перед тобой стоит.
Четче определи задачу. ЗАЧЕМ тебе сорс-роут.

Вариантов решения собственно задачи - много. В т.ч. и сорс роут.
А можно виртуальное окружение, а можно перенести ppp на другую тачку, а можно... и так далее.

Непонятно, также, у тебя два инетовских линка (через эзер и ппп) или один - только через ппп.

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

2. "Разная маршрутизация в зависимости от source"  +/
Сообщение от s0me0ne email on 07-Июл-09, 14:08 
>Непонятно, также, у тебя два инетовских линка (через эзер и ппп) или
>один - только через ппп.

Инетовский линк один - на eth0. pptp прокинут для того, чтобы сделать некоторое количество трафика российским с точки зрения хостера. На хосте крутятся скрипты, которые периодически wget-ом качают довольно большие объёмы, вот как раз этот wget надо зарулить через pptp. Качается всё время из разных источников, так что static route не прокатит. Разнести по разным машинам не получится - тогда будет дешевле оплачивать хостеру импортный трафик 8)

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

3. "Разная маршрутизация в зависимости от source"  +/
Сообщение от ALex_hha (ok) on 07-Июл-09, 14:34 
Что то типа

#!/bin/sh

IP1='xxx.xxx.xxx.xxx'
IF1='eth1'
P1='xxx.xxx.xxx.xxx'
P1_NET='xxx.xxx.xxx.xxx'

IP2='xxx.xxx.xxx.xxx'
IF2='ppp0'
P2='xxx.xxx.xxx.xxx'
P2_NET='xxx.xxx.xxx.xxx'

/sbin/ip route flush scope global

/sbin/ip route add $P1_NET dev $IF1 src $IP1 table P1
/sbin/ip route add default via $P1 table P1

/sbin/ip route add $P2_NET dev $IF2 src $IP2 table P2
/sbin/ip route add default via $P2 table P2

/sbin/ip route add $P1_NET dev $IF1 src $IP1
/sbin/ip route add $P2_NET dev $IF2 src $IP2

/sbin/ip route add default via $P1

/sbin/ip rule add from $IP1 table P1
/sbin/ip rule add from $IP2 table P2

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

4. "Разная маршрутизация в зависимости от source"  +/
Сообщение от PavelR (??) on 07-Июл-09, 15:25 
http://www.opennet.me/tips/info/2009.shtml
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Разная маршрутизация в зависимости от source"  +/
Сообщение от s0me0ne email on 07-Июл-09, 18:26 
Спасибо всем!
В каком направлении копать подсказали, дальше всё решилось просто:
# ip route add default via адрес_p-t-p_на_ppp0 table 100
# ip rule add from сеть_inet_на_ppp0/24 lookup 100

Всё что не заруливается явно через ppp0 - проваливается до default route на eth0. wget'у явно указываю, куда делать bind, и всё разруливается правильно.

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

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

Индекс форумов | Темы | Пред. тема | След. тема




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

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