IP : 拡張内部ゲートウェイ ルーティング プロトコル(EIGRP)

「%TUN-5-RECURDOWN」エラー メッセージと、GRE トンネルを介した EIGRP/OSPF/BGP ネイバーのフラッピング

2016 年 10 月 27 日 - 機械翻訳について
その他のバージョン: PDFpdf | ライター翻訳版 (2002 年 4 月 4 日) | 英語版 (2015 年 8 月 22 日) | フィードバック


目次


概要

「%TUN-5-RECURDOWN: Tunnel0 temporarily disabled due to recursive routing」エラー メッセージは、Generic Routing Encapsulation(GRE)トンネル ルータが再帰的ルーティングの問題を検出したことを示しています。 この状況は通常、次の 2 つのいずれかが原因で起こります。

  • 設定ミスのため、ルータがトンネル インターフェイス自体を使用してトンネルの宛先アドレスにルーティングしようとしている(再帰的ルーティング)。

  • ネットワーク内のどこかでルート フラッピングが発生しているため、一時的に不安定になっている。

トンネル インターフェイスのステータスはトンネルの宛先への IP 到達可能性によって決まります。 ルータはトンネルの宛先に対する再帰的ルーティング障害を検出すると、その問題を引き起こした状況がルーティング プロトコルのコンバージェンスに伴って自然に解決するように、トンネル インターフェイスを数分間シャットダウンします。 問題の原因が設定ミスの場合は、リンクがいつまでもフラッピングし続けるおそれがあります。

この問題のもう 1 つの症状は、Enhanced Interior Gateway Routing Protocol/Open Shortest Path First/Border Gateway Protocol(EIGRP/OSPF/BGP)近接ルータが GRE トンネル上にある場合、それらの近接ルータが継続的にフラッピングすることです。

このドキュメントは、EIGRP が動作しているトンネル インターフェイスが無期限のフラッピング状態に陥った場合のトラブルシューティングの例を示しています。

前提条件

要件

このドキュメントに関する固有の要件はありません。

使用するコンポーネント

このドキュメントは、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されたものです。 このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。 ネットワークが稼働中の場合は、コマンドが及ぼす潜在的な影響を十分に理解しておく必要があります。

表記法

ドキュメント表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。

ネットワーク図

ルータ 1(R1)とルータ 3(R3)はルータ 2(R2)に接続しています。 R1 は R2 を経由して R3 のループバック インターフェイスに到達可能で、その逆も同様に到達できます。 EIGRP は R1 と R3 のトンネル インターフェイス上で動作しています。 R2 は EIGRP ドメインには参加していません。

/image/gif/paws/22327/gre_flap_01.gif

設定

R1
hostname R1
!
interface Loopback0
 ip address 10.1.1.1 255.255.255.0
!
interface Tunnel0
 ip address 192.168.1.1 255.255.255.0
 tunnel source Loopback0
 tunnel destination 10.3.3.3
!
interface Serial0
 ip address 172.16.15.1 255.255.255.0
 encapsulation ppp
!
router eigrp 1
 network 10.1.1.0 0.0.0.255
 network 192.168.1.0
 no auto-summary
!
ip route 0.0.0.0 0.0.0.0 172.16.15.2

R3
hostname R3
!
interface Loopback0
 ip address 10.3.3.3 255.255.255.0
!
interface Tunnel0
 ip address 192.168.1.3 255.255.255.0
 tunnel source Loopback0
 tunnel destination 10.1.1.1
!
interface Serial1
 ip address 172.16.25.3 255.255.255.0
!
router eigrp 1
 network 10.3.3.0 0.0.0.255
 network 192.168.1.0
 no auto-summary
!
ip route 0.0.0.0 0.0.0.0 172.16.25.2

観察

R1 と R3 で次のエラー メッセージが見られます。 トンネル インターフェイスがアップとダウンを継続的に繰り返しています。

01:11:39: %LINEPROTO-5-UPDOWN:
          Line protocol on Interface Tunnel0, changed state to up
01:11:48: %TUN-5-RECURDOWN:
          Tunnel0 temporarily disabled due to recursive routing
01:11:49: %LINEPROTO-5-UPDOWN:
          Line protocol on Interface Tunnel0, changed state to down
01:12:49: %LINEPROTO-5-UPDOWN:
          Line protocol on Interface Tunnel0, changed state to up
01:12:58: %TUN-5-RECURDOWN:
          Tunnel0 temporarily disabled due to recursive routing
01:12:59: %LINEPROTO-5-UPDOWN:
          Line protocol on Interface Tunnel0, changed state to down

前の出力例のタイムスタンプ付きの各行は実際の出力では 1 行に表示されます。

トラブルシューティング

これは、トンネル インターフェイスがアップする前の、R1 でのトンネルの宛先 10.3.3.3 へのルートです。

R1# show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
       i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
       * - candidate default, U - per-user static route, o - ODR
       P - periodic downloaded static route

Gateway of last resort is 172.16.15.2 to network 0.0.0.0

     172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks
C       172.16.15.2/32 is directly connected, Serial0
C       172.16.15.0/24 is directly connected, Serial0
     10.0.0.0/24 is subnetted, 1 subnets
C       10.1.1.0 is directly connected, Loopback0
S*   0.0.0.0/0 [1/0] via 172.16.15.2

トンネルの宛先 10.3.3.3 には 172.16.15.2(Serial 0)を経由したデフォルト ルートを通じて到達できます。

次に、トンネル インターフェイスがアップした後のルーティング テーブルを示します。

R1# show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
       i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
       * - candidate default, U - per-user static route, o - ODR
       P - periodic downloaded static route

