Вход

Как заставить работать пинг по маршруту?

Бесплатная операционная система с открытым кодом и безграничными возможностями. Прикоснись к простой и гибкой системе и она навсегда останется с тобой.

Модератор: AxeL

Сообщение Гость 19 декабря 2012 в 15:18

У кого пинг по роутингу (по хопам) работает?
ip хоста - 192.168.2.4, роутеров - 192.168.2.201 и 192.168.2.202 (подключены к разным провайдерам),
Роутинг по умолчанию - через 192.168.2.202
(route del default && route add default gw 192.168.2.202)
ping www.yandex.ru - работает
Пишу
ping 192.168.2.202 www.yandex.ru - получаю фиг
ping 192.168.2.201 www.yandex.ru - тоже, и даже
ping 192.168.2.202 78.36.32.1 (78.36.32.1 - следующий за 192.168.2.202 адрес по traceroute)

ОС - ubuntu 10.04.4 с последними апдейтами.
Роутеры обычные, домашние, типа DIR-100 (в NAT режиме).

Полностью проблема - нужно иметь fallback роутинг, при пропадании канала через 192.168.2.202 - переходить на 192.168.2.201, с возратом по восстановлению, оповещением и выполнением дополнительных операций.
Хотел ограничится написанием скрипта с пингом через один и второй роутеры, но что-то упёрся...
0
Легенда форума

СообщениеЛегенда форума Yurii Yurii 0
Оставил 6195 сообщений с 19 мар 2007
ФР: 209060
19 декабря 2012 в 16:25

а по интерфейсу (ping -I 192.168.2.201 www.yandex.ru)
не то?


http://www.thegeekstuff.com/2009/11/ping-tutorial-13-effective-ping-command-examples/
Ping Example 14. Specify path for ping to send the packet

You can also specify through which path the ping should send the packet to destination.
$ ping hop1 hop2 hop3 .. hopN destination
$ ping 192.168.3.33 192.168.7.1 192.168.4.45

Note: If one of the hop in the path is not reachable then you will have failure in pinging.
0

Сообщение Гость 20 декабря 2012 в 11:47

Yurii писал(а):а по интерфейсу (ping -I 192.168.2.201 www.yandex.ru)
не то?


Не, не то.
ip интерфейса в линуксе - 192.168.2.4.
192.168.2.201 и 192.168.2.202 - ip внешних коробок.
Предсказуемо получаю bind: cannot assign reqested address.
Плодить виртуальные интерфейсы и подсети не хочется.


Yurii писал(а):
http://www.thegeekstuff.com/2009/11/ping-tutorial-13-effective-ping-command-examples/
Ping Example 14. Specify path for ping to send the packet

You can also specify through which path the ping should send the packet to destination.
$ ping hop1 hop2 hop3 .. hopN destination
$ ping 192.168.3.33 192.168.7.1 192.168.4.45

Note: If one of the hop in the path is not reachable then you will have failure in pinging.

Доку читал, делаю по доке - НЕ РАБОТАЕТ.

# traceroute www.yandex.ru
1 192.168.2.202
2 78.36.32.1
3 212.48.195.148
...

# ping 192.168.2.202 78.36.32.1
^C
...
5 pakets transmitted, 0 recieved, 100% packet loss, time 4016ms

# ping -I 192.168.2.4 192.168.2.202 78.36.32.1
^C
...
8 pakets transmitted, 0 recieved, 100% packet loss, time 7005ms


# route
...
default 192.168.2.202 0.0.0.0 UG 0 0 0 eth0

Этот пинг через хопу хопы хоть у кого-нибудь работает????
Сейчас буду ставить 12.04, может там починили...
0
Легенда форума

СообщениеЛегенда форума Yurii Yurii 0
Оставил 6195 сообщений с 19 мар 2007
ФР: 209060
20 декабря 2012 в 12:49

что-то я попутал

по интерфейсу это
ping -I eth0 www.yandex.ru
если в один системник они воткнуты то поможет...

Хотя как понял не вариант...
0

Сообщение Гость 20 декабря 2012 в 19:44

У кого пинг по роутингу (по хопам) работает?
сети сто лет назад видел краем глаза, но имею мнение, что чтоб это провернуть рутеры должны подерживать маршрутизацию от источника. source routing обычно отрублен по дефолту и все такие пакеты (с source routing в опциях) идут в никуда. Причем даже если ваши родные рутеры (192.168.2.201 и 192.168.2.202) их пропустят, то на 78.36.32.1 они моментально друпнуться из соображений безопасности. Т.е. скорее всего надо на 192.168.2.201 и 192.168.2.202 эти пакеты засуть в mangle(если у Вас там iptables) и там их зачистить от source routing.

Как это сделать не знаю т.к. очень далек от всего этого.
0
Легенда форума

