ipコマンド

monitor

詳しくはNETLINK, RTNETLINKなどを見ましょう。

monitor route (IPv4/IPv6対応)

経路の追加削除をmonitorします。

トリガとなるコマンド例
sudo ip route delete 10.1.1.1/32
sudo ip route add 10.1.1.1/32 via 192.168.101.2
sudo ip route add 2001:db8::/32 via fe80::dead:beed dev enp2s0
sudo ip route del 2001:db8::/32 via fe80::dead:beed
出力例
Deleted 10.1.1.1 via 192.168.101.2 dev enp2s0
10.1.1.1 via 192.168.101.2 dev enp2s0
2001:db8::/32 via fe80::dead:beed dev enp2s0 metric 1024 pref medium
Deleted 2001:db8::/32 via fe80::dead:beed dev enp2s0 metric 1024 pref medium

monitor neigh

ARP/NDテーブルのクエリをmonitorします。IPv4, IPv6が一緒に出てきます。

トリガとなるコマンド例
 > pingでもなんでも同一リンク上のアドレスにアクセス
192.168.101.50 dev enp2s0 lladdr 1c:83:41:00:00:00 REACHABLE
192.168.101.1 dev enp2s0 lladdr 14:eb:b6:00:00:00 STALE
192.168.101.49 dev enp2s0  FAILED
2400:beef:beef:f000::1 dev enp2s0  FAILED

monitor address

IPアドレスの付与・削除やRAで付与されたアドレスの再付与をmonitorします。RAが送られるたび出ます。

kanai@kanaipc1:~$ sudo ip addr add 10.0.0.1/28 dev enp1s0f0np0
kanai@kanaipc1:~$ sudo ip addr del 10.0.0.1/28 dev enp1s0f0np0
また`03:27:08.068173 IP6 _gateway > ip6-allnodes: ICMP6, router advertisement, length 96`を受けたタイミングでも出ます
3: enp1s0f0np0    inet 10.0.0.1/28 scope global enp1s0f0np0
       valid_lft forever preferred_lft forever

Deleted 3: enp1s0f0np0    inet 10.0.0.1/28 scope global enp1s0f0np0
       valid_lft forever preferred_lft forever

# 以下はRAを受けときのもの
2: enp2s0    inet6 2400:4050:aaaa:aaaa::beef/64 scope global dynamic mngtmpaddr noprefixroute
       valid_lft 300sec preferred_lft 300sec

monitor nsid

Network NameSpaceの作成を検知します。実際にI/Fがアサインされたときにnsidが割り当てられることに注意します。

トリガとなるコマンド例
sudo ip netns add pc2  # ここではなにも出ない
sudo ip link set enp1s0f1np1 netns pc2
sudo ip netns del pc2
nsid 0 (iproute2 netns name: pc2)
Deleted nsid 0 (iproute2 netns name: pc2)

monitor rule (未記載)

monitor mroute (未記載)

monitor nexthop (未記載)

monitor netconf (未記載)