Не проходит Ping -I eth0 64.233.167.99

Аватар пользователя As

Что-то странное происходит может кто объяснит.
У меня скрипт на переключение провайдеров по пингу.
При загрузке ASPlinux (default gw xxx.xxx.0.1) пингую коммандой
ping -I eth1 64.233.167.99
пинг проходит
ping -I eth0 64.233.167.99
пинг не проходит
как только я меняю default gw коммандой
route del default gw xxx.xxx.0.1 dev eth1
route add default gw ххх.ххх.1.1 dev eth0
пингую коммандой
ping -I eth0 64.233.167.99
пинг проходит
ping -I eth1 64.233.167.99
пинг не проходит
Почему Ping проходит только на одной сетевой карте даже если у меня стоят два defaul gw

Аватар пользователя IsakovAN

Не проходит Ping -I eth0 64.233.167.99

As писал(а):
Почему Ping проходит только на одной сетевой карте даже если у меня стоят два defaul gw

Пакет идет оп первому правилу, которому он соответствует. Какая разница скольким еще правилам он соответствует? Он уже отправлен! Не отправлять же второй экземпляр! Улыбка
Что вас смущает?

Аватар пользователя As

Не проходит Ping -I eth0 64.233.167.99

Просто я тогда не смогу проверить работу канала через Ping одновременно 2-х провайдеров.
Я правильно понимаю или можно что нибудь сделать?

Аватар пользователя IsakovAN

Не проходит Ping -I eth0 64.233.167.99

As писал(а):
Просто я тогда не смогу проверить работу канала через Ping одновременно 2-х провайдеров.

Вам надо пинговать шлюзы провайдеров. При этом до маршрута по умолчанию должны быть прописаны маршруты на эти шлюзы.

Аватар пользователя As

Re: Не проходит Ping -I eth0 64.233.167.99

Это понятно что шлюз провайдера. Но мне нужно пинговать другой хост.

Аватар пользователя IsakovAN

Не проходит Ping -I eth0 64.233.167.99

As писал(а):
Это понятно что шлюз провайдера. Но мне нужно пинговать другой хост.

Это почему вы так уверены? Улыбка

Аватар пользователя BigAndy

Не проходит Ping -I eth0 64.233.167.99

Правило такое: второй дефроут сработает, если первый дефроут - интрефейс упадет.
А пинг не проходит, потому что не прописаны маршруты в явном виде.

Аватар пользователя IsakovAN

Не проходит Ping -I eth0 64.233.167.99

BigAndy писал(а):
Правило такое: второй дефроут сработает, если первый дефроут - интрефейс упадет.

Не упадет, а вы его отключите. Если интерфейс eth0 будет поднят - он будет использоваться. Даже если пинг до шлюза провайдера не проходит. Так что оно мало помогает.

BigAndy писал(а):
А пинг не проходит, потому что не прописаны маршруты в явном виде.

Так что вы от меня хотите? Чтобы я переписал IP-подсистему в соответствии с вашими представлениями? Улыбка
Я вам написал как сделать рабочий скрипт. Хотите сочинить свой - дерзайте! Потом похвастаетесь. Улыбка

Аватар пользователя As

Re: Не проходит Ping -I eth0 64.233.167.99

У меня скрипт работает, когда я ставлю шлюз провайдеров. Но бывает и так что шлюз провайдера работает а инета нет. Вот и хочу пинговать какой нибудь хост, который дальше провайдера находится. У меня уже получилось
но почему то идет фильтрация ICMP пакетов.

У меня 3-ри сетевухи. На одной eth2 сетка на остальных eth1 и eth0 интернет.

[root@rtr network-scripts]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
xxx.xxx.1.0 * 255.255.255.240 U 0 0 0 eth1
192.168.0.176 * 255.255.255.240 U 0 0 0 eth2
xxx.xxx.0.0 * 255.255.255.224 U 0 0 0 eth0
169.254.0.0 * 255.255.0.0 U 0 0 0 eth2
default xxx.xxx.1.1 0.0.0.0 UG 0 0 0 eth1
default xxx.xxx.0.1 0.0.0.0 UG 0 0 0 eth0

