はじめに
このドキュメントでは、Generic Routing Encapsulation(GRE)トンネル インターフェイスの状態に影響を与える可能性のあるさまざまな条件について説明します。
背景説明
GRE トンネルは、完全にステートレスになるように設計されています。つまり、各トンネル エンドポイントは、リモート トンネル エンドポイントの状態または可用性に関する情報を保持しないということを意味します。
その結果、デフォルトでは、トンネルのリモートエンドに到達できない場合、ローカルトンネルエンドポイントルータはGREトンネルインターフェイスの回線プロトコルをダウンさせることができません。
インターフェイスを「ダウン」としてマークする機能(この場合)は、そのインターフェイスを発信インターフェイスとして使用しているルーティングテーブル内のスタティックルートを削除するために使用されます。
具体的には、インターフェイスの回線プロトコルが「ダウン」に変更されると、そのインターフェイスを示すスタティックルートがルーティングテーブルから削除されます。
これにより、代替のネクストホップまたはインターフェイスを選択するために、代替(フローティング)スタティック ルートまたはポリシー ベース ルーティング(PBR)のインストールが可能になります。
また、「backup interface <b-interface>」のように、インターフェイスの状態が変化したときにトリガーされる他のアプリケーションもあります。
4つの異なるトンネル状態
GREトンネルインターフェイスが存在する状態には、次の4つがあります。
- Up/up:これは、トンネルが完全に機能していて、トラフィックを渡していることを意味します。これは管理上アップ状態であり、プロトコルもアップ状態です。
- Administratively down/down:インターフェイスが管理上シャットダウンされたことを示します。
- Up/down:これは、トンネルは管理上アップ状態になっているが、何らかによってインターフェイス上の回線プロトコルがダウンしていることを意味します。
- リセット/ダウン:通常、これはトンネルがソフトウェアによってリセットされたときの一時的な状態です。これは通常、トンネルが自身のIPアドレスであるネクストホップサーバ(NHS)で誤って設定されている場合に発生します。
トンネルインターフェイスが最初に作成され、そのインターフェイスに他の設定が適用されていない場合、インターフェイスはデフォルトではシャットダウンされません。
Router#show run interface tunnel 1
Building configuration...
Current configuration : 40 bytes
!
interface Tunnel1
no ip address
end
この状態では、インターフェイスは常に up/down となります。
Router(config-if)#do show ip interface brief
Interface IP-Address OK? Method Status Protocol
GigabitEthernet0/0 172.16.52.1 YES NVRAM administratively down down
GigabitEthernet0/1 10.36.128.49 YES NVRAM down down
GigabitEthernet0/2 unassigned YES NVRAM down down
GigabitEthernet0/3 unassigned YES NVRAM down down
Loopback1 192.168.2.1 YES NVRAM up up
Tunnel1 unassigned YES unset up down
これは、インターフェイスが管理上イネーブルになっているためですが、トンネル送信元またはトンネル宛先がないため、回線プロトコルがダウンします。
このインターフェイスを up/up にするには、有効なトンネル送信元とトンネル宛先を設定する必要があります。
Router#show run interface tunnel 1
Building configuration...
Current configuration : 113 bytes
!
interface Tunnel1
ip address 10.1.1.1 255.255.255.0
tunnel source Loopback1
tunnel destination 10.0.0.1
end
Router#show ip interface brief
Interface IP-Address OK? Method Status Protocol
GigabitEthernet0/0 172.16.52.1 YES NVRAM up up
GigabitEthernet0/1 10.36.128.49 YES NVRAM down down
GigabitEthernet0/2 unassigned YES NVRAM down down
GigabitEthernet0/3 unassigned YES NVRAM down down
Loopback0 unassigned YES unset up up
Loopback1 192.168.2.1 YES manual up up
Tunnel1 10.1.1.1 YES manual up up
前のシーケンスでは次のことを示しています。
- 有効なトンネル送信元は、up/up 状態にあり、IP アドレスが設定されているインターフェイスで構成されます。
- たとえば、トンネル送信元が Loopback0 に変更された場合、Loopback0 が up/up 状態であっても、トンネル インターフェイスはダウンします。
Router(config)#interface tunnel 1
Router(config-if)#tunnel source loopback 0
Router(config-if)#
*Sep 6 19:51:31.043: %LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel1, changed state to down
- 有効なトンネル宛先はルーティング可能な宛先です。ただし、これは到達可能である必要はなく、この ping テストから確認できます。
Router#show ip route 10.0.0.1
% Network not in table
Router#show ip route | inc 0.0.0.0
Gateway of last resort is 172.16.52.100 to network 0.0.0.0
S* 0.0.0.0/0 [1/0] via 172.16.52.100
Router#ping 10.0.0.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.0.0.1, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)
これまでのところ、トンネルはデフォルトであるポイントツーポイント(P2P)GRE トンネルとして設定されています。
このトンネルをマルチポイントGRE(mGRE)トンネルに変更する場合、アップ状態に必要なのは、有効なトンネル送信元だけです。
注:mGREトンネルには多数のトンネル宛先を設定できるため、トンネルインターフェイスの状態の制御にはこれを使用できません。
Router#show run interface tunnel 1
Building configuration...
Current configuration : 129 bytes
!
interface Tunnel1
ip address 10.1.1.1 255.255.255.0
no ip redirects
tunnel source Loopback1
tunnel mode gre multipoint
end
Router#show ip interface brief | include Tunnel
Tunnel1 10.1.1.1 YES manual up up
いずれかの時点で、トンネルインターフェイスが管理上シャットダウンされている場合、トンネルはただちに管理上ダウン/ダウンの状態になります。
Router#show run interface tunnel 1
Building configuration...
Current configuration : 50 bytes
!
interface Tunnel1
no ip address
shutdown
end
Router#show ip interface brief | include Tunnel
Tunnel1 unassigned YES unset administratively down down
P2P GRE トンネル状態
P2P GREトンネルのインターフェイスは、通常、アップ状態の有効なトンネル送信元アドレスまたはインターフェイス(上記を参照)とルーティング可能なトンネル宛先IPアドレスで設定されるとすぐにアップ状態になります。
ルータでの回線プロトコルのローカルなダウン
通常の状況下では、GRE トンネルが up/down 状態になる理由は 3 つだけです。
- デフォルト ルートを含み、トンネルの宛先アドレスへのルートがない。
- トンネル発信元のアンカーとなるインターフェイスがダウンしている。
- トンネルの宛先アドレスへのルートがトンネル自体を通っているために再帰状態にある。
これら3つのルール(missing、ルート、インターフェイスのダウン、およびトンネルの宛先のルーティングの誤り)は、トンネルのエンドポイントにあるルータに対してローカルな問題です。
介在するネットワークの問題や、設定可能なGREトンネルに関連するその他の機能は対象としていません。このドキュメントでは、他の要因がGREトンネルの状態に影響する可能性があるシナリオについて説明します。
GRE トンネルのキープアライブ
基本的なルールでは、GREトンネルを通過するパケットがトンネルの反対側の端に到達する前に、正常に転送されているにもかかわらず失われる場合は扱われません。
これにより、PBRを使用する代替ルート、または別のインターフェイスを経由するフローティングスタティックルートを使用できる可能性があっても、GREトンネルを通過するデータパケットが失われます。
この問題を解決するには、物理インターフェイスで使用するキープアライブと同じように GRE トンネル インターフェイスのキープアライブを使用します。
Cisco IOS® ソフトウェア リリース 12.2(8)T では、P2P GRE トンネル インターフェイスにキープアライブを設定できます。この変更によって、トンネル インターフェイスは、一定期間キープアライブが失敗した場合に、動的にシャットダウンします。
GREトンネルのキープアライブがどのように機能するかをよりよく理解するには、『GREトンネルのキープアライブ』を参照してください。
注:GREトンネルのキープアライブは有効であり、P2P GREトンネルにのみ影響します。これらは無効であり、mGREトンネルには影響しません。
トンネル保護を使用したGREトンネル
Cisco IOS®ソフトウェアリリース15.4(3)M/15.4(3)S以降では、GREトンネル回線プロトコルの状態はIPsec Security Association(SA)の状態に従います。そのため、IPSecセッションが完全に確立されるまで、回線プロトコルはダウンしたままになります。
これは、Cisco Bug ID CSCum34057(Cisco Bug ID CSCuj29996を使用した最初の試行から、Cisco Bug ID CSCuj99287を使用してバックアウト)で確定されました。
マルチポイント GRE(mGRE)トンネル インターフェイス
mGREトンネルインターフェイスの場合、P2Pトンネルに対する以前のチェックの一部は適用できません(固定トンネルの宛先がないため)。
mGREトンネル回線プロトコルがダウン状態になる理由を次に示します。
- トンネル送信元のインターフェイスがダウン状態である。
- インターフェイスの状態制御機能がDynamic Multipoint VPN(DMVPN)に対して有効であり、NHSが応答しない場合、回線プロトコルはダウン状態になります。
- インターフェイスの状態制御機能の詳細については、『DMVPN トンネル ヘルス モニタリング/回復機能設定ガイド』を参照してください。
冗長状態での依存関係
トンネル発信元 IP アドレスを冗長 IP アドレス(ホット スタンバイ ルータ プロトコルの仮想 IP(HSRP VIP)アドレスなど)として設定した場合は、トンネル インターフェイスの状態は冗長状態を追跡します。
これにより、冗長状態がACTIVEに変わるまで、このようなトンネルインターフェイスを回線プロトコルダウン状態に維持する別のチェックが追加されます。
この例では、誤って設定された ipc ゾーンのデフォルト設定により、冗長性は NEGOTIATION 状態になり、このようなトンネル インターフェイスをダウン状態に維持させています。
Router#show redundancy state
my state = 3 -NEGOTIATION
peer state = 1 -DISABLED
Mode = Simplex
Unit ID = 0
Maintenance Mode = Disabled
Manual Swact = disabled (system is simplex (no peer unit))
Communications = Down Reason: Simplex mode
client count = 16
client_notification_TMR = 60000 milliseconds
RF debug mask = 0x0
Router#show interface tunnel100
Tunnel100 is up, line protocol is down
Hardware is Tunnel
Internet address is 172.16.1.100/24
MTU 17912 bytes, BW 100 Kbit/sec, DLY 50000 usec,
reliability 255/255, txload 1/255, rxload 1/255
Encapsulation TUNNEL, loopback not set
Keepalive not set
Tunnel source 10.122.162.254 (GigabitEthernet0/1)
Tunnel Subblocks:
src-track:
Tunnel100 source tracking subblock associated with GigabitEthernet0/1
Set of tunnels with source GigabitEthernet0/1, 2 members (includes
iterators), on interface <OK>
Tunnel protocol/transport multi-GRE/IP
<SNIP>
トラブルシュート
前に概説した理由のほかに、トンネルがダウンしている理由についてのトンネル回線状態の評価は、show tunnel interface tunnel x隠しコマンドで確認できます。
Router#show tunnel interface tunnel 100
Tunnel100
Mode:multi-GRE/IP, Destination UNKNOWN, Source GigabitEthernet0/1
Application ID 1: unspecified
Tunnel Subblocks:
src-track:
Tunnel100 source tracking subblock associated with GigabitEthernet0/1
Set of tunnels with source GigabitEthernet0/1, 2 members (includes
iterators), on interface <OK>
Linestate - current down
Internal linestate - current down, evaluated down - interface not up
Tunnel Source Flags: Local
Transport IPv4 Header DF bit cleared
OCE: IP tunnel decap
Provider: interface Tu100, prot 47
Performs protocol check [47]
Performs Address save check
Protocol Handler: GRE: key 0x64, opt 0x2000
ptype: ipv4 [ipv4 dispatcher: drop]
ptype: ipv6 [ipv6 dispatcher: drop]
ptype: mpls [mpls dispatcher: drop]
ptype: otv [mpls dispatcher: drop]
ptype: generic [mpls dispatcher: drop]
注:アクティブではないために冗長性の状態が原因であることを示すために、トンネルがダウンする理由をより明示的に示すオープンな機能拡張があります。この機能は、Cisco Bug ID CSCuq31060 で追跡されます。
関連情報