今回は新入社員研修の一環として、ナレッジステアを書こうという事で作成しました。
テーマは「ARPとは何?」で、経緯としては先輩方からARP、特にGARPをよく使うとの事で、この機会に勉強しながら書いてみようと思い、本記事では以下の事をまとめました。
1.ARPとは何か
2.ARPテーブルについて
3.コマンドを使って実践
目的・・
ARPを知らない方がこの記事を見て、一通りの知識を得て、更に知識を深める足がかりとなる記事を目指します。
目次
ARPとは何か
ARPは「Address(住所) Resolution(解決) Protocol(プロトコル)」、の略で「アープ」と呼ばれます。役割としてはIPアドレスを手掛かりにMACアドレスを見つけようとする際に使用されます。
流れとしては、同一セグメント上の各機器にARPリクエストがブロードキャストされ、ARPリクエスト内のIPアドレスと一致した機器のみがARPリプライとして回答をユニキャストで返します。
どんな種類があるか
ARPは全部で4種類あり、ARP・RARP・GARP・ProxyARPでそれぞれ機能が異なります。
ARP・・
IPアドレスを手掛かりに、そのIPアドレスに対応したMACアドレスを見つけます。
Reverse ARP・・
MACアドレスを手掛かりにMACアドレスに対応したIPアドレスを見つけます。
Gratuitous-ARP・・
自身に設定されているIPアドレスを使用した自発的なARP。(業務でよく使うとの事)
例1・自身のIPアドレスが重複していないかの確認。(IPアドレスを設定後に実施)
例2・同一セグメント上のARPキャッシュの更新
(Act-Stbの冗長構成などでマスター機が切替わった事を通知)
ProxyARP・・
ルーターが異なるセグメント宛てのARP要求に対し、対象のIPアドレス宛のルートを知っていれば、その対象のIPアドレスの代わりにARP応答を返す機能です。
※ARPキャッシュ・・ARPテーブルの別名
ARPテーブルについて
ARPを行う際に、何度も問い合わせを行わなくても済むように、回答を一時的に記録しておく表がARPテーブルです。尚、ARPテーブルには有効期限があり、期限が来ると破棄され、再度問い合わせる必要があります。
表示方法
環境・・
AlmaLinux 8.7
コマンド・・
ip n又はip neigh show
ARPテーブルの見方
構成・・
- IPアドレス
- dev 自ノードのインターフェース名
- lladdr MACアドレス
- ステータス STALE(更新してからしばらく経っていますよ)
- REACHABLE(最近更新されましたよ)
現在このLinuxサーバはMACアドレスを4つ知っているという事が分かります。
コマンドを使って実践
実際に各種類のARPを実践します。
環境図
※Proxy ARPとRARPは検証環境の都合上、今回は割愛します。
ARPの実践
目的・サーバー03でサーバー04のIPアドレスに対応したMACアドレスを求めます。
使用コマンド・・
arping -c(送信回数) IPアドレス
IPアドレスに紐づいているMACアドレスが表示されました。
GARPの実践
手動の場合
目的・・
サーバー03で使用するIPアドレスの重複が無いか確認
使用コマンド・・
arping -D -c (送信回数) -I インターフェース名 IPアドレス
※―DはIPアドレスの重複検知 -Iはインターフェースが複数ある際に指定します。単体しかなければ省略しても問題ありません。
サーバー04で該当のIPアドレスを使用している為、返答が来ました。
存在しないIPアドレスだと・・・・
誰も使っていないので返答がありません。
IPアドレス変更の場合
目的・・
ネットワークマネージャーを使用してserver03のIPアドレスを変更した際にGARPが使用されている事の確認
ネットワークマネージャーを起動
使用コマンド・・
nmtui
IPアドレスを変更
設定したインターフェースの再起動
使用コマンド・・
nmcli con up インターフェース名
サーバー04からtcpdumpを用いて再起動時のパケットを確認
(一部抜粋・必要に応じてtcpdumpをインストール)
使用コマンド・・
tcpdump -I インターフェース名 (プロトコルの指定)
※今回は分かり易くする為にgrepで必要な部分のみ表示しています。
パケットから「172.23.61.163を持っている機器はあるのか?あれば172.23.61.163へ伝える事」と読み取れます。
GARPの特徴として、重複を確認するIPアドレスと回答を返すIPアドレスが同じになります。つまりIPアドレスを変更する際の機能の1つとしてGARPが組み込まれている事が分かります。
ARPを学んで・・・
ARPは知識としては知っていましたが具体的にどの様に扱うのかをこの機会に実践しながら学び、改めてARPの用途、仕組み、種類などを知りました。その上で業務ではなぜ必要なのかを考える良い機会になりました。
参考
【図解】GARP の機能や仕組み 〜 Linux での動作やciscoでの設定〜
FortiGateのGARP(Gratuitous ARP)の送信タイミングについて検証してみた!
「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典
記載されている会社名、システム名、製品名は一般に各社の登録商標または商標です。
当社製品以外のサードパーティ製品の設定内容につきましては、弊社サポート対象外となります。