소개
이 문서에서는 SD-WAN 환경에서 GRE(Generic Routing Encapsulation) 인터페이스 문제를 해결하는 방법에 대해 설명합니다.
배경 정보
Cisco Viptela Solution에서 GRE 인터페이스의 활용 사례는 다음과 같습니다.
- vSmart Data-Policy 또는 로컬에서 ZScaller(HTTP-Proxy)로 트래픽을 전송합니다.
- 데이터 센터에 대한 기본 백업 기능이 있는 기본 서비스 GRE 인터페이스.
- 서비스 체인
GRE 인터페이스가 작동하지 않거나 작동하지 않을 수 있는 경우가 있습니다.
이러한 상황에서는
- GRE 인터페이스는 다음을 통해 작동/작동: show interface gre*
- GRE Keepalives via: show tunnel gre-keepalives
방법론
문제가 있는 경우 GRE(47) 패킷이 전송/수신 중인지 확인하기 위해 액세스 제어 목록(ACL 또는 액세스 목록)을 구성합니다.
패킷이 빠른 경로에 의해 생성되므로 TCP 덤프를 통해 GRE 패킷을 볼 수 없습니다.
NAT(Network Address Translation)로 인해 GRE Keepalive를 삭제할 수 있는 경우가 있습니다. 이 경우 keepalive를 비활성화하고 터널이 작동하는지 확인합니다.
또한 GRE 터널이 keepalive를 지속적으로 플래핑하고 비활성화하는 경우 인터페이스를 작동/작동 상태로 유지합니다.
그러나 GRE가 작동하지 않는다는 것을 알기 어려운 문제가 있는 경우 GRE가 문제가 됩니다.
예제를 보여 주는 문서에서 여기를 참조하십시오.
작동 중인 GRE 인터페이스 컨피그레이션입니다.
VPN0에서
vpn 0
interface gre1
ip address 192.0.2.1/30
tunnel-source
tunnel-destination
tcp-mss-adjust 1300
no shutdown
!
interface gre2
ip address 192.0.2.5/30
tunnel-source
tunnel-destination
tcp-mss-adjust 1300
no shutdown
!
!
IN 서비스 쪽
vpn
service FW interface gre1 gre2
vEdge 경로를 기반으로 하는 Cisco SD-WAN 솔루션에서 GRE 인터페이스는 액티브-액티브(Active-Active)가 아니라 액티브-스탠바이(Active-Standby)로 작동합니다.
언제든지 Up/Up 상태인 GRE 인터페이스만 있습니다.
연습
액세스 목록에 대한 정책 생성
vEdge# show running-config policy access-list
policy
access-list GRE-In
sequence 10
match
protocol 47
!
action accept
count gre-in
!
!
default-action accept
!
access-list GRE-Out
sequence 10
match
protocol 47
!
action accept
count gre-out
!
!
default-action accept
!
!
vEdge#
카운터 gre-in 및 gre-out을 생성한 다음 인터페이스에 ACL을 적용해야 합니다(터널은 ge0/0을 초과함).
위의 ACL은 물리적 인터페이스의 소스 주소와 GRE 엔드포인트의 대상 주소로 적용할 수 있습니다.
vEdge# show running-config vpn 0 interface ge0/0
vpn 0
interface ge0/0
ip address 198.51.100.1/24
tunnel-interface
encapsulation ipsec
max-control-connections 1
allow-service all
no allow-service bgp
allow-service dhcp
allow-service dns
allow-service icmp
no allow-service sshd
no allow-service netconf
no allow-service ntp
no allow-service ospf
no allow-service stun
!
no shutdown
access-list GRE-In in
access-list GRE-Out out
!
!
vEdge#
이제 GRE 패킷의 수신 및 발신 카운터가 빠른 경로에 있으므로 tcpdump 유틸리티로 확인할 수 없습니다.
vEdge# show policy access-list-counters
COUNTER
NAME NAME PACKETS BYTES
----------------------------------
GRE-In gre-in 176 10736
GRE-Out gre-out 88 2112
vEdge#
이것은 우리의 GRE 터널입니다.
vEdge# show interface gre1
IF IF IF TCP
AF ADMIN OPER TRACKER ENCAP PORT SPEED MSS RX TX
VPN INTERFACE TYPE IP ADDRESS STATUS STATUS STATUS TYPE TYPE MTU HWADDR MBPS DUPLEX ADJUST UPTIME PACKETS PACKETS
---------------------------------------------------------------------------------------------------------------------------------------------------------
0 gre1 ipv4 192.0.2.1/30 Up Up NA null service 1500 05:05:05:05:00:00 1000 full 1420 0:07:10:28 2968 2968
vEdge#
vEdge# show running-config vpn 0 interface gre1
vpn 0
interface gre1
ip address 192.0.2.1/30/30
tunnel-source-interface ge0/0
tunnel-destination 192.0.2.5/30
no shutdown
!
!
vEdge#
show app cflowd flows 명령을 통해 트래픽이 GRE 인터페이스에서 이동하는지 확인할 수 있습니다.
다음은 양방향 트래픽(인그레스(ingress)과 이그레스(egress)의 예를 보여 주는 예입니다.
vEdge# show app cflowd flows
TCP TIME EGRESS INGRESS
SRC DEST IP CNTRL ICMP TOTAL TOTAL MIN MAX TO INTF INTF
VPN SRC IP DEST IP PORT PORT DSCP PROTO BITS OPCODE NHOP IP PKTS BYTES LEN LEN START TIME EXPIRE NAME NAME
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
10 203.0.113.1 203.0.113.11 61478 443 0 6 16 0 203.0.113.254 3399 286304 60 1339 Sun Apr 8 10:23:05 2018 599 gre1 ge0/6
10 203.0.113.11 203.0.113.1 443 61478 0 6 24 0 203.0.113.1262556 192965 40 1340 Sun Apr 8 10:23:05 2018 592 ge0/6 gre1
GRE 인터페이스에서 KA(keepalive)를 비활성화하는 예:
기본 KA는 10(hello-interval) 및 3(tolerance)입니다.
KA가 0이면 GRE 인터페이스에서 KA를 비활성화합니다.
vEdge# show running-config vpn 0 interface gre* | details
vpn 0
interface gre1
description "Primary ZEN"
ip address <ip/mask>
keepalive 0 0
tunnel-source
tunnel-destination
no clear-dont-fragment
mtu 1500
tcp-mss-adjust 1300
no shutdown
!
UP/Down인 GRE 인터페이스가 UP/UP로 표시됩니다(KA 검사를 통해).
KA가 꺼져 있을 때 TX 카운터가 증가하므로 TX 카운터를 참조하십시오. 즉, vEdge가 패킷의 TX이지만 원격 문제를 가리키는 RX 카운터가 증가하지 않습니다.
vEdge# show interface gre*
IF IF TCP
ADMIN OPER ENCAP PORT SPEED MSS RX TX
VPN INTERFACE IP ADDRESS STATUS STATUS TYPE TYPE MTU HWADDR MBPS DUPLEX ADJUST UPTIME PACKETS PACKETS
---------------------------------------------------------------------------------------------------------------------------------------------------
### With KA ON
0 gre1 192.0.2.1/30 Up Down null service 1500 cb:eb:98:02:00:00 - - 1300 - 413218129 319299248
### With KA OFF
0 gre1 192.0.2.1/30 Up Up null service 1500 cb:eb:98:02:00:00 100 half 1300 0:00:01:19 413218129 319299280