Для перемещения по дереву справки используйте строки заголовка.

Справка по NSG Linux 2.1.6
Дерево команд: services.netping.…далее…

Что это такое?

Это настройка служб 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).

Что делать, если это не работает?

  1. Проверить вручную тестовые скрипты и скрипты для реагирования.
  2. См. журнал данного демона netping.

Примеры применения

Рестарт проблемного устройства. Некоторое устройство в сети может "зависать" и перестаёт отзываться на ping. Другой вариант — в сети имеется ненадёжный коммутатор, "зависание" которого приводит к потере связи с целевым хостом. В обоих случаях производится рестарт проблемного устройства по питанию с помощью контроллера NSG IC–2do–220/1, SPC–1 или SPC–2, подключённого к порту 1–Wire устройства NSG. Чтобы не вдаваться во внутреннюю номенклатуру портов в системе NSG Linux на данной модели, скрипт исполняет команды nsgsh в пакетном режиме. Для параметров ping используются значения по умолчанию.

Рестарт проблемных устройств с помощью netping.

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 большей метрикой) через сотовое соединение.

Контроль доступности заданного узла по каналу Ethernet MAN с помощью netping.

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:
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;"
Подробнее см. об особенностях работы NAT в данной ситуации.

© Network Systems Group 2015–2024 Отдел документации