Когда меняю default gw скриптом в котором прописаны комманды
route del default gw xxx.xxx.1.1 dev eth1
route del default gw xxx.xxx.0.1 dev eth0
route add default gw xxx.xxx.1.1 dev eth1
route add default gw xxx.xxx.0.1 dev eth0

то после этого появляется ICMP Paket filter но инет работает

[root@rtr ~]# ping -I eth1 google.com
PING google.com (72.14.207.99) from xxx.xxx.1.2 eth1: 56(84) bytes of data.
From xxx.xxx.0.1 icmp_seq=1 Packet filtered
From xxx.xxx.0.1 icmp_seq=2 Packet filtered
From xxx.xxx.0.1 icmp_seq=3 Packet filtered

--- google.com ping statistics ---
3 packets transmitted, 0 received, +3 errors, 100% packet loss, time 9005ms

[root@rtr ~]# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT icmp -- anywhere anywhere

Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT all -- 192.168.0.176/28 anywhere
ACCEPT all -- anywhere 192.168.0.176/28
ACCEPT all -- xxx.xxx.1.0/29 xxx.xxx.0.0/27
ACCEPT all -- xxx.xxx.0.0/27 xxx.xxx.1.0/24

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT icmp -- anywhere anywhere

Почему идет фильтрация, когда правилами icmp разрешен.
А когда рестартиш сеть
[root@rtr sysconfig]# /etc/init.d/network restart
icmp начинает проходить нормально

Аватар пользователя IsakovAN

Не проходит Ping -I eth0 64.233.167.99

As писал(а):
Почему идет фильтрация, когда правилами icmp разрешен.
А когда рестартиш сеть
[root@rtr sysconfig]# /etc/init.d/network restart
icmp начинает проходить нормально

Фильтрация не у Вас, а у провайдера. Приглядитесь к IPшнику ICMP ответов. Происходит отправка пакетов с IPшником eth1 с сетевухи eth0. Вот провайдер и отвергает пакеты с чужого IP. Покажите route после смены маршрутов.

Аватар пользователя BigAndy

Не проходит Ping -I eth0 64.233.167.99

IsakovAN писал(а):
Так что вы от меня хотите? Чтобы я переписал IP-подсистему в соответствии с вашими представлениями?

Э-э-эм?
Я хочу?? Мне честно говоря пофик.
Но второй дев\фроут воспрянет после того, как первый ляжет. Без разницы - вы его положите, или шнур выдернется.

Аватар пользователя As

Re: Не проходит Ping -I eth0 64.233.167.99

Точно скорее всего так и есть. Что же я раньше не догодался.

