web-dev-qa-db-ja.com

FreeBSDインターフェースのアップ/ダウンモニタリング

FreeBSDの特定のインターフェースステータスについて通知を受ける方法は?

ifconfig <ifname> | grep "status: active" 

正常に動作しますが、ポーリングを避け、ifup/ifdownについてできるだけ早く通知したいと思います。

2
DmitryBond

devd(8)がそのトリックを実行します。インターフェイスでLINK_UPまたはLINK_DOWNイベントが発生した場合にアクションを実行するように設定する必要があります。 /etc/devd.confまたはそれ以上に追加されるサンプル構成では、/etc/devd/interface.confを作成します。

notify 0 {
    match "system"        "IFNET";
    match "subsystem"     "(em0|em1)";
    match "type"          "LINK_DOWN";
    action "/usr/local/sbin/notifier.sh $subsystem"
}

上記の構成は、インターフェースem0またはem1がダウンしたときに通知を受け取り、イベントの発生時にスクリプトを呼び出すことを前提としています。また、インターフェイス名(したがって、$subsystem)をスクリプトに渡します。

1
Babak Farrokhi

Devd(8)を介してアップ/ダウンイベントを監視できます。 LINK_UPイベントとLINK_DOWNイベントについてはdevd.conf(5)を確認してください。

0
citrin