Proxy ARPの概要と設定
今回の授業は、「Proxy ARP」という機能について教えていこうと思います。これを知らないことでトラブルになってしまうことってよくあるので、しっかりと学んでおきましょう!出来たら自宅ラボを作って、検証してみるとより深く理解できると思いますよ。
【自宅ラボのススメ】
Contents
Proxy ARPの概念
Proxy ARPとは、ARPの代理応答をしてくれる機能ことです。と、突然言われてもわかりませんよね。ですので、1つずつ分割して考えてみましょう。
Proxyとは
よくWEBアクセスする際に使用されるのに、プロキシサーバというのがあります。各パソコンやタブレットが直接WEBアクセスすると端末の情報が流れてしまったり、ウィルス感染するリスクが高まったりしてしまうので、プロキシサーバというものを設置し、そのサーバにWEB情報を取ってきてもらうことができます。そうすることで、セキュリティを高めるポイントを1箇所にまとめてしまうのです。100台のパソコンを脅威から守るよりも、1台のプロキシサーバを守る方が楽ですよね?このように複数台のパソコンやタブレットからの通信を一挙にまとめて代理通信させるような機能のことを「プロキシ」と言います。
ARPとは
ARPとは、以前の授業でも教えましたが、IPアドレスとMACアドレスを紐付ける機能のことを言います。例えば、以下の構成で、『10.10.100.1』というIPアドレスを持つパソコンと通信したい場合、それに紐付くMACアドレスをルータ2は、探し出す必要があります。そうすると、『10.10.100.0/24』に属しているVlan10に「『10.10.100.1』のアドレスを持っている方いませんかー?」と、問い合わせをします。そこで、IPアドレスを持っている『パソコンB』は、「僕だよー!」って言いながら自分のMACアドレス『CC-CC-CC-CC-CC-CC』を回答するのです。このような動作をするプロトコルのことをARPと言います。
忘れてしまった方は、こちらで再度勉強してみてください。
Proxy ARPとは
この『Proxy』と『ARP』を組み合わせてみるとなんとなく見えてくるかもしれませんね。『Proxy ARP』とは、ARP問い合わせに対する代理応答をする機能なのです!!って言われても、まだイマイチですね。なかなか言葉だけで解説していても、なかなか伝わらないと思うので、図で解説していこうと思います。自宅ラボがある方は実際に組んでみると、もっとわかりやすくなるのでやってみてください。
お勉強構成
それでは、Proxy ARPを以下のような構成で勉強してみたいと思います。
事前設定
それでは、事前設定をしていきます。Proxy ARPの勉強が出来ればいいので難しい設定はせずに、ルーティングはスタティックルートにしたいと思います。
インターフェイス設定
まずは、インターフェイス設定からですね。お勉強構成を確認しながら設定していきましょう。(今回は、わざとProxy ARPの設定を無効にしています。)
【RT1】
RT1(config)#interface Loopback0
RT1(config-if)#ip address 10.1.1.1 255.255.255.255
RT1(config-if)#interface FastEthernet0
RT1(config-if)#ip address 10.10.1.1 255.255.255.0
【RT2】
RT2(config)#interface FastEthernet0
RT2(config-if)#ip address 10.10.1.2 255.255.255.0
RT2(config-if)#interface Vlan10
RT2(config-if)#ip address 10.10.100.254 255.255.255.0
RT2(config-if)#no ip proxy-arp
RT2(config-if)#interface FastEthernet2
RT2(config-if)#switchport access vlan 10
ルーティング設定
続いてルーティング設定に入ります。スタティックで設定していきたいと思いますので、以下の感じで設定してみてください。
【RT1】
RT1(config)#ip route 10.10.100.0 255.255.255.0 10.10.1.2
【RT2】
RT2(config)#ip route 0.0.0.0 0.0.0.0 10.10.1.1
ルーティング確認
それでは、一応、ルーティングテーブルを確認しておきましょう。コネクトルートとスタティックルートだけなので、すごいシンプルに見えるかと思います。
【RT1】
RT1#show ip route
10.0.0.0/8 is variably subnetted, 3 subnets, 2 masks
C 10.1.1.1/32 is directly connected, Loopback0
C 10.10.1.0/24 is directly connected, FastEthernet0
S 10.10.100.0/24 [1/0] via 10.10.1.2
【RT2】
RT2#show ip route
10.0.0.0/8 is variably subnetted, 1 subnets, 1 masks
C 10.10.1.0/24 is directly connected, FastEthernet0
S* 0.0.0.0/0 [1/0] via 10.10.1.1
疎通試験
この状態でパソコンから疎通試験を実施してみましょう。当然ですが、通信が出来るようになっているはずです。
【Ping結果】
C:\Users\bell>ping 10.1.1.1
10.1.1.1 に ping を送信しています 32 バイトのデータ:
10.1.1.1 からの応答: バイト数 =32 時間 =1ms TTL=254
10.1.1.1 からの応答: バイト数 =32 時間 =1ms TTL=254
10.1.1.1 からの応答: バイト数 =32 時間 =1ms TTL=254
10.1.1.1 からの応答: バイト数 =32 時間 =1ms TTL=25410.1.1.1 の ping 統計:
パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
最小 = 1ms、最大 = 1ms、平均 = 1ms
デフォルトゲートウェイの設定誤り
それでは、パソコンでデフォルトゲートウェイの設定を間違ってみたらどうなるでしょうか?以下のようにパソコンの設定を変更してみてください。
すると、以下のような結果になっていたら、想定通りです。「当たり前じゃん!」と思われるかもしれませんが、これをパソコンの設定を変えずに解消する方法があるんです。
【Ping結果】
C:\Users\bell>ping 10.1.1.1
10.1.1.1 に ping を送信しています 32 バイトのデータ:
10.10.100.1 からの応答: 宛先ホストに到達できません。
10.10.100.1 からの応答: 宛先ホストに到達できません。
10.10.100.1 からの応答: 宛先ホストに到達できません。
10.10.100.1 からの応答: 宛先ホストに到達できません。10.1.1.1 の ping 統計:
パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
Proxy ARP投入
それでは、設定変更をしていきたいと思います。変更対象機器は、ルータ2になります。
【RT2】
RT2(config)#interface Vlan10
RT2(config-if)#ip proxy-arp
たったこれだけです。「そんなはずないよ〜」と思われる方は、是非試してもらいたいです。きっと先程と同じこんな結果になるはずです。
C:\Users\bell>ping 10.1.1.1
10.1.1.1 に ping を送信しています 32 バイトのデータ:
10.1.1.1 からの応答: バイト数 =32 時間 =1ms TTL=254
10.1.1.1 からの応答: バイト数 =32 時間 =1ms TTL=254
10.1.1.1 からの応答: バイト数 =32 時間 =1ms TTL=254
10.1.1.1 からの応答: バイト数 =32 時間 =1ms TTL=25410.1.1.1 の ping 統計:
パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
最小 = 1ms、最大 = 1ms、平均 = 1ms
ARPテーブルの確認
僕はwindowsを使っているので、コマンドプロンプトを立ち上げて『arp -a』と入力すると以下のようなARPテーブルが表示されるはずです。(MACアドレスは、変更しています。)
C:\Users\bell>arp -a
10.10.10.254 bb-bb-bb-bb-bb-bb 動的
10.10.100.254 bb-bb-bb-bb-bb-bb 動的
これでもわかるように、先程誤って設定してしまったデフォルトゲートウェイ『10.10.10.254』と、本当のデフォルトゲートウェイ『10.10.100.254』が同じMACアドレス(bb-bb-bb-bb-bb-bb)になっていることがわかりますね。このようになるのは、ルータ2に『ip proxy-arp』が有効になっていることと、実際に『10.10.100.254』宛のルートを持っていることが条件になります。今回は、ルータ2でデフォルトルートをルータ1向けに設定しましたよね?これがあるため、デフォルトゲートウェイの設定が間違っていても通信が可能になるのです。
Proxy ARPの危険性
ここまでくると、「じゃあ、とりあえずProxy ARP入れておけばいいじゃん!」って思われるかもしれませんが、そんなことはないんです。デフォルトルートを持っている機器で、Proxy ARPを有効にしてしまうと、すべての通信に対してARP応答しようとしてしまいます。そうなると、ARPテーブルは肥大化してしまい、無駄にリソースを消費してしまうことになります。
しかし、Cisco機器ではデフォルトでProxy ARPが有効になっているため、Configに表示されない場合があります。そこで機器を別のメーカー機器に更改すると、無効化されてしまいデフォルトゲートウェイを誤っていても通信できていたパソコンが使えなくなってしまうようなことがよくあります。ネットワークエンジニアとしては端末のアドレス設定なんて見れないことが多いので、よくはまる落とし穴にとなります。そんなことがないように、機器の更改などを行う際は、よく確認するようにしましょう。
まとめ
今回の授業はいかがでしたか?有資格者でも、あまり深く理解せずに通り過ぎてしまう方を見かけます。ネットワークエンジニアとして仕事をしていると、きっと出会うことがあるトラブルだと思います。しっかり理解しておくことで、トラブルを避けたり、早期発見・解決につながると思いますので、一度、試してみてください。
【ノンエンジニアのための社内ネットワーク施工・構築ガイド】
![]() |
ノンエンジニアのための社内ネットワーク施工・構築ガイド 20~40人規模のLAN環境を自分で作ろう (Do IT Yourself) 新品価格 |
【マスタリングTCP/IP 入門編】
![]() |
新品価格 |
【インフラ/ネットワークエンジニアのためのネットワーク技術&設計入門】
![]() |
インフラ/ネットワークエンジニアのためのネットワーク技術&設計入門 新品価格 |
“Proxy ARPの概要と設定” に対して1件のコメントがあります。