[root@rtr ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Ifac
xxx.xxx.1.1 * 255.255.255.248 U 0 0 0 eth1
192.168.0.176 * 255.255.255.240 U 0 0 0 eth2
xxx.xxx.0.1 * 255.255.255.224 U 0 0 0 eth0
default xxx.xxx.0.1 0.0.0.0 UG 0 0 0 eth0
default xxx.xxx.1.1 0.0.0.0 UG 0 0 0 eth1

А как же теперь это обойти. С другим провайдером проблем нет.

Аватар пользователя BigAndy

Не проходит Ping -I eth0 64.233.167.99

As писал(а):
А как же теперь это обойти. С другим провайдером проблем нет.

Добавить статический маршрут.

Аватар пользователя IsakovAN

Не проходит Ping -I eth0 64.233.167.99

As писал(а):
А как же теперь это обойти. С другим провайдером проблем нет.

Надо обходной маневр сделать:
Выбираете ДВА хоста в инете. Пишите статические маршруты на них с РАЗНЫХ сетевух.
Далее через соответствующую сетевуху пингуете их.

Аватар пользователя As

Re: Не проходит Ping -I eth0 64.233.167.99

это как?
route add ...

Аватар пользователя IsakovAN

Не проходит Ping -I eth0 64.233.167.99

В "man route" есть множество примеров:
route add -net 192.56.76.0 netmask 255.255.255.0 dev eth0
Допустим вы выбрали сервера 1.2.3.4 и 5.6.7.8
Надо сделать:
route add -host 1.2.3.4 netmask 255.255.255.255 dev eth0
route add -host 5.6.7.8 netmask 255.255.255.255 dev eth1
Пинговать так:
ping 1.2.3.4 -I eth0
ping 5.6.7.8 -I eth1

Аватар пользователя BigAndy

Не проходит Ping -I eth0 64.233.167.99

Есть еще кривой вариант установить mdnsresponder. Чисто виндовозный.

IsakovAN писал(а):
ping 1.2.3.4 -I eth0
ping 5.6.7.8 -I eth1

А без указания интерфеса, что, пинг не пойдет?

Аватар пользователя IsakovAN

Не проходит Ping -I eth0 64.233.167.99

BigAndy писал(а):
Есть еще кривой вариант установить mdnsresponder. Чисто виндовозный.

Хм. А zeroconf то зачем сюда?

BigAndy писал(а):
А без указания интерфеса, что, пинг не пойдет?

Должен пойти. Но так - солиднее. Да и нагляднее. Улыбка

Аватар пользователя As

Re: Не проходит Ping -I eth0 64.233.167.99

Прописал но только если gw пропишиш тогда работает
route add -host 1.2.3.4 netmask 255.255.255.255 dev eth0 gw xxx.xxx.0.1
route add -host 5.6.7.8 netmask 255.255.255.255 dev eth1 gw xxx.xxx.1.1

Аватар пользователя IsakovAN

Re: Не проходит Ping -I eth0 64.233.167.99

As писал(а):
Прописал но только если gw пропишиш тогда работает

Ну так мегаскрипт ваш теперь нормально работает? Улыбка

Аватар пользователя BigAndy

Не проходит Ping -I eth0 64.233.167.99

Теперь вооще кошеро будет прописать все это в /etc/sysconfig/network-scripts/route-
Улыбка

Аватар пользователя As

Re: Не проходит Ping -I eth0 64.233.167.99

Теперь он обязан работать. Ping ведь идет как надо. ОГРОМНОЕ СПАСИБО!!!
А как правильно нужно сделать чтобы скрипт автоматически запускался при старте машины?
И еще, а правильно будет если я это
route add -host 1.2.3.4 netmask 255.255.255.255 dev eth0 gw xxx.xxx.0.1
route add -host 5.6.7.8 netmask 255.255.255.255 dev eth1 gw xxx.xxx.1.1
пропишу в /etc/rc.d/rc.local

Аватар пользователя IsakovAN

Re: Не проходит Ping -I eth0 64.233.167.99

As писал(а):
А как правильно нужно сделать чтобы скрипт автоматически запускался при старте машины?

Вам надо создать сервис по образцу тех, что храняться в /etc/init.d
Если лень, то можно прописать в /etc/inittab. Только осторожно!

As писал(а):
route add -host 1.2.3.4 netmask 255.255.255.255 dev eth0 gw xxx.xxx.0.1
route add -host 5.6.7.8 netmask 255.255.255.255 dev eth1 gw xxx.xxx.1.1
пропишу в /etc/rc.d/rc.local

Это не самое лучшее решение. Лучше засуньте маршруты в настройки интерфейсов при помощи system-config-network(или как его там? Улыбка) или непосредственно в кофиг как рекомендует

BigAndy писал(а):
еперь вооще кошеро будет прописать все это в /etc/sysconfig/network-scripts/route-

Аватар пользователя As

Re: Не проходит Ping -I eth0 64.233.167.99

С сервисом что-то не понятно.Где бы почитать как его создают?

у меня нет этого файла
/etc/sysconfig/network-scripts/route

Аватар пользователя IsakovAN

Не проходит Ping -I eth0 64.233.167.99

As писал(а):
С сервисом что-то не понятно.Где бы почитать как его создают?

Просто скопируйте файл другово сервиса и замените начинку на запуск/останов своего скрипта.

As писал(а):
у меня нет этого файла
/etc/sysconfig/network-scripts/route

BigAndy, это по вашей части! Улыбка

Аватар пользователя BigAndy

Не проходит Ping -I eth0 64.233.167.99

IsakovAN писал(а):
у меня нет этого файла
/etc/sysconfig/network-scripts/route

И не должно быть
Заметте, я говорил о файле "/etc/sysconfig/network-scripts/route-"
Поскольку я не знаю какой интерфейс Вы поднимаете, подставте правильное значение.
В принциппе, роутинг можно прописывать и в новой нотации (GATEWAY0=192.168.8.1
NETMASK0=255.255.255.0
ADDRESS0=10.219.10.0
)
и в старой (например как в iproute2: ip route replace default dev 'your_dumby_interface')

Аватар пользователя IsakovAN

Re: Не проходит Ping -I eth0 64.233.167.99

BigAndy писал(а):
IsakovAN,
Цитата:

Опять мне слова приписываете?! Блюёт

BigAndy писал(а):
Поскольку я не знаю какой интерфейс Вы поднимаете

eth0 и eth1. Ниже же было написано.

BigAndy писал(а):
В принциппе, роутинг можно прописывать и в новой нотации (GATEWAY0=192.168.8.1
NETMASK0=255.255.255.0
ADDRESS0=10.219.10.0
)
и в старой (например как в iproute2: ip route replace default dev 'your_dumby_interface')

Даже я не понял что куда прописать надо! Точнее "вкуривал" минуты три. Катается от смеха
Пожалуйста, пожалейте человека - напишите подробнее.

Аватар пользователя BigAndy

Re: Не проходит Ping -I eth0 64.233.167.99

IsakovAN писал(а):
Опять мне слова приписываете?!

Мда.... Что-то опера (или жаба скрипт) квотируют из самого старшего сообщения....

IsakovAN писал(а):
Даже я не понял что куда прописать надо! Точнее "вкуривал" минуты три.

А что не понятно: Чуть выше идет ссылка на:

Цитата:
Заметте, я говорил о файле "/etc/sysconfig/network-scripts/route-"

Аватар пользователя IsakovAN

Не проходит Ping -I eth0 64.233.167.99

BigAndy писал(а):
А что не понятно

Вы видите я там конкретные маршруты человеку писал? Не могли бы вы ему написать более подробно на примере одного из них, типа: "создайте файл такой-то и в нем то-то напишите"?
Я бы и сам написал, но в ASP несколько лет не работал, накосячу ведь наверняка! Улыбка

Аватар пользователя BigAndy

Re: Не проходит Ping -I eth0 64.233.167.99

IsakovAN писал(а):
Не могли бы вы ему написать более подробно на примере одного из них, типа: "создайте файл такой-то и в нем то-то напишите"?

Да наверное мог бы, но как правило я подсказываю путь решения проблеммы, а не рецепт:

1) Мой рецепт может содержать ошибки, а путь уже пройден и проверен и os-независим.
2) В следующи раз пользователь, не разобравшись с коренной проблеммой и не найдя способов решения опять будет задавать подобные вопросы.
Тем более, что данных которые я дал, уже избыок. Настрока маршрутизации - это основа любой сетевой ОС, а реализация и синтаксис - уже дело десятое. Вы посказали правильную реализацию, а я, где копать с наименьшими затратами.