Gateway of last resort is 172.16.15.2 to network 0.0.0.0

     172.16.0.0/16 is variably subnetted, 3 subnets, 2 masks
D       172.16.25.0/24 [90/297756416] via 192.168.1.3, 00:00:00, Tunnel0
C       172.16.15.2/32 is directly connected, Serial0
C       172.16.15.0/24 is directly connected, Serial0
     10.0.0.0/24 is subnetted, 2 subnets
D       10.3.3.0 [90/297372416] via 192.168.1.3, 00:00:00, Tunnel0
C       10.1.1.0 is directly connected, Loopback0
C    192.168.1.0/24 is directly connected, Tunnel0
S*   0.0.0.0/0 [1/0] via 172.16.15.2

トンネルの宛先 10.3.3.3 への経路は EIGRP を通じて学習されており、そのネクストホップはインターフェイス Tunnel 0 になっています。

この場合、トンネルの宛先までの最適パスはトンネル インターフェイスを経由します。 ただし、次のことが起こります。

  1. パケットがトンネル インターフェイスの出力キューにキューイングされます。

  2. トンネル インターフェイスは GRE ヘッダーを付加し、そのパケットをトンネル インターフェイスの宛先アドレス宛てのトランスポート プロトコルにキューイングします。

  3. IP は宛先アドレスまでのルートを探し、そのルートがトンネル インターフェイスを経由することを学習します。このため、パケットは上のステップ 1 に戻ります。 これによって再帰的なルーティング ループに陥ります。

解決策

R1 と R3 の両方で、トンネルの宛先に対してスタティック ルートを設定します。

R1(config)# ip route 10.3.3.3 255.255.255.255  serial 0
R3(config)# ip route 10.1.1.1 255.255.255.255 serial 1

次に R1 の IP ルートを示します。

R1# show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
       i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
       * - candidate default, U - per-user static route, o - ODR
       P - periodic downloaded static route

Gateway of last resort is 172.16.15.2 to network 0.0.0.0

     172.16.0.0/16 is variably subnetted, 3 subnets, 2 masks
D       172.16.25.0/24 [90/297756416] via 192.168.1.3, 00:01:08, Tunnel0
C       172.16.15.2/32 is directly connected, Serial0
C       172.16.15.0/24 is directly connected, Serial0
     10.0.0.0/8 is variably subnetted, 3 subnets, 2 masks
S       10.3.3.3/32 is directly connected, Serial0
D       10.3.3.0/24 [90/297372416] via 192.168.1.3, 00:01:08, Tunnel0
C       10.1.1.0/24 is directly connected, Loopback0
C    192.168.1.0/24 is directly connected, Tunnel0
S*   0.0.0.0/0 [1/0] via 172.16.15.2

トンネルの宛先に対して、限定性の低い EIGRP 学習経路(10.3.3.0/24)よりも限定性の高いスタティック ルート(10.3.3.3/32)が優先されています。 このように、より限定性の高いスタティック ルートを設定することで、再帰的なルーティング ループとトンネル インターフェイスのフラッピングを回避し、結果的に EIGRP 近接ルータのフラッピングを防止できます。

R1# show interfaces tunnel 0
Tunnel0 is up, line protocol is up
  Hardware is Tunnel
  Internet address is 192.168.1.1/24
  MTU 1514 bytes, BW 9 Kbit, DLY 500000 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation TUNNEL, loopback not set
  Keepalive set (10 sec)
  Tunnel source 10.1.1.1 (Loopback0), destination 10.3.3.3

%「%Warning: Feature not supported in hardware. Tunnel packets will be software switched」

このメッセージは、2 つの異なるトンネルで同じループバックまたは物理アドレスが送信元として使用されると表示されます。 このため、すべてのパケットはハードウェアによるスイッチングを受けずに、プロセッサに進みます。

この問題は、ループバック インターフェイスでセカンダリ アドレスを使用するか、トンネル送信元アドレスに複数のループバック インターフェイスを使用すると解決できます。

OSPF hello パケットが GRE トンネル経由でルータから送信されましたが、トンネルの反対側に着信しません。

OSPF が有効なネットワークで、ルータ R1 は GRE トンネルを介して OSPF hello パケットを送信しますが、これがルータ R3 によって受信されません。 hello イベントをデバッグするには、debug ip ospf hello コマンドを使用します。

R1#debug ip ospf hello
May 31 13:58:29.675 EDT: OSPF: Send hello to 224.0.0.5 area 0.0.0.12 on Tunnel0 from 192.168.1.1
May 31 13:58:39.675 EDT: OSPF: Send hello to 224.0.0.5 area 0.0.0.12 on Tunnel0 from 192.168.1.1
May 31 13:58:49.675 EDT: OSPF: Send hello to 224.0.0.5 area 0.0.0.12 on Tunnel0 from 192.168.1.1


R3#debug ip ospf hello
May 31 15:02:07 ADT: OSPF: Send hello to 224.0.0.5 area 0.0.0.12 on Tunnel0 from 192.168.1.3
May 31 15:02:09 ADT: OSPF: Rcv hello from 172.16.15.1 area 0.0.0.12 from Tunnel0 192.168.1.1
May 31 15:02:09 ADT: OSPF: Send immediate hello to nbr 172.16.15.3, src address 192.168.1.3, on Tunnel0
May 31 15:02:09 ADT: OSPF: Send hello to 224.0.0.5 area 0.0.0.12 on Tunnel0 from 192.168.1.3

!--- The previous output shows that the hello packets
!--- re sent by R1 but not received by R3.

解決策

両方のルータのインターフェイス トンネル 10 で tunnel key コマンドを構成します。 このコマンドは GRE のマルチキャストを有効にします。


関連情報


Document ID: 22327