IP : IP ルーティング

EIGRP の「not on common subnet」というメッセージの意味

2004 年 11 月 30 日 - ライター翻訳版
その他のバージョン: PDFpdf | 機械翻訳版 (2013 年 8 月 21 日) | 英語版 (2006 年 3 月 27 日) | フィードバック

概要

注: この文書の情報は Cisco IOS(R) ソフトウェア バージョン 12.0 に基づいています。

EIGRP ではマルチキャスト HELLO パケットを使用して、他の EIGRP nighbor (近隣/隣接) ルータと通信が行われます。EIGRP は、受信側インターフェイスに設定されていないサブネット上のIP アドレスが発信元となった EIGRP HELLO パケットを受信すると、次の「not on common subnet」というエラー メッセージを生成します。

<timestamp>: IP-EIGRP: Neighbor <neighbor IP address> not on common subnet for <interface>
1 つのネットワーク セグメント上のすべてのルータには、同じサブネットのプライマリ IP アドレスを設定することをお勧めします。次の例は、一般的な EIGRP 設定を示しています。

一般的な EIGRP ネットワーク


R1
hostname R1
!
interface Ethernet0
ip address 10.1.1.1 255.255.255.0
!
router eigrp 1
network 10.0.0.0
!
end
R2
hostname R2
!
interface Ethernet0
ip address 10.1.1.2 255.255.255.0
!
router eigrp 1
network 10.0.0.0
!
end
show ip eigrp neighbor コマンドを使用して、両方のルータが互いに見えているかどうかを確認します。
R1#show ip eigrp neighbor
IP-EIGRP neighbors for process 1
H   Address                 Interface   Hold Uptime   SRTT   RTO  Q  Seq
                                        (sec)         (ms)       Cnt Num
0   10.1.1.2                Et0           12 00:00:16    0  3000  0  23


R2#show ip eigrp neighbor
IP-EIGRP neighbors for process 1

H   Address                 Interface   Hold Uptime   SRTT   RTO  Q  Seq
                                        (sec)         (ms)       Cnt Num
0   10.1.1.1                Et0           14 00:01:19   12   200  0  11

すべてが正しく設定されていると、EIGRP neighbor 関係が形成されていることが表示されます。今度は、R2 の設定を Ethernet0 インターフェイスを別のサブネット上に配置するように変更します。

R2#config terminal

R2(config)#interface ethernet0

R2(config-if)#ip address 10.1.2.2 255.255.255.0

R2(config-if)#end
R2 の現在の設定を確認します。
hostname R2
!
interface Ethernet0
ip address 10.1.2.2 255.255.255.0
!
router eigrp 1
network 10.0.0.0
!
end

EIGRP HELLO パケットを受信したときに、エラー メッセージを受け取るようになりました。この例では、約 15 秒ごとに R1 と R2 の両方で受け取ります。

R1
3w0d: IP-EIGRP: Neighbor 10.1.2.2 not on common subnet for Ethernet0
R2
3w0d: IP-EIGRP: Neighbor 10.1.1.1 not on common subnet for Ethernet0

このエラー メッセージが発生しても、R1 または R2 のその他の neighbor ルータとの間の EIGRP が正しく動作しなくなることはありません。show ip eigrp neighbor コマンドを再実行して出力を見ると、このエラー メッセージが R1 と R2 との間に重大な問題があることを示していることがわかります。R1 と R2 は近隣ルータではなくなり、ルーティング情報を交換しなくなりました。

R1
R1#show ip eigrp neighbor
IP-EIGRP neighbors for process 1
R2
R2#show ip eigrp neighbor
IP-EIGRP neighbors for process 1
この問題は、セカンダリ IP アドレスを使用するネットワークで、そのアドレスが正しく設定されていない場合にも発生します。R2 にセカンダリ アドレスを追加します。
R2
R2#config terminal

R2(config)#interface ethernet0

R2(config-if)#ip address 10.1.1.2 255.255.255.0 secondary

R2(config-if)#end
R2 の現在の設定は次のようになります。
hostname R2
!
interface Ethernet0
ip address 10.1.2.2 255.255.255.0

ip address 10.1.1.2 255.255.255.0 secondary
!
router eigrp 1
network 10.0.0.0
!
end
R2 は 10.1.1.0/24 をインターフェイス Ethernet0 の有効なサブネットとして認識するようになったため、R2 で「not on common subnet」というエラー メッセージが表示されなくなりました。R2 は R1 を EIGRP neighbor ルータとして表示し、R1 の HELLO パケットを受信して受け入れます。

ただし、R1 は R2 を neighbor ルータとして表示せず、R2 からのルーティング更新情報を受け入れません。そのため、R2 は R1 との隣接関係をリセットし続けます。R1 では「not on common subnet」エラー メッセージが表示され続け、EIGRP 近隣ルータ テーブルに R2 が表示されません。

こうなるのは、EIGRP update パケットでは発信インターフェイスのプライマリ IP アドレスが発信元アドレスとして使用されるからです。R2 のプライマリ サブネット(この例では 10.1.2.1/24)と一致するよう、R1 のプライマリ アドレスを変更することをお勧めします。

ネットワークによっては、同じ物理セグメント上に 2 つの異なるサブネットが設定されているものがあります。その場合、一方のサブネット上の EIGRP ルータは、もう一方のサブネット上の EIGRP ルータと通信できません。一般的にはこのような設定をお勧めしませんが、Cisco IOS ソフトウェア 11.3、12.0、またはそれ以降を実行している場合は、no eigrp log-neighbor-warnings コマンドを使用して「not on common subnet」エラー メッセージを無効にできます。このコマンドによって、EIGRP プロセスで使用されるすべてのインターフェイス上でエラーメッセージが無効になるため、注意して使用してください。


関連情報


関連するシスコ サポート コミュニティ ディスカッション

シスコ サポート コミュニティは、どなたでも投稿や回答ができる情報交換スペースです。


Document ID: 13674