СообщениеЛегенда форума Yurii Yurii 0
Оставил 6195 сообщений с 19 мар 2007
ФР: 209060
20 декабря 2012 в 20:06

Легче тогда пинговать внутренние ресурсы провайдера...

Хотя если отвалились внешние... снова проблема...

А с веб-интерфейса девайса пинговать можно?
и потом изврат типа http://kimkarus.ru/docsharp/208-2012-08-19-07-04-23

А через телнет что устройство умеет?
0

Сообщение гость2 20 декабря 2012 в 21:15

А через телнет что устройство умеет?
+1. сам хотел написать, но забыл. не помню модели, но точно помню, что лет 5-7 назад на каком-то простой длинковской адсл рутер умел пинг из коробки.
0
Ветеран

СообщениеВетеран askh askh -1231
Оставил 4281 сообщений с 20 авг 2012
ФР: 367151
WWW
21 декабря 2012 в 01:13

Гость писал(а):Полностью проблема - нужно иметь fallback роутинг, при пропадании канала через 192.168.2.202 - переходить на 192.168.2.201, с возратом по восстановлению, оповещением и выполнением дополнительных операций.
Хотел ограничится написанием скрипта с пингом через один и второй роутеры, но что-то упёрся...

Вариант: в роутерах явно есть свои DNS-серверы. А если проверять некий адрес через тот или другой DNS (например: «host -W 2 ya.ru. 192.168.2.201»)? Конечно, ответ DNS-сервера может кешироваться, но вообще не факт. Я провёл эксперимент — запросил у ADSL-модема адрес ya.ru., он выдал, потом отключил телефонный кабель, повторил запрос, и уже не получил ответа. Конечно, нужно посмотреть как ведёт себя конкретная модель, но наверное им нет смысла тратить ресурсы на кеширование ответов — их у роутера мало, зачем тратить их на то, что всё равно делает операционная система на компьютере?

Ну а оценивать результат по коду возврата команды host (проверил — после удачного запуска host переменная $? содержала 0, после неудачного — 1).
0

Сообщение Гость 21 декабря 2012 в 04:41

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

Сообщение Гость 21 декабря 2012 в 11:29

За информацию о влиянии source routing спасибо, мой моск спасён.
За способ с host - тоже спасибо, похоже это вполне удовлетворительное решение, сейчас попробую оформить.
Писать реализацию общения через web-интерфейс коробок - очень уж тоскливо.

За мысль применить двухпортовый роутер - НЕ спасибо, каналы заведены в разные здания, солидно удаленные географически, сейчас соединение через оптику, нарезанную внутри на VLAN и подсети.
К тому же один из каналов - ADSL. :)
Наконец, надежность одной коробки, что однопортовой, что двух - две девятки (условно, я с рулеткой не стоял), а двух независимых коробок - три-четыре девятки.

Коробки будут заменены на более солидные, но потом.
0

Сообщение Гость 12 сентября 2013 в 18:48

Сделать избирательный пинг через тот или иной гейт таки можно, ключик - policy-based routing.

Заводим ТРИ ip - один для маршрута по умолчанию, второй для первого isp, второй для второго (например, 192.168.2.4, 192.168.2.14 и 192.168.2.24 ), прописываем две дополнительные таблицы маршрутизации (условие на приходящий с гейта, условие на исходящий ip и дефолтный маршрут для таблицы) - и вуаля,
ping -I 192.168.2.14 ya.ru ходит через один гейт, ping -I 192.168.2.24 ya.ru - через другой

Короче, ловите:

linux:
192.168.2.4 ip для дефолтного роутинга
192.168.2.14 ip для ISP1 (форвардим порты с коробки "ISP1" сюда)
192.168.2.24 ip для ISP2 (форвардим порты с коробки "ISP2" сюда)

Коробка "ISP1" - 192.168.2.201 + NAT
Коробка "ISP2" - 192.168.2.202 + NAT

/etc/iproute2/rt_tables
11 ISP1
12 ISP2


/etc/network/interfaces

up ip route add default via 192.168.2.201 table 11
up ip rule add from 192.168.2.201 table 11 pref 90 fwmark 11
up ip rule add from 192.168.2.14 lookup ISP1 pref 91

# ISP2:
up ip route add default via 192.168.2.202 table 12
up ip rule add from 192.168.2.202 table 12 pref 92 fwmark 12
up ip rule add from 192.168.2.24 lookup ISP2 pref 93


ping -I 192.168.2.14 ya.ru
ping -I 192.168.2.24 ya.ru

traceroute -s 192.168.2.14 -n ya.ru
traceroute -s 192.168.2.24 -n ya.ru


Тема поднималась пользователем Гость Чт сен 12, 2013 17:48.
0



Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2