# IP / ARP

IPアドレスから物理アドレス（MACアドレス）を検索するARP（Address Resolution Protocol）関係の機能について説明します。

## ARPキャッシュ

通常、ARPキャッシュはプロトコルスタックの働きによって動的に構築・維持されていくため、管理者が手動で行うべきことはありません。しかしながら、状況に応じて手動でARPエントリーを登録することもできます。
ARPキャッシュにスタティックエントリーを追加するには、arpコマンドを使います。

    awplus(config)# arp 192.168.30.254 0000.f0f0.abcd port1.0.1

スタティックなARPエントリーを削除するには、arpコマンドをno形式で実行します。

    awplus(config)# no arp 192.168.30.254

ダイナミックなARPエントリーをすべて削除したいときは、clear arp-cacheコマンドを使います。

    awplus# clear arp-cache

ARPキャッシュの内容はshow arpコマンドで確認できます。

    awplus# show arp

## ARPキャッシュログ

本製品は、ARPキャッシュの変更（登録・削除）をログに記録できます。
ARPキャッシュログを有効にするには、arp logコマンドを使います。デフォルトは無効です。

    awplus(config)# arp log

ARPキャッシュログを表示するには、show logコマンドを使います。show logコマンドでは他のログメッセージも表示されますが、「 | include ARP_LOG」を指定すればARP関連のログだけを見ることができます。

    awplus# show log | include ARP_LOG
    2012 Feb  6 06:21:01 user.notice awplus HSL[1007]: ARP_LOG port1.0.1 vlan1 add 0013.4078.3b98 (192.168.2.4)
    2012 Feb  6 06:22:30 user.notice awplus HSL[1007]: ARP_LOG port1.0.1 vlan1 del 0013.4078.3b98 (192.168.2.4)
    2012 Feb  6 06:23:26 user.notice awplus HSL[1007]: ARP_LOG port1.0.1 vlan1 add 0030.940e.136b (192.168.2.20)
    2012 Feb  6 06:23:30 user.notice awplus IMISH[1830]: show log | include ARP_LOG

    awplus# show log | include ARP_LOG
    2012 Feb  6 06:25:28 user.notice awplus HSL[1007]: ARP_LOG port1.0.1 vlan1 add 00-17-9a-b6-03-69 (192.168.2.12)
    2012 Feb  6 06:25:30 user.notice awplus HSL[1007]: ARP_LOG port1.0.1 vlan1 add 00-03-37-6b-a6-a5 (192.168.2.10)
    2012 Feb  6 06:26:53 user.notice awplus HSL[1007]: ARP_LOG port1.0.1 vlan1 del 00-30-94-0e-13-6b (192.168.2.20)
    2012 Feb  6 06:27:31 user.notice awplus HSL[1007]: ARP_LOG port1.0.1 vlan1 del 00-17-9a-b6-03-69 (192.168.2.12)
    2012 Feb  6 06:28:09 user.notice awplus HSL[1007]: ARP_LOG port1.0.1 vlan1 del 00-03-37-6b-a6-a5 (192.168.2.10)
    2012 Feb  6 06:28:14 user.notice awplus IMISH[1830]: show log | include ARP_LOG
    awplus#

ログメッセージ本体（Message）の表示項目は、左から順にポート番号、VLAN ID、イベント（addかdel）、MACアドレス、IPアドレスです。
Note

あるIPアドレスに対応するMACアドレスが変更された場合は、delイベントとaddイベントが生成されます。

## プロキシーARP

プロキシーARPは、他サブネットのIPアドレスを対象としたARP要求に対し、本製品が自分自身のMACアドレスで代理応答する機能です。
プロキシーARPの有効・無効は、インターフェースモードのip proxy-arpコマンドで設定します。初期設定は無効です。
たとえば、vlan10インターフェース（IPアドレス192.168.10.1/24と仮定）において、他サブネットのIPアドレス（たとえば192.168.20.2）を対象とするARP要求を受信した場合に、本製品のMACアドレスで代理応答させるには次のように設定します。

    awplus(config)# interface vlan10
    awplus(config-if)# ip proxy-arp

プロキシーARP有効時は、受信したARP要求の対象IPアドレスへの経路（ただし、受信インターフェースのインターフェース経路を除く）を持っている場合、自分自身のMACアドレスで代理応答し、代理応答に基づいて送られてきたパケットを実際の宛先に向かって転送します。

## ローカルプロキシーARP

