Linuxコマンド【ip neigh】ARPテーブル表示の見方やflush,Static ARPエントリ追加/削除の設定

ARPテーブル管理コマンド ip neigh

最近の Linux では ip 関連の操作コマンドは ip コマンドに切り替わっています。ARPテーブルの表示も ip コマンドのサブコマンド ip neigh を使って行うことができます。(ip nei だけでもいける)

ARP テーブルの表示

[root@localhost ~]# ip neigh
192.168.100.100 dev enp0s3 lladdr 60:6c:66:d1:9c:eb REACHABLE
192.168.100.1 dev enp0s3 lladdr b0:e5:ed:b6:27:04 STALE
fe80::b2e5:edff:feb6:2704 dev enp0s3 lladdr b0:e5:ed:b6:27:04 router STALE

IPv4だけでいい場合は以下

[root@localhost ~]# ip -4 neigh
192.168.100.100 dev enp0s3 lladdr 60:6c:66:d1:9c:eb REACHABLE
192.168.100.1 dev enp0s3 lladdr b0:e5:ed:b6:27:04 STALE

ARPテーブルの見方

右端は「エントリのIPアドレス」、devの横の enp0s3 は「ARPエントリのホストに繋がる自ノードのインタフェース名」、lladdr は Link-Layer-Address つまり MACアドレスを意味し、その横に「エントリのMACアドレス」が入ります。最後は STATE(状態)を表しています。

ARPによる更新が最近行われたばかり、もしくは自デバイスであれば REACHABLE になります。STALE は"腐ってる≒新鮮じゃない"という意味ですが ARP による更新を行ってから幾分か時間が経過している、というだけです。実際には疎通できていることがほとんどのはずです。

なお、ARPの保持時間などについては以下を参考にして下さい。

https://milestone-of-se.nesuke.com/nw-basic/ethernet/arp/

動的エントリのキャッシュ削除(flush)

ARP により学習したエントリは flush にて削除することができます。

[root@localhost ~]# ip neigh flush 192.168.100.1
[root@localhost ~]# ip -4 neigh
192.168.100.100 dev enp0s3 lladdr 60:6c:66:d1:9c:eb REACHABLE

固定エントリの追加

Static エントリを追加する場合は add を使います。

[root@localhost ~]# ip neigh add 192.168.100.2 dev enp0s3 lladdr 00:12:34:56:78:9a
[root@localhost ~]# ip -4 neigh
192.168.100.2 dev enp0s3 lladdr 00:12:34:56:78:9a PERMANENT
192.168.100.100 dev enp0s3 lladdr 60:6c:66:d1:9c:eb REACHABLE

STATE が PERMENENT であるエントリが追加されました。

固定エントリの削除

add と同じ要領で del を使います。dev だけ指定すればOK。

[root@localhost ~]# ip neigh del 192.168.100.2 dev enp0s3
[root@localhost ~]# ip -4 neigh
192.168.100.100 dev enp0s3 lladdr 60:6c:66:d1:9c:eb REACHABLE

man ページ

#man ip-neighbour

IT/インフラエンジニアの地位とスキル向上のために

関連記事

IT 技術の進化はとどまることを知りません。矢継ぎ早に新たな技術が出てきたり、数年前の技術が時代遅れになったりと、IT エンジニアは勉強し続ける運命のようです。 それをどう思うかはあなた次第。 ビジネスの基本は『付加価値を与える[…]

IMG
関連記事

nesuke の考える NW エンジニアの2つの道 ネットワークエンジニアには 2 つの道があります。 1 つはネットワーク構築一筋で、L4 までをひたすらきっちりと構築していく道。 もう 1 つはネットワークを軸として深堀し[…]

IMG