レッスン内容
ほとんどのネットワーク学習者はARP(アドレス解決プロトコル)に慣れていますが、プロキシARPは必ずしもピンとこないでしょう。 このレッスンでは、プロキシARPがどのように機能するかを説明し、次のトポロジーを使用します。 10.1.1.0 /24 と 10.2.2.0 /24 です。 真ん中のルーターは、両方のサブネットに接続されています。
ホストをよく見ると、H1 には /24 のサブネットマスクがあり、H2 には /8 のサブネットマスクがあることがわかります。 H1が10.2.2.100のサーバに到達しようとすると、次のようになります。
- H1は自分のIPアドレスとサブネットマスクをサーバのIPアドレス(10.2.2.100)と比較して、サーバは別のサブネットにあると判断しました。
- H1はサーバへのパケットの送信先を自分のデフォルトゲートウェイ(10.
- H1 は ARP テーブルをチェックして 10.1.1.254 のエントリがあるかどうかを確認し、なければ ARP 要求を送信します。
- ルーターは ARP 要求に応答して、その FastEthernet 0/0 インターフェイスの MAC アドレスを送信します。
このようにARPは通常動作しますが、H2がサーバに向けてIPパケットを送信しようとすると、別のことが起こります。
- H2は自分のIPアドレスとサブネットマスクをサーバのIPアドレス(10.2.2.100)と比較して、サーバが同じサブネット内にあることを決定します。
- H2 は ARP テーブルをチェックして 10.2.2.100 のエントリがあるかどうかを確認し、ない場合は ARP 要求を送信します。
しかし、サーバーは 10.1.1.0 /24 サブネットになく、ルーターはブロードキャスト トラフィックを転送しないので ARP 要求はサーバーに到達しません。 しかし、すべての希望が失われたわけではありません…ここでプロキシ ARP が救助にやってきます!
プロキシ ARP がルーター上で有効になると、次のことが起こります:
- ルーターは 10.1.1.0 /24 サブネット上の H2 からの ARP 要求を見て、これが 10.2.2.0 の何かのための ARP 要求であると見抜きます。0 /24サブネット.
- ルータは、10.2.2.0 /24サブネットに到達する方法を知っていることに気付き、H2を助けるためにARPリクエストに応答することにしました.
- ルータはFastEthernet 0/0インタフェースでH2にMACアドレスを持つARP応答を送信します.
ここまで付いてきていますか?
Configuration
プロキシARPを実証するために、次のトポロジーを使用します:
これは、先ほど示した写真と同じですが、私は研究室のルータを使用しています。 ip routing」を無効にすることで、ルータを普通のホストデバイスにすることができます。 まず、R1, R2 とサーバでルーティングを無効にします:
H1, H2 & S1(config)#no ip routing
これらのデバイスでデフォルトゲートウェイを設定します:
H1 & H2(config)#ip default-gateway 10.1.1.254
S1(config)#ip default-gateway 10.2.2.254
必要な IP アドレスをすべて設定します:
H1(config)#interface fastEthernet 0/0H1(config-if)#ip address 10.1.1.1 255.255.255.0
H2(config)#interface fastEthernet 0/0H2(config-if)#ip address 10.1.1.2 255.0.0.0
S1(config)#interface FastEthernet 0/0S1(config-if)#ip address 10.2.2.100 255.255.255.0
ここで H2 で /8 サブネットマスクを使ったことに注意してください。 これがルータです:
R1(config)#interface FastEthernet 0/0R1(config-if)#ip address 10.1.1.254 255.255.255.0R1(config-if)#interface FastEthernet 0/1R1(config-if)#ip address 10.2.2.254 255.255.255.0
設定するのは以上です…作業を検証しましょう!
検証
プロキシARPをテストするために、まずH1からサーバへいくつかのトラフィックを送信して通常のARPがどのように見えるかを確認し、次にH2からサーバへいくつかのトラフィックを送信することにします。
Proxy ARP は、ここで見るようにデフォルトで有効になっています:
R1#show ip interface FastEthernet 0/0 | include Proxy Proxy ARP is enabled
何が起こっているかをリアルタイムで見るために、R1 で次のデバッグを使用します:
R1#debug arpARP packet debugging is on
ホスト A からサーバーへいくつかの ping を送信しましょう: