소개
이 문서에서는 GRE(Generic Routing Encapsulation) 터널 인터페이스의 상태에 영향을 미칠 수 있는 여러 조건에 대해 설명합니다.
배경 정보
GRE 터널은 완전히 스테이트리스(stateless)로 설계되었습니다. 즉, 각 터널 엔드포인트가 원격 터널 엔드포인트의 상태 또는 가용성에 대한 정보를 유지하지 않습니다.
그 결과, 터널의 원격 끝에 연결할 수 없는 경우 기본적으로 로컬 터널 엔드포인트 라우터가 GRE 터널 인터페이스의 라인 프로토콜을 중단시킬 수 없습니다.
인터페이스를 "down"으로 표시하는 기능(이 경우)은 해당 인터페이스를 아웃바운드 인터페이스로 사용하는 라우팅 테이블의 고정 경로를 제거하기 위해 사용됩니다.
특히 인터페이스에 대한 라인 프로토콜이 "down"으로 변경되면 인터페이스를 나타내는 모든 고정 경로가 라우팅 테이블에서 제거됩니다.
이렇게 하면 대체(부동) 고정 경로를 설치하거나 대체 다음 홉 또는 인터페이스를 선택하기 위해 PBR(Policy Based Routing)을 설치할 수 있습니다.
또한 인터페이스가 상태를 변경할 때 트리거되는 다른 애플리케이션이 있습니다. 예: 'backup interface <b-interface>'
4가지 다른 터널 상태
GRE 터널 인터페이스가 존재하는 가능한 상태는 네 가지입니다.
- Up/up - 터널이 완전히 작동하며 트래픽을 전달함을 의미합니다. 관리상 가동 중이고 프로토콜도 가동 중입니다.
- 관리상 중단/중단 - 인터페이스가 관리상 종료되었음을 의미합니다.
- Up/down - 터널이 관리상 가동 중임에도 불구하고 어떤 이유로 인해 인터페이스의 라인 프로토콜이 다운되었음을 의미합니다.
- Reset/down - 일반적으로 소프트웨어가 터널을 재설정할 때 일시적인 상태입니다. 이는 일반적으로 터널이 자체 IP 주소인 NHS(Next Hop Server)로 잘못 구성된 경우에 발생합니다.
터널 인터페이스가 처음 생성되고 다른 컨피그레이션이 적용되지 않은 경우 기본적으로 인터페이스는 종료되지 않습니다.
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
이는 인터페이스가 관리상 활성화되어 있지만 터널 소스 또는 터널 대상이 없기 때문에 회선 프로토콜이 다운되었기 때문입니다.
이 인터페이스를 작동/작동하려면 유효한 터널 소스 및 터널 대상을 구성해야 합니다.
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(point-to-point) GRE 터널로 구성되었습니다.
이 터널을 mGRE(multipoint GRE) 터널로 변경하려면 가동 상태에 필요한 모든 터널이 유효한 터널 소스입니다.
참고: 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 상태에 있는 세 가지 이유만 있습니다.
- 터널 대상 주소에 대한 기본 경로를 포함하는 경로가 없습니다.
- 터널 소스를 고정하는 인터페이스가 다운되었습니다.
- 터널 대상 주소에 대한 경로는 터널 자체를 통과하므로 재귀가 발생합니다.
이 세 가지 규칙(missing
, 경로, 인터페이스 다운, 잘못 라우팅된 터널 대상)은 터널 엔드포인트의 라우터에 로컬인 문제입니다.
이러한 기능은 GRE 터널과 관련된 중간 네트워크나 기타 구성 가능한 기능의 문제를 다루지 않습니다. 이 문서에서는 다른 요인이 GRE 터널의 상태에 영향을 줄 수 있는 시나리오에 대해 설명합니다.
GRE 터널 킵얼라이브
기본 규칙은 GRE 터널링된 패킷이 터널의 다른 쪽 끝에 도달하기 전에 성공적으로 포워딩되지만 손실되는 경우를 다루지 않습니다.
이렇게 하면 PBR을 사용하는 대체 경로 또는 다른 인터페이스를 통한 유동 고정 경로를 사용할 수 있는 경우에도 GRE 터널을 통과하는 데이터 패킷이 손실됩니다.
GRE 터널 인터페이스의 킵얼라이브는 물리적 인터페이스에서 킵얼라이브를 사용하는 것과 동일한 방식으로 이 문제를 해결하기 위해 사용됩니다.
Cisco IOS® Software Release 12.2(8)T를 사용하면 P2P GRE 터널 인터페이스에 keepalive를 구성할 수 있습니다. 이러한 변경으로 인해 일정 기간 동안 keepalive가 실패하면 터널 인터페이스가 동적으로 종료됩니다.
GRE 터널 킵얼라이브의 작동 방식을 자세히 알아보려면 GRE 터널 킵얼라이브를 참조하십시오.
참고: GRE 터널 킵얼라이브만 유효하며 P2P GRE 터널에 영향을 미칩니다. 유효하지 않으며 mGRE 터널에 영향을 미치지 않습니다.
터널 보호를 사용하는 GRE 터널
Cisco IOS® Software Releases 15.4(3)M/15.4(3)S 이상에서 GRE 터널 회선 프로토콜 상태는 IPsec SA(Security Association) 상태를 따릅니다. 따라서 IPsec 세션이 완전히 설정될 때까지 회선 프로토콜이 계속 작동 중지될 수 있습니다.
이는 Cisco 버그 ID CSCum34057을 사용하여 커밋되었습니다(Cisco 버그 ID CSCuj2996을 사용하여 초기 시도 후 Cisco 버그 ID CSCuj99287을 사용하여 백업).
mGRE(Multipoint GRE) 터널 인터페이스
mGRE 터널 인터페이스의 경우, P2P 터널에 대한 이전의 일부 검사는 적용되지 않습니다(고정 터널 대상이 없기 때문).
mGRE 터널 회선 프로토콜이 중단 상태일 수 있는 이유는 다음과 같습니다.
- 터널 소스 인터페이스가 다운 상태입니다.
- DMVPN(Dynamic Multipoint VPN)에 대해 Interface State Control 기능이 활성화되어 있고 NHS가 응답하지 않는 경우 회선 프로토콜은 중단 상태로 전환됩니다.
- 인터페이스 상태 제어 기능에 대한 자세한 내용은 DMVPN 터널 상태 모니터링 및 복구 컨피그레이션 가이드를 참조하십시오.
이중화 상태에 대한 종속성
터널 소스 IP 주소가 이중화 IP 주소(예: HSRP VIP(Hot Standby Router Protocol Virtual IP) 주소)로 구성된 경우 터널 인터페이스 상태는 이중화 상태를 추적합니다.
이렇게 하면 이중화 상태가 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 hidden 명령을 사용하여 확인할 수 있습니다.
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 버그 ID CSCuq31060에 의해 추적됩니다.
관련 정보