# 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 link リンク状態をmonitorします。admin状態の辺かも検知します。 ``` トリガとなるコマンド例 sudo ip link set down dev enp1s0f0np0 ``` ``` 出力例 3: enp1s0f0np0: mtu 1500 qdisc mq state DOWN group default link/ether b8:3f:d2:0f:d7:ee brd ff:ff:ff:ff:ff:ff 3: enp1s0f0np0: mtu 1500 qdisc mq state UP group default link/ether b8:3f:d2:0f:d7:ee brd ff:ff:ff:ff:ff:ff ``` ### 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 (未記載)