LINUX.ORG.RU
ФорумAdmin

Два провайдера - основной и резервный


0

1

Доброго времени суток, уважаемые господа. Встал следующий вопрос. Есть два провайдера: Prov1 Prov2

Нужно сделать так, чтобы когда прописан шлюз первого - пинговался IP первого, а когда был прописан шлюз второго - пинговался второй... Глупо на первый взгляд? Я тоже так думал, НО

route add default gw Prov1_GW

в итоге: Prov1 - пингуется Prov2 - не пингуется это хорошо, идем дальше...

route del default gw Prov1_GW

route add default gw Prov2_GW

Prov1 - пингуется!!!!

Prov2 - пингуется!!!!

а должен пинговаться ТОЛЬКО Prov2

при трассировках IP любого из провайдеров все идет как надо, один через другой не проскакивает. Система только что установлена, никаких маршрутов, iptables и еще чего-нибудь левого, что может влиять на это - нету!!!

Prov1, Prov2, «IP первого», «IP любого из провайдеров» - кто все эти люди?

Запустите tcpdump на разных интерфейсах и посмотрите что куда ходит.

ansky ★★★★★ ()

traceroute

или по модному mtr

если адреса дефаултов белые, то и будут пинговаться

psv1967 ★★★★★ ()

Тебе надо вдумчиво покурить LARTC до состояния полного просветления. Там это написано.
http://lug.ivanovo.ru/lartc/
Глава
4.2. Маршрутизация через несколько каналов/провайдеров.
Ну все что там рядом тоже полезно

gich ()
Ответ на: комментарий от gich

ИМХО, рано ему про LARTC говорить, похоже, что он вообще маршрутизацию не осилил...

route add default gw Prov1_GW


в итоге: Prov1 - пингуется Prov2 - не пингуется это хорошо, идем дальше...


Чтобы этот маршрут работал, должен быть маршрут до Prov1_GW, ага? И после удаления default gateway тот маршрут никуда не исчезнет. Так что пинг после удаления дефолтного маршрута - ни разу не мистика.

router ★★★★★ ()
Ответ на: комментарий от router

Так, постарась описать суть всего действия. Есть VPN сервер. Его суть такова:

eth0 - основной канал aa.aa.aa.aa/29

eth1 - резервный канал bb.bb.bb.bb/30

eth2 - локальная сеть cc.cc.cc.cc/24

Люди, сидят вообще в других городах, подключаются к aa.aa.aa.aa и работают с 1Ской, которая обращается к одному единственному компу в локальной сети. Но это не суть важно. Важно другое. При падении основного канала, у людей обрывается VPN подключение и они переподключаются на резервный канал. Все бы вроде хорошо, НО нужно сделать так, чтобы когда работает основной канал они не могли подрубиться на резервный! Соответственно даже пропинговать не могли резервный!!! Теперь по сути. Локальную сеть отбрасываем, нам она пока вообще не нужна!

ip route show

aa.aa.aa.aa/24 dev eth0 proto kernel scope link src aa.aa.aa.aa(IP основного)

bb.bb.bb.bb/30 dev eth1 proto kernel scope link src bb.bb.bb.bb(IP резервного)

ip rule show

0: from all lookup local

32764: from bb.bb.bb.bb lookup T2

32765: from aa.aa.aa.aa lookup T1

32766: from all lookup main

32767: from all lookup default

Т.е. в принципе не указываем ни одного дефолтного gw.

Теперь пробуем пропинговать IPшники обоих каналов. Если я все правильно понимаю, то ни одни не должен пинговаться... т.к. не указано ни одного шлюза по умолчанию...

ping aa.aa.aa.aa Превышен интервал ожидания для запроса.

ping bb.bb.bb.bb Ответ от bb.bb.bb.bb: число байт=32 время=7мс TTL=56

Просто непонятно ПОЧЕМУ????? Если подставить шлюз по умолчанию первого провайдера - будут пинговаться оба!!!

Voffking ()
Ответ на: комментарий от Voffking

Был косяк. В таблицу Т1 забыл загнать шлюз.... в итоге загнал.... и вообще ничего хорошоего:) Теперь без указания шлюза по умолчанию пингуются ОБА! :) Чувству нужен скрипт

Voffking ()
Ответ на: комментарий от Voffking

Да, скрипт! Ура! Блин, вот это я дал маху.... разобрался целиком и полностью!!!!!! Спасибо всем. надо больше спать :)

Voffking ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.