LINUX.ORG.RU
ФорумAdmin

ping не через маршрут по умолчанию


0

1

есть сервак на Slackware 13.0, раздающий инет. Три интерфейса:

eth0 - Основной провайдер
eth1 - Локальная сеть
eth2 - Резервный провайдер

Есть скрипт, который по крону раз в пять минут кидает пинги на ya.ru для проверки доступности через eth0:

«ping -c4 -I eth0 www.ya.ru».

Если не пингуется, то происходит переписывание Default Gateway на резерный канал и т.п. . Это все работает. Но вот если основной канал упал и подключен резервный канал, то даже при появлении инета на основноим канале ping выдает

PING ya.ru (87.250.250.3) from xxx.xxx.xxx.xxx eth0: 56(84) bytes of data
From xxx.xxx.xxx.xxx icmp_seq=2 Destination Host Unreachable
From xxx.xxx.xxx.xxx icmp_seq=3 Destination Host Unreachable
From xxx.xxx.xxx.xxx icmp_seq=4 Destination Host Unreachable

--- ya.ru ping statistics ---
4 packets transmitted, 0 received, +3 errors, 100% packet loss, time 3030ms , pipe 3

Приходится вручную возвращать на основного провайдера, но и то не понятно, когда уже основной канал стал опять работоспособным.
Выполнять проверку пингуя шлюз провайдера не подходит. Как показала практика, при падении основного канала сам шлюз чаще всего пингуется, а дальше уже нет.

★★★
Ответ на: комментарий от anonymous

вообщем смысл как проверить доступность инета не через интерфейс, на который установлен Default Gateway

deys ★★★
() автор топика

Policy based routing + ping -m?

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

> Во FreeBSD кажется есть ключ -S, где можно указать ip адрес с которого будет идти ping.

Ага... Только толку от того ? src ip никак не повлияет, если только не использовать несколько таблиц маршрутизации в зависимости от src ip.

AS ★★★★★
()

надо примерно так

 
ip r add default via <gw1> tab 10
ip r add default via <gw2> tab 11 
ip rule add from <ip1> tab 10 prio 100
ip rule add from <ip2> tab 11 prio 101 

далее уже

ping -c4 -I <ip1> ya.ru

ping -c4 -I <ip2> ya.ru

будут пинговать через первого или второго провайдера, независимо от того какой роут прописан в таблице main

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

спасибо, «route add <ip1 в инете> gw <ip gw1>» оказалось именно тем, что нужно

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