ローカルプロキシーARPは、同一サブネットのIPアドレスを対象としたARP要求に対し、本製品が自分自身のMACアドレスで代理応答する機能です。サブネット内のホストが直接通信できない特殊なネットワークに接続されたインターフェースで本機能を有効化すれば、同一サブネット内のホスト同士が本製品を介した間接ルーティングで通信できるようになります。
ローカルプロキシーARPの有効・無効は、インターフェースモードのip local-proxy-arpコマンドで設定します。初期設定は無効です。
たとえば、vlan10インターフェース（IPアドレス192.168.10.1/24と仮定）において、同一サブネット内の任意のIPアドレス（192.168.10.2～192.168.10.254）を対象とするARP要求を受信した場合に、本製品のMACアドレスで代理応答させるには次のように設定します。

    awplus(config)# interface vlan10
    awplus(config-if)# ip local-proxy-arp

Note

本機能はホスト間の直接通信が禁止されている特殊なサブネットでのみ使用してください。

## リミテッドローカルプロキシーARP

リミテッドローカルプロキシーARPは、同一サブネット内の特定 IP アドレスを対象としたARP要求に対してのみ、ローカルプロキシーARPと同様な代理応答を行う機能です。
前述のローカルプロキシーARP（ip local-proxy-arpコマンド）では、同一サブネット内のすべての IP アドレスに対して本製品が自身の MAC アドレスで代理応答しますが、リミテッドローカルプロキシーARPでは、local-proxy-arpコマンドで明示的に指定した IP アドレスに対してしか代理応答を行いません。
リミテッドローカルプロキシーARPの有効・無効は、インターフェースモードのip limited-local-proxy-arpコマンドで設定します。初期設定は無効です。
また、代理応答の対象アドレスはグローバルコンフィグモードのlocal-proxy-arpコマンドで指定します。
たとえば、vlan10インターフェース（IPアドレス192.168.10.1/24と仮定）において、同一サブネット内の特定IPアドレス（たとえば、192.168.10.200と192.168.10.205）を対象とするARP要求を受信した場合に、本製品のMACアドレスで代理応答させるには次のように設定します。

    awplus(config)# local-proxy-arp 192.168.10.200/32
    awplus(config)# local-proxy-arp 192.168.10.205/32
    awplus(config)# interface vlan10
    awplus(config-if)# ip limited-local-proxy-arp

Note

初期設定では代理応答の対象アドレスが未設定のため、ip limited-local-proxy-arpコマンドを実行しただけでは代理応答は行われません。本機能を利用する場合は、必ずlocal-proxy-arpコマンドで代理応答させるIPアドレスを指定してください。

Note

本機能はホスト間の直接通信が禁止されている特殊なサブネットでのみ使用してください。

## NLBの設定

本製品は、Microsoft Network Load Balancing（NLB）に対応しています。
Microsoft Network Load Balancing（NLB）とは、Windows Serverの持つ負荷分散機能です。
NLBにより、複数のNLBサーバーに共通の仮想IPアドレスが割り当てられ、クライアントからの要求をサーバー全体に送信することで、負荷を分散します。
本製品は以下のモードに対応しています。

- マルチキャストモード（ダイナミック登録/スタティック登録）
- IGMPモード（ダイナミック登録）
- ユニキャストモード（ダイナミック登録）

### マルチキャストモード

NLBのマルチキャストモードを使う場合は、ARPエントリーのダイナミック登録/スタティック登録が可能です。
ARPエントリーをダイナミック登録する場合
arp-mac-disparity multicast(NLB)コマンドを実行します。

    awplus(config)# interface vlan20
    awplus(config-if)# arp-mac-disparity multicast

arp-mac-disparity multicast(NLB)コマンドによって登録されたARPエントリーは、ARPテーブルのポート番号として初めにARPを受信したポートが代表で登録されます。

    awplus# show arp
     IP Address      MAC Address     Interface            Port        Type
     192.168.20.250  03bf.c0a8.14fa  vlan20               port1.0.1  dynamic

これにより、ユニキャストIPアドレスとマルチキャストMACアドレスの関連付けをしたARPエントリーのダイナミック登録が可能になり、登録されたアドレスに該当する通信は、同一VLAN内でフラッディングされます。

ARPエントリーをスタティック登録する場合
arpコマンドで、NLBサーバーで使用される仮想IPアドレスと仮想MACアドレスと、NLBサーバーが接続されているポートを関連付けます。

    awplus(config)# arp 192.168.20.250 03bf.c0a8.14fa port1.0.1-1.0.2

Note

2ポートまで指定可能です。

Note