Аватар пользователя As

Re: Не проходит Ping -I eth0 64.233.167.99

Тут вот ссылку нашел
http://forum.nikcity.com/showpost.php?s=75fb75a84bb34af4b1d83bc72c5088e1...
Все сделал, все работает. Побольше бы таких шаблонов. Очень удобно.

route-
и такого файла тоже нет

Аватар пользователя BigAndy

Re: Не проходит Ping -I eth0 64.233.167.99

As писал(а):
route-
и такого файла тоже нет

Вы это серьезно? Или шутите?

Что у вас ls /etc/sysconfig/network-scripts/route* выводит?

Да
Кроме того man chkconfig рассказывает о том же, что и вэтой статье.

Аватар пользователя As

Re: Не проходит Ping -I eth0 64.233.167.99

[root@rtr ~]# ls /etc/sysconfig/network-scripts/route*
ls: /etc/sysconfig/network-scripts/route*: Нет такого файла или каталога

у меня скрипт написан на Shell. Он запускается коммандой sh и висит(т.е. работает) пока не нажмеш Ctrl + C
а если я запускаю как службу тогда не работает

Аватар пользователя BigAndy

Re: Не проходит Ping -I eth0 64.233.167.99

As писал(а):
# ls /etc/sysconfig/network-scripts/route*
ls: /etc/sysconfig/network-scripts/route*: Нет такого файла или каталога

