NATとプロキシARPの関係

この記事からの続き。構成を把握した前提で話が進むので注意。

iosv-3→iosv-1へpingを実行した場合、Src/Dstの関係は以下のようになる。

Inside(iosv-3→iosv-2)

  • 送信元:10.1.1.3
  • 宛先:10.1.1.1

outside(iosv-2→iosv-1)

  • 送信元:20.1.1.254
  • 宛先:20.1.1.1

今回のテーマ

Q: 10.1.1.1の変換前アドレスは20.1.1.1である。つまり10.1.1.1のARPを解決するためにはiosv-3→iosv-1でのARPが成功しなければならない。しかし、iosv-3,1は別セグメントにいるため理論的にはARPが失敗する。どうすればこの問題を解決できる?

A: iosv-2がiosv-1の代わりにiosv-3からのARPに応答している。

検証

コンフィグ

◎iosv-2のGigabitEthernet0/1(inside向きのインターフェース)でプロキシARPを無効にする。

iosv-2(config)#int gi0/1
iosv-2(config-if)#no ip proxy-arp

結果

pingが通らなくなる。

iosv-3#ping 10.1.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.1.1.1, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)

パケットキャプチャで確認

  • No.599からno ip proxy-arpが適用されている。
  • No.237-238では10.1.1.1のARPに対してiosv-2(50:18:00:02:00:01)がリプライを送信していたが、プロキシARPの無効化により、リプライがなくなりNo.599以降ARPが解決できなくなっている。

4.5 Network services