Маршрутизация двух провайдеров

Установка, настройка, поддержка
Aven
Сообщения: 168
Зарегистрирован: Чт сен 27, 2007 4:48 pm

Маршрутизация двух провайдеров

Сообщение 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

ran
Сообщения: 2298
Зарегистрирован: Вс окт 21, 2007 2:29 pm

Сообщение ran »

1.
# ip r
а

Код: Выделить всё

ip ro ls table T2
ip ro ls table T1
показать?

2. в результате я (ты) хочу:

а) балансировку каналов
б) резервирование каналов
в) раздельный роутинг по каким-то критериям... по каким?
г) мне просто скучно

нужное подчеркнуть

Aven
Сообщения: 168
Зарегистрирован: Чт сен 27, 2007 4:48 pm

Сообщение 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
А хочу я что бы работал реальник, когда маршрут по умолчанию лежит не на провайдера этого реальника :)

ran
Сообщения: 2298
Зарегистрирован: Вс окт 21, 2007 2:29 pm

Сообщение ran »

А хочу я что бы работал реальник, когда маршрут по умолчанию лежит не на провайдера этого реальника
нифига не понял... блин всё клещами нада вытягивать...

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

Aven
Сообщения: 168
Зарегистрирован: Чт сен 27, 2007 4:48 pm

Сообщение Aven »

:) Попробую объеснить... Раньше был только ADSL с реальником, на шлюзе настроен NAT в локалку (eth1), стоит Abills и Asterisk. Подключили еще одного провайдера, воткнул 3-ю сетевуху. Перенастроил шлюз по умолчания на этого нового провайдера. Реальник перестал пинговатся с инета, почесал я в голове и понял, что исходящий трафик уходит через шлюз по умолчанию, а не через интерфейс с которого пришел, поставил iproute2, прописал правила, пинги пошли, но к Asterisk подключится никто не может через реальник. Если переправить снова шлюз на 10.5.255.254, то нормализуется...

ran
Сообщения: 2298
Зарегистрирован: Вс окт 21, 2007 2:29 pm

Сообщение ran »

если тебе нада только возможность подключения к астериск через публичный ип значит нада:

1. днат нужного протокола/порта на астериск
2. роутинг ответного трафика астериска (с дначеного в 1 адреса/порта) через ppp0

Aven
Сообщения: 168
Зарегистрирован: Чт сен 27, 2007 4:48 pm

Сообщение Aven »

asterisk у меня на шлюзе, зачем днат?

ran
Сообщения: 2298
Зарегистрирован: Вс окт 21, 2007 2:29 pm

Сообщение ran »

Aven писал(а):asterisk у меня на шлюзе, зачем днат?
откуда я про это знаю? значит только 2.

пожуём...

1. убираем всё что ты там наворотил
2. создаём таблицу маршрутизации asterisk
3. ip ro add default dev ppp0 table asterisk
4. метим иптейблом трафик с порта астериска
5. заворачиваем помеченное через таблицу asterisk
Последний раз редактировалось ran Пн ноя 10, 2008 12:10 pm, всего редактировалось 1 раз.

Aven
Сообщения: 168
Зарегистрирован: Чт сен 27, 2007 4:48 pm

Сообщение Aven »

ran писал(а):откуда я про это знаю?
Я это выше написал, может не ясно :)
ran писал(а):значит только 2.
Впринципе это изначально было ясно, каким образом это реализуется?

ran
Сообщения: 2298
Зарегистрирован: Вс окт 21, 2007 2:29 pm

Сообщение ran »

см. выше

проглотим :D

Aven
Сообщения: 168
Зарегистрирован: Чт сен 27, 2007 4:48 pm

Сообщение Aven »

Хм... это получается будет работать только для трафика с asterisk. А можно сделать это для всех сервисов работающих на шлюзе?

ran
Сообщения: 2298
Зарегистрирован: Вс окт 21, 2007 2:29 pm

Сообщение ran »

3. ip ro add default dev ppp0 table asterisk
ну корректно разумеется... из скрипта поднятия ппп ифейса

Код: Выделить всё

ip ro replace default dev $IFNAME table asterisk
ещё жевать нада? :lol:

ran
Сообщения: 2298
Зарегистрирован: Вс окт 21, 2007 2:29 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

ran
Сообщения: 2298
Зарегистрирован: Вс окт 21, 2007 2:29 pm

Сообщение ran »

если непонятно:

всё ИСХОДЯЩЕЕ С РУТЕРА пойдёт через таблицу мэйн ПО ДЕФОЛТОВОМУ РУТУ через eth2
всё ОТВЕТНОЕ С РУТЕРА пометится и по метке завернётся в другую таблицу где ДЕФОЛТОВЫМ РУТОМ пойдёт через ппп

Aven
Сообщения: 168
Зарегистрирован: Чт сен 27, 2007 4:48 pm

Сообщение Aven »

ran, как я понял помечаем новые пакеты уходящие через eth2 (default gw) и роутим потом только их через ppp0, но я попрежнему не понимаю смысл того что описано тут или тут, как я первоначально и настроил, там не используется пакетный фильтр для установки меток и после настройки так все впринципе работает, кроме asterisk который использует UDP транспорт. Причем тот же самый DNS сервер работает нормально (проверялось nslookup с коннектом на реальник)

Ответить