Обработка сетевого подключения / отключения в (Debian) Linux

1391
vbence

Я хочу запустить скрипт, когда переключатель выключается, и другой, когда он идет вверх. Есть ли простой способ справиться с этим в Debian (желательно не с помощью системных инструментов)?

Я полагаю, что нет никакой разницы (с точки зрения ОС) между отключением кабеля Ethernet и отключением коммутатора.

В случае события я получаю такие строки в системном журнале:

Jun 15 17:49:41 debian kernel: [ 5506.956130] igb: eth1 NIC Link is Down ... Jun 15 17:49:45 debian kernel: [ 5511.168788] igb: eth1 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX 

В FreeBSD вы можете передавать сообщения журнала (предварительно отфильтрованные по шаблонам регулярных выражений) в программу. Какой самый простой способ воспроизвести это в Debian (используя как можно меньше дополнительного программного обеспечения)?

2

1 ответ на вопрос

2
Darth Android

Вы можете добавить pre-up, post-up, pre-downи post-downдирективы в ваш /etc/network/interfacesфайл для достижения этой цели.

Например:

auto eth0 iface eth0 inet static name Ethernet LAN card address 192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.255 network 192.168.1.0 gateway 192.168.1.254 post-up /etc/network/if-up.d/somescript.start 

В этой статье есть несколько дополнительных примеров.

Это не похоже на работу. Это не обнаружит потерю связи. Он будет вызван только в процессе вызова интерфейса, когда я наберу: `ifup eth0`. vbence 12 лет назад 1