Страница 1 из 2
Маршрутизация двух провайдеров
Добавлено: Пн ноя 10, 2008 8:50 am
Aven
Подключил второго провайдера, настроил роутинг, внешне даже работает, заработал доступ и пинги на все интерфейсы сервера без default gw, но КРИВО работает отправка исходящих UDP пакетов, если поставить default gw 10.5.255.254 то начинает нормально уходить через этот интерфейс, делаю 192.168.100.1 и через реальних не работает

Есть у кого-нить идеи?
Сервер: Gentoo Linux
Интерфейсы:
eth0 - к ADSL модему провайдера 1 ( IP не установлен )
eth1 - внутренняя локальная сеть ( 172.16.3.1/24 )
eth2 - кабель до провайдера 2 ( ip 192.168.100.10/24 gw 192.168.100.1 )
ppp0 - поднимается при подключении PPPoE через ADSL провайдера 1 ( ip 212.22.47.36/32 gw 10.5.255.254/32 )
Провайдер 2 дает дешевый инет, поэтому маршрут по умолчанию идет на него.
Как настроил роутинг:
# ip r
10.5.255.254 dev ppp0 proto kernel scope link src 212.22.47.36
10.0.0.0/24 via 192.168.100.1 dev eth2
172.16.3.0/24 dev eth1 proto kernel scope link src 172.16.3.1
172.16.0.0/24 dev eth0 proto kernel scope link src 172.16.0.1
192.168.100.0/24 dev eth2 proto kernel scope link src 192.168.100.10
192.168.0.0/16 via 192.168.100.1 dev eth2
127.0.0.0/8 dev lo scope link
default via 192.168.100.1 dev ppp0
# ip ru
0: from all lookup local
32764: from 212.22.47.36 lookup T2
32765: from 192.168.100.10 lookup T1
32766: from all lookup main
32767: from all lookup default
Добавлено: Пн ноя 10, 2008 10:08 am
ran
1.
# ip r
а
показать?
2. в результате я (ты) хочу:
а) балансировку каналов
б) резервирование каналов
в) раздельный роутинг по каким-то критериям... по каким?
г) мне просто скучно
нужное подчеркнуть
Добавлено: Пн ноя 10, 2008 10:27 am
Aven
Забыл свои таблицы
# cat /etc/iproute2/rt_tables
#
# reserved values
#
255 local
254 main
253 default
0 unspec
#
# local
#
#1 inr.ruhep
201 T1
202 T2
ptgate ~ # ip r l t T1
172.16.3.0/24 via 172.16.3.1 dev eth1
default via 192.168.100.1 dev eth2
ptgate ~ # ip r l t T2
172.16.3.0/24 via 172.16.3.1 dev eth1
default via 10.5.255.254 dev ppp0
А хочу я что бы работал реальник, когда маршрут по умолчанию лежит не на провайдера этого реальника

Добавлено: Пн ноя 10, 2008 10:38 am
ran
А хочу я что бы работал реальник, когда маршрут по умолчанию лежит не на провайдера этого реальника
нифига не понял... блин всё клещами нада вытягивать...
единственный более-менее разумный перевод этого бреда - ты хочешь чтобы когда лежит туннель с реальным ипом, всё валилось через eth2 но с реального ипа (который был бы если бы был поднят туннель)??? хотя это тоже полный бред...
Добавлено: Пн ноя 10, 2008 10:52 am
Aven

Попробую объеснить... Раньше был только ADSL с реальником, на шлюзе настроен NAT в локалку (eth1), стоит Abills и Asterisk. Подключили еще одного провайдера, воткнул 3-ю сетевуху. Перенастроил шлюз по умолчания на этого нового провайдера. Реальник перестал пинговатся с инета, почесал я в голове и понял, что исходящий трафик уходит через шлюз по умолчанию, а не через интерфейс с которого пришел, поставил iproute2, прописал правила, пинги пошли, но к Asterisk подключится никто не может через реальник. Если переправить снова шлюз на 10.5.255.254, то нормализуется...
Добавлено: Пн ноя 10, 2008 11:21 am
ran
если тебе нада только возможность подключения к астериск через публичный ип значит нада:
1. днат нужного протокола/порта на астериск
2. роутинг ответного трафика астериска (с дначеного в 1 адреса/порта) через ppp0
Добавлено: Пн ноя 10, 2008 11:37 am
Aven
asterisk у меня на шлюзе, зачем днат?
Добавлено: Пн ноя 10, 2008 12:02 pm
ran
Aven писал(а):asterisk у меня на шлюзе, зачем днат?
откуда я про это знаю? значит только 2.
пожуём...
1. убираем всё что ты там наворотил
2. создаём таблицу маршрутизации asterisk
3. ip ro add default dev ppp0 table asterisk
4. метим иптейблом трафик с порта астериска
5. заворачиваем помеченное через таблицу asterisk
Добавлено: Пн ноя 10, 2008 12:07 pm
Aven
ran писал(а):откуда я про это знаю?
Я это выше написал, может не ясно
ran писал(а):значит только 2.
Впринципе это изначально было ясно, каким образом это реализуется?
Добавлено: Пн ноя 10, 2008 12:11 pm
ran
см. выше
проглотим

Добавлено: Пн ноя 10, 2008 12:16 pm
Aven
Хм... это получается будет работать только для трафика с asterisk. А можно сделать это для всех сервисов работающих на шлюзе?
Добавлено: Пн ноя 10, 2008 12:18 pm
ran
3. ip ro add default dev ppp0 table asterisk
ну корректно разумеется... из скрипта поднятия ппп ифейса
Код: Выделить всё
ip ro replace default dev $IFNAME table asterisk
ещё жевать нада?

Добавлено: Пн ноя 10, 2008 12:32 pm
ran
А можно сделать это для всех сервисов работающих на шлюзе?
вот мозгоклюй... сразу низя сказать?
Код: Выделить всё
iptables -t mangle -A OUTPUT -o eth2 -m state --state NEW -j ACCEPT
iptables -t mangle -A OUTPUT -o eth2 -j MARK --set-mark $MARK
Добавлено: Пн ноя 10, 2008 12:38 pm
ran
если непонятно:
всё ИСХОДЯЩЕЕ С РУТЕРА пойдёт через таблицу мэйн ПО ДЕФОЛТОВОМУ РУТУ через eth2
всё ОТВЕТНОЕ С РУТЕРА пометится и по метке завернётся в другую таблицу где ДЕФОЛТОВЫМ РУТОМ пойдёт через ппп
Добавлено: Пн ноя 10, 2008 1:04 pm
Aven
ran, как я понял помечаем новые пакеты уходящие через eth2 (default gw) и роутим потом только их через ppp0, но я попрежнему не понимаю смысл того что описано
тут или
тут, как я первоначально и настроил, там не используется пакетный фильтр для установки меток и после настройки так все впринципе работает, кроме asterisk который использует UDP транспорт. Причем тот же самый DNS сервер работает нормально (проверялось nslookup с коннектом на реальник)