Windows Server 2008でNLBサーバーを使用する場合、Sender部分に仮想IP/仮想MAC(Multicastアドレス)、L2ヘッダの送信元に実MACアドレスを使用している特殊なARP Requestが使われます。本ARPに応答させるために、Windows 2008 serverでARPエントリーをスタティックで使用する場合は、arp-mac-disparity multicast(NLB)コマンドも有効にしてください。
なお、Windows Server 2008 R2以降をNLBサーバーとして使用する場合、この設定は不要です。

複数ポートを指定してスタティック登録したARPエントリーは、ARPテーブルのポート番号として番号の小さいほうのポートが登録されます。

    awplus# show arp
     IP Address      MAC Address     Interface            Port        Type
     192.168.20.250  03bf.c0a8.14fa  vlan20               port1.0.1  static

これにより、登録されたアドレスに該当する通信を該当ポートのみに出力することができます。

### IGMPモード

通信を行いたいNLBサーバーがIGMPモードの場合、arp-mac-disparity multicast-igmp(NLB)コマンドを実行します。

    awplus(config)# interface vlan20
    awplus(config-if)# arp-mac-disparity multicast-igmp

arp-mac-disparity multicast-igmp(NLB)コマンドによって登録されたARPエントリーは、ARPテーブルのポート番号として初めにARPを受信したポートが代表で登録されます。

    awplus# show arp
     IP Address      MAC Address     Interface            Port        Type
     192.168.20.250  0100.5e7f.14fa  vlan20               port1.0.1  dynamic

これにより、ユニキャストIPアドレスとマルチキャストMACアドレスの関連付けをしたARPエントリーがダイナミックのダイナミック登録が可能になり、登録されたアドレスに該当する通信は、IGMPテーブルに登録された当該マルチキャストグループのポートにのみ転送されます。

### ユニキャストモード

通信を行いたいNLBサーバーがユニキャストモードの場合、arp-mac-disparity unicast(NLB)コマンドを実行します。

    awplus(config)# interface vlan20
    awplus(config-if)# arp-mac-disparity unicast

arp-mac-disparity unicast(NLB)コマンドによって登録されたARPエントリーは、ARPテーブルのポート番号として初めにARPを受信したポートが代表で登録されます。

    awplus# show arp
     IP Address      MAC Address     Interface            Port        Type
     192.168.20.250  02bf.c0a8.14fa  vlan20               port1.0.1  dynamic

これにより、ユニキャストモードで動作しているNLBサーバーのARPエントリーがダイナミック登録された場合に、登録されたアドレスに該当する通信が同一VLAN内でフラッディングされるようになります。

### L2環境での仕様

NLBサーバーが存在するVLANにIPアドレスを設定して本製品の運用を行う場合、本製品がNLBサーバーに対してARP解決を行う可能性がある構成となります。
本製品がNLBサーバーとのARP解決から得た情報を適切に取り扱うにはNLBの設定を有効化する必要がありますので、NLBサーバーが存在するVLANにIPアドレスを設定する場合は、本製品をL2スイッチとして使用する場合であってもNLBの設定を行うことを推奨します。
NLB設定時の本製品のL2スイッチとしての動作は以下のとおりです。

#### フラッディングするケース

ユニキャストモード時およびマルチキャストモード時はNLBサーバー宛ての通信をフラッディングします。

- マルチキャストモードの設定 - 対象VLANでarp-mac-disparity multicast(NLB)を有効にします。

      awplus(config)# interface vlan10
      awplus(config-if)# arp-mac-disparity multicast

- ユニキャストモードの設定 - 対象VLANでarp-mac-disparity unicast(NLB)を有効にします。

      awplus(config)# interface vlan10
      awplus(config-if)# arp-mac-disparity unicast

#### 特定ポートにのみ転送するケース

以下のいずれかの条件を満たす場合、NLBサーバー宛て通信をNLBサーバーが接続されているポートのみに転送する状態になります。

- マルチキャストモード利用時かつ当該NLBサーバーの仮想アドレスがスタティックARPで登録されている場合（ダイナミックARPは対象外）
- IGMPモード利用時かつIGMP Snoopingが有効な場合

- マルチキャストモード（スタティック登録）の設定 - arpコマンドでNLBサーバーの仮想IPアドレス、仮想MACアドレスとNLBサーバーが接続されているポート（最大2ポート）を関連付けます。

      awplus(config)# arp 192.168.10.250 03bf.c0a8.0afa port1.0.1-1.0.2

- IGMPモードの設定 - 対象VLANでarp-mac-disparity multicast-igmp(NLB)を有効にします。

      awplus(config)# interface vlan10
      awplus(config-if)# arp-mac-disparity multicast-igmp