듀얼클라우드접근방식을사용한이중화허브설계의 FlexVPN 스포크컨피그레이션예 목차 소개사전요구사항요구사항사용되는구성요소구성네트워크다이어그램전송네트워크오버레이네트워크스포크구성스포크터널인터페이스구성 BGP(Spoke Border Gateway Protocol) 구성허브구성로컬풀허브 BGP 컨피그레이션다음을확인합니다. 문제해결 소개 이문서에서는여러허브가사용가능한시나리오에서 FlexVPN 클라이언트컨피그레이션블록을사용하여 FlexVPN 네트워크에서스포크를구성하는방법에대해설명합니다. 사전요구사항 요구사항 다음주제에대한지식을보유하고있으면유용합니다. FlexVPN Cisco 라우팅프로토콜 사용되는구성요소 이문서의정보는다음소프트웨어및하드웨어버전을기반으로합니다.
Cisco G2 Series ISR(Integrated Service Router) Cisco IOS 버전 15.2M 이문서의정보는특정랩환경의디바이스를토대로작성되었습니다. 이문서에사용된모든디바이스는초기화된 ( 기본 ) 컨피그레이션으로시작되었습니다. 현재네트워크가작동중인경우, 모든명령어의잠재적인영향을미리숙지하시기바랍니다. 구성 이중화를위해스포크는여러허브에연결해야할수있습니다. 스포크측의이중화를통해허브측에서단일장애지점없이지속적인작업을수행할수있습니다. 스포크컨피그레이션을사용하는가장일반적인두가지 FlexVPN 이중화허브설계는다음과같습니다. 듀얼클라우드방식으로, 스포크에두개의개별터널이항상두허브에활성화되어있습니다. 장애조치방식 : 스포크에지정된시점에하나의허브가있는활성터널이있습니다. 두접근방식모두고유한장단점을가지고있다. 접근방식 듀얼클라우드 장애조치 장점 라우팅프로토콜타이머를기반으로장애발생시더빠른복구 두허브에대한연결이활성상태이므로허브간에트래픽을분산할수있는가능성증가 손쉬운구성 - FlexVPN에내장 장애시라우팅프로토콜에의존하지않음 단점 Spoke는두허브에대한세션을동시에유관리하므로두허브의리소스를모두사용니다. 느린복구시간 - DPD(Dead Peer Detectio 또는 ( 선택사항 ) 객체추적을기반으로함 모든트래픽은한번에하나의허브로이동해야합니다. 이문서에서는첫번째접근방식에대해설명합니다. 이컨피그레이션에대한접근방식은 DMVPN(Dynamic Multipoint VPN) 듀얼클라우드컨피그레이션과유사합니다. 허브및스포크의기본컨피그레이션은 DMVPN 에서 FlexVPN 으로의마이그레이션문서를기반으로합니다.FlexVPN 마이그레이션을참조하십시오. 이컨피그레이션에대한설명을보려면동일한디바이스의 DMVPN 에서 FlexVPN 으로하드이동문서를참조하십시오. 네트워크다이어그램 전송네트워크 이다이어그램은 FlexVPN 네트워크에서일반적으로사용되는기본전송네트워크를보여줍니다.
오버레이네트워크 이다이어그램은장애조치가작동하는방법을보여주는논리적연결이있는오버레이네트워크를보여줍니다. 정상작동중에스포크 1 과스포크 2 는두허브와관계를유지합니다. 장애가발생하면라우팅프로토콜은한허브에서다른허브로전환됩니다.
참고 : 다이어그램에서녹색선은허브 1 에대한 IKEv2(Internet Key Exchange Version 2)/Flex 세션의연결및방향을보여주고파란색선은허브 2 에대한연결을나타냅니다. 두허브모두오버레이클라우드에서별도의 IP 주소를유지합니다./24 주소는실제인터페이스주소지정이아닌이클라우드에할당된주소풀을나타냅니다. 이는 FlexVPN 허브가일반적으로스포크인터페이스에동적 IP 주소를할당하고 FlexVPN 권한부여블록의경로명령을통해동적으로삽입되는경로를사용하기때문입니다. 스포크구성 스포크터널인터페이스구성 이예에서사용되는일반적인컨피그레이션은 2 개의개별대상주소를가진 2 개의터널인터페이스입니다. interface Tunnel1 ip address negotiated ip mtu 1400 ip nhrp network-id 2 ip nhrp shortcut virtual-template 1 ip nhrp redirect ip tcp adjust-mss 1360 tunnel source Ethernet0/0 tunnel destination 172.25.1.1 tunnel path-mtu-discovery tunnel protection ipsec profile default
interface Tunnel2 ip address negotiated ip mtu 1400 ip nhrp network-id 2 ip nhrp shortcut virtual-template 1 ip nhrp redirect ip tcp adjust-mss 1360 tunnel source Ethernet0/0 tunnel destination 172.25.2.1 tunnel path-mtu-discovery tunnel protection ipsec profile default 스포크투스포크터널이제대로형성되도록하려면가상템플릿 (VT) 이필요합니다. interface Virtual-Template1 type tunnel ip unnumbered ethernet1/0 ip mtu 1400 ip nhrp network-id 2 ip nhrp shortcut virtual-template 1 ip nhrp redirect ip tcp adjust-mss 1360 tunnel path-mtu-discovery tunnel protection ipsec profile default Spoke 는 VRF(Virtual Routing and Forwarding) 의 LAN 인터페이스를나타내는번호가지정되지않은인터페이스를사용하며, 이경우전역입니다. 그러나루프백인터페이스를참조하는것이나을수있습니다. 이는루프백인터페이스가거의모든조건에서온라인상태를유지하기때문입니다. BGP(Spoke Border Gateway Protocol) 구성 Cisco 에서는오버레이네트워크에서사용할라우팅프로토콜로 ibgp 를권장하기때문에이문서에서는이컨피그레이션만다룹니다. 참고 : 스포크는두허브에대한 BGP 연결성을유지해야합니다. router bgp 65001 bgp log-neighbor-changes network 192.168.101.0 neighbor 10.1.1.1 remote-as 65001 neighbor 10.1.1.1 fall-over neighbor 10.2.2.1 remote-as 65001 neighbor 10.2.2.1 fall-over 이컨피그레이션의 FlexVPN 에는기본또는보조허브개념이없습니다. 관리자는라우팅프로토콜이다른허브보다다른허브를선호하는지아니면일부시나리오에서로드밸런싱을수행할지를결정합니다. 스포크장애조치및통합고려사항 스포크가실패를감지하는데걸리는시간을최소화하려면이두가지일반적인방법을사용합니다. BGP 타이머를줄입니다. 기본보류시간으로인해장애조치가발생합니다. 이문서에서설명하는 BGP Fall-over를구성합니다. BGP Support for Fast Peering Session Deactivation.
대부분의 FlexVPN 구축에서는권장되지않으므로 BFD(Bidirectional Forwarding Detection) 를사용하지마십시오. 스포크투스포크터널및장애조치 스포크투스포크터널은 NHRP(Next Hop Resolution Protocol) 바로가기스위칭을사용합니다.Cisco IOS 는이러한바로가기가 NHRP 경로임을나타냅니다 ( 예 : Spoke1#show ip route nhrp (...) 192.168.102.0/24 is variably subnetted, 2 subnets, 2 masks H 192.168.102.0/24 [250/1] via 10.2.2.105, 00:00:21, Virtual-Access1 이러한경로는 BGP 연결이만료될때만료되지않습니다. 대신기본적으로 2 시간인 NHRP holdtime 에대해보유됩니다. 즉, 활성스포크투스포크터널이장애상태에서도작동중입니다. 허브구성 로컬풀 Network Diagram 섹션에서설명한대로두허브는서로다른 IP 주소지정을유지합니다. 허브 1 ip local pool FlexSpokes 10.1.1.100 10.1.1.254 허브 2 ip local pool FlexSpokes 10.2.2.100 10.2.2.254 허브 BGP 컨피그레이션 허브 BGP 컨피그레이션은이전예와유사한상태로유지됩니다. 이출력은 LAN IP 주소가 192.168.0.1 인허브 1 에서가져옵니다. router bgp 65001 bgp log-neighbor-changes bgp listen range 10.1.1.0/24 peer-group Spokes network 192.168.0.0 aggregate-address 192.168.0.0 255.255.0.0 summary-only neighbor Spokes peer-group neighbor Spokes remote-as 65001 neighbor Spokes fall-over neighbor 192.168.0.2 remote-as 65001 neighbor 192.168.0.2 route-reflector-client neighbor 192.168.0.2 next-hop-self all neighbor 192.168.0.2 unsuppress-map ALL route-map ALL permit 10
match ip address 1 ip access-list standard 1 permit any 기본적으로이것은다음과같습니다. 로컬 FlexVPN 주소풀이 BGP 수신대기범위에있습니다. 로컬네트워크는 192.168.0.0/24입니다. 요약은스포크에만광고됩니다.Aggregate-address 컨피그레이션은 null0 인터페이스를통해해당접두사에대한고정경로를생성합니다. 이는라우팅루프를방지하기위해사용되는폐기경로입니다. 모든특정접두사는다른허브에광고됩니다.iBGP 연결이므로경로리플렉터컨피그레이션이필요합니다. 이다이어그램은하나의 FlexVPN 클라우드에서스포크와허브간의 BGP 접두사교환을나타냅니다. 참고 : 다이어그램에서녹색선은스포크가허브에제공한정보를나타내고, 빨간색선은각허브가스포크에제공한정보를나타내며 ( 요약만해당 ), 파란색선은허브간에교환되는접두사를나타냅니다. 다음을확인합니다. 각스포크는두허브와의연결을유지하므로 show crypto ikev2 sa 명령과함께두 IKEv2 세션이표시됩니다.
IPv4 Crypto IKEv2 SA Tunnel-id Local Remote fvrf/ivrf Status 3 172.16.1.2/500 172.16.2.2/500 none/none READY Encr: AES-CBC, keysize: 256, Hash: SHA512, DH Grp:5, Auth sign: PSK, Auth verify: PSK Life/Active Time: 86400/3147 sec Tunnel-id Local Remote fvrf/ivrf Status 1 172.16.1.2/500 172.25.2.1/500 none/none READY Encr: AES-CBC, keysize: 256, Hash: SHA512, DH Grp:5, Auth sign: PSK, Auth verify: PSK Life/Active Time: 86400/3256 sec 라우팅프로토콜정보를보려면다음명령을입력합니다. show bgp ipv4 unicast show bgp summary 스포크에서요약접두사가허브에서수신되고두허브에대한연결이활성화되어있음을확인해야합니다. Spoke1#show bgp ipv4 unicast BGP table version is 4, local router ID is 192.168.101.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter, x best-external, a additional-path, c RIB-compressed, Origin codes: i - IGP, e - EGP,? - incomplete RPKI validation codes: V valid, I invalid, N Not found Network Next Hop Metric LocPrf Weight Path *>i 192.168.0.0/16 10.1.1.1 0 100 0 i * i 10.2.2.1 0 100 0 i *> 192.168.101.0 0.0.0.0 0 32768 i Spoke1#show bgp summa Spoke1#show bgp summary BGP router identifier 192.168.101.1, local AS number 65001 BGP table version is 4, main routing table version 4 2 network entries using 296 bytes of memory 3 path entries using 192 bytes of memory 3/2 BGP path/bestpath attribute entries using 408 bytes of memory 0 BGP route-map cache entries using 0 bytes of memory 0 BGP filter-list cache entries using 0 bytes of memory BGP using 896 total bytes of memory BGP activity 2/0 prefixes, 3/0 paths, scan interval 60 secs Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 10.1.1.1 4 65001 7 7 4 0 0 00:00:17 1 10.2.2.1 4 65001 75 72 4 0 0 01:02:24 1 문제해결 트러블슈팅에는두가지주요블록이있습니다. IKE(Internet Key Exchange) IPsec( 인터넷프로토콜보안 ) 다음과같은관련 show 명령이있습니다.
show crypto ipsec sa show crypto ikev2 sa 관련 debug 명령은다음과같습니다. debug crypto ikev2 [internal packet] debug crypto ipsec debug vtemplate event 관련라우팅프로토콜은다음과같습니다. show bgp ipv4 unicast (or show ip bgp) show bgp summary