ヤマハルータ―で学ぶProxy ARP

ヤマハルータ

この記事では、ヤマハルーターを通じて
ProxyARP機能について学びたいと思います。

YCNE(ヤマハネットワーク技術者認定試験)
受験される予定の方にもお勧めな内容になっていると
思います。

ProxyARPとは、どんな挙動をするのかを実機で設定して
検証してみようと思います。

まず、ProxyARPの意味ですが
本来の機器に変わって代理でARP応答を行う
という意味になります。

では、ARPとはなにかですが、
ネットワークでの端末同士が通信をする時に
相手のMACアドレスを知る必要があります。

例えば、下図の左側の端末から右側の端末
IPアドレス192.168.100.2に通信を行う場合、
左側の端末より、192.168.100.2のMACアドレスはなんですか?
という問い合わせがされます。

画像

その問い合わせに対して、192.168.100.2である右側の端末が
自信のMACアドレスが何番ですよ。と回答します。

画像

このように自動的にMACアドレスを調べて取得する仕組みのことを
ARPと言います。

ARPがどんなものか理解したところで、今回の検証環境をご紹介します。

RTX830がインターネット接続していて、リモートアクセスVPNサービスを
提供しています。

画像

外部から、リモートアクセスVPNで接続した端末から
RTX830のLAN側にある192.168.100.30に対して
pingを実行するという検証を行います。

画像

この時、RTX830にProxyARPの設定があるかないかで
どのような違いが出てくるかを検証しています。

実機で動作を確認してみると、

まずは、RTX830にProxyARPの設定がない状況で
外部からリモートアクセスVPNで接続し、
192.168.100.30へpingを実施しますが、応答がありません。

次にRTX830にProxyARPの設定ありにした後に、同じくpingをすると、
192.168.100.30へのpingの応答がくるようになりました。

ヤマハルーターへのProxy ARP設定の具体的なコマンドは
ip lan1 proxyarp on
になります。

これは、今回の検証環境をより簡略化して示したものですが、

画像

まず外部からRTX830に対してリモートアクセスVPNで接続します。
すると接続端末に対して、RTX830より、IPアドレス192.168.100.2が割り当てられます。

画像

そして、接続端末より、RTX830のLAN側の192.168.100.30に
対してpingを実行したわけですが,

画像

RTX830にProxyARP設定ありなしで、どのように通信が変わってくるのかを
実際の通信を192.168.100.30の端末でWireSharkを使ってパケットキャプチャしてみました。

画像

その通信データですが、
ProxyARP設定がない場合、

画像

192.168.100.2から192.168.100.30に対してping のrequest
が来ていることが確認できます。
pingを受けた端末は、192.168.100.2に対して、応答がしたいので
ARPで、192.168.100.2のMACアドレスを調べようとします。
who has 192.168.100.2? Tell 192.168.100.30
という通信が発生していることがわかります。
ただ、この問い合わせに対する応答がないため、
pingの返事が出来ないという状況になってしまっています。

ProxyARPの設定ありにした後は、

画像

192.168.100.2から192.168.100.30に対してping のrequest後、
192.168.100.2のMACアドレスを調べようとするARPに対して
192.168.100.2 is at MACアドレスという応答があり、
その後、192.168.100.30より、192.168.100.2へpingのreplyが
されていることがわかります。

もう一度、図で見ていくと、pingを受けた後、
ARPでMACアドレスを問い合わせますが、

画像

ProxyARP設定がない場合、pingを実行した
192.168.100.2は、実際は、同一ネットワークセグメントに
接続されているわけではないので、そのARPに答えることは
出来ません。結果pingの応答はないということになります。

ProxyARP設定後は、ARPの問い合わせに対して
MACアドレスは、これですよ。という応答を
ヤマハルーターが返してくれています。

画像

このAC:44:F2で始まるMACアドレスは、ヤマハルーターの
MACアドレスです。

ヤマハルーターのコンソールにて、show enviromentコマンドを実行すると
MACアドレスが確認できますが、Wiresharkでパケットキャプチャして
確認したMACアドレスと同一であることがわかります。

画像

ちなみに、MACアドレスの前半分をベンダーコードと言い、
製造メーカによって決まっているものですが、
AC:44:F2は、ヤマハネットワーク製品のベンダーコードです。

192.168.100.2のMACアドレスの問い合わせ対して、
RTX830が代理で自身のMACアドレスを答えることで、
pingが成功するようになりました。

Proxyとは代理という意味があり、はじめに説明した
Proxy ARPの意味
本来の機器に変わって代理でARP応答を行う
が実際にされていることがわかりました。

この記事の内容を動画にしたものはコチラ

コメント

タイトルとURLをコピーしました