Это настройка служб netping.
Чтобы проверять доступность заданных адресов в сети и выполнять заданные скрипты при потере и при восстановлении связи.
Создать демоны netping — по одному на каждый адрес, который требуется проверять. Для добавления демонов используйте команды +
, _new
или _insert
. Данный список является именованным и не упорядочивается автоматически. Для удаления используйте команду -
или _remove
.
В общем случае вместо ping могут использоваться также другие утилиты или скрипты (напр. traceroute с ключами -f
, -I
и -w
).
Возможна также настройка в режиме expert
— как последовательность демонов, выполняемых друг за другом в зависимости от кода завершения предыдущего демона.
Подробнее см. справку по вложенным узлам.
ПРИМЕЧАНИЕ. netping является, по существу, вспомогательным механизмом и ни в коей степени не предназначен для полной замены штатных механизмов контроля и управления: контроля аппаратного состояния ON/OFF интерфейсов, LCP Echo для соединений PPP/PPPoE/PPTP, других встроенных механизмов echo и keepalive для различных сетевых протоколов, протоколов динамической маршрутизации. Использовать его рекомендуется только в тех случаях, когда такие механизмы неприменимы (напр., некоторые сотовые операторы не отвечают на LCP Echo Request), не информативны (напр., сетевой интерфейс Ethernet всегда находится в состоянии UP, независимо от состояния физического порта, да и то малоинформативно), или работают некорректно (напр., известная особенность в работе OSPF поверх динамически создаваемых туннелей в маршрутизаторах Cisco Systems).
netping
.Рестарт проблемного устройства. Некоторое устройство в сети может "зависать" и перестаёт отзываться на ping. Другой вариант — в сети имеется ненадёжный коммутатор, "зависание" которого приводит к потере связи с целевым хостом. В обоих случаях производится рестарт проблемного устройства по питанию с помощью контроллера NSG IC–2do–220/1, SPC–1 или SPC–2, подключённого к порту 1–Wire устройства NSG. Чтобы не вдаваться во внутреннюю номенклатуру портов в системе NSG Linux на данной модели, скрипт исполняет команды nsgsh в пакетном режиме. Для параметров ping используются значения по умолчанию.
services : netping : : hw_restart : : : adm-state = "up" : : : description = "Restart this poopy piece of hardware once it hangs" : : : destination = "123.45.67.89" : : : failure-script = "nsgsh -q .port.1-wire.device.3A6E0E0100000062.circuit.A.drop"
Предполагается, что контроллер имеет аппаратный адрес 3A6E0E0100000062
. Подробнее о работе с устройствами 1–Wire...
Контроль доступности заданного узла по каналу Ethernet MAN. Банкомат штатно соединяется с процессинговым сервером по городской сети Ethernet. При отказе этого канала связи маршрут на процессинг через него удаляется и остаётся только резервный маршрут (c большей метрикой) через сотовое соединение.
ip : route : : 1 : : : device = "m1" : : : metric = 5 : : : network = "123.45.67.89/32" : : 2 : : : gateway = "98.76.54.29" : : : network = "123.45.67.90/32" : filter : : OUTPUT : : : 1 : : : : out-interface = "m1" : : : : destination = "123.45.67.90" : : : : target = "DROP" services : netping : : route_swap : : : adm-state = "up" : : : description = "Re-route ATM packets to 3G back-up" : : : destination = "123.45.67.90" : : : failure-script = "ip route del 123.45.67.89/32 via 98.76.54.29;" : : : restore-script = "ip route add 123.45.67.89/32 via 98.76.54.29;"
Поскольку посылать ping необходимо в канал Ethernet независимо от того, работает он или нет, то в качестве адреса назначения используется другой хост, по возможности максимально близкий к процессинговому серверу. Маршрут на этот хост, с маской /32
, всегда указывает в канал Ethernet.
Фильтр запрещает отправку пакетов контрольному хосту через интерфейс s1
. В противном случае возможна такая ситуация, что порт Ethernet физически отключён и маршрут через него пропадает, контрольные пакеты уходят в оставшийся маршрут по умолчанию — через сотовый интерфейс — и доходят до цели, в результате событие восстановления ping никогда не наступает и маршрут в основной канал никогда не восстанавливается.
ПРИМЕЧАНИЕ. Если на переключаемых интерфейсах используется NAT, то дополнительно рекомендуется при каждом переходе чистить его таблицы утилитой conntrack:Подробнее см. об особенностях работы NAT в данной ситуации.failure-script = "ip route del 123.45.67.89/32 via 98.76.54.29; conntrack -F;" restore-script = "ip route add 123.45.67.89/32 via 98.76.54.29; conntrack -F;"
© Network Systems Group 2015–2024 | Отдел документации |