ХМ, какая система?

у меня initscripts 8.11.1

ls /etc/sysconfig/network-scripts/route*
/etc/sysconfig/network-scripts/route-eth0
/etc/sysconfig/network-scripts/route-eth0_res
/etc/sysconfig/network-scripts/route-ppp0
/etc/sysconfig/network-scripts/route-ppp0_res
/etc/sysconfig/network-scripts/route-pptp0
/etc/sysconfig/network-scripts/route-pptp0_res
.....................................................................

Аватар пользователя As

Re: Не проходит Ping -I eth0 64.233.167.99

BigAndy писал(а):
ХМ, какая система?

извините не понял

Аватар пользователя BigAndy

Re: Не проходит Ping -I eth0 64.233.167.99

Какая ОСЬ?, имя, версия, версия initscripts

Аватар пользователя IsakovAN

Re: Не проходит Ping -I eth0 64.233.167.99

As писал(а):
у меня скрипт написан на Shell. Он запускается коммандой sh и висит(т.е. работает) пока не нажмеш Ctrl + C
а если я запускаю как службу тогда не работает

А по-подробнее можно? Зазипуйте ваш скрипт и прикрепите к топику.

Аватар пользователя As

Re: Не проходит Ping -I eth0 64.233.167.99

Прикрепил

Версия
[root@rtr rc.d]# uname -a
Linux rtr 2.6.19-1.2288.2.4.0.112asp #1 Wed Mar 7 19:57:02 EET 2007 i686 i686 i386 GNU/Linux
версия initscripts - такого файла вообще нет

ВложениеРазмер
hotchannel.zip 986 байт
Аватар пользователя BigAndy

Re: Не проходит Ping -I eth0 64.233.167.99

As писал(а):
версия initscripts - такого файла вообще нет

Тогда установите.
Хотя я не понимаю, как без initscripts подымеются сетевые интерфейсы и пр...

Если у вас АСП11.2, то initscripts будет 8.11 из репоитария и, как минимум,8.5 с диска.

А зачем было мутить все то, что в скриптах?
А стандартным iproute2 не проще? Да и процессорного времени намного меньше сожрет...
Кроме того стандартными средствами удастья балансировать нагрузку не только на быстрых интерфейсах, но и на ppp, (например, при подключении по gprs или на каналах с большой задержкой. А если у вас будет теряться 50% пакетов??? И системы мониторинга стандартным образом прикрутить можно (например, тиволи)

Аватар пользователя As

Не проходит Ping -I eth0 64.233.167.99

BigAndy писал(а):
Тогда установите.

А как установить initscripts

iproute2 надо попробовть

Аватар пользователя BigAndy

Не проходит Ping -I eth0 64.233.167.99

As писал(а):
А как установить initscripts

#rpm -ivh

RSS-материал