[GNS3] DMVPN Setting

라우팅이 다 되어있는 환경에서의 명령어입니다.
============================================================================================
HQ Router Command
Tunnel 0 (HQ → FR Tunnel)
HQ(config)#interface Tunnel0 //Tunnel 0 생성
HQ(config-if)#ip address 10.0.0.1 255.255.255.0 //가상의 IP 설정
HQ(config-if)#ip nhrp map multicast dynamic // IP주소가 멀티캐스트인 경우 동적으로 등록된 NHRP주소로 전송
HQ(config-if)#ip nhrp network-id 1 //NHRP id 설정
HQ(config-if)#tunnel source Loopback0 //터널 출발지를 루프백으로 설정
HQ(config-if)#tunnel mode gre multipoint //터널 모드를 멀티포인트로 설정
HQ → BR1, BR2, BR3 Encryption
BR1(config)#crypto isakmp policy 10
BR1(config-isakmp)#encryption aes //대칭키 알고리즘인 aes를 암호화로 사용
BR1(config-isakmp)#authentication pre-share //Pre-share를 인증으로 사용
BR1(config-isakmp)#group 14 //Group 14로 암호화 설정
BR1(config)#crypto isakmp key cisco address 0.0.0.0 //로컬 호스트의 모든 호스트에 접근이 가능하고 cisco로 암호화키 설정
============================================================================================
BR1 Router Command
Tunnel 0 (BR1 → HQ, BR2, BR3 Tunnel)
BR1(config)#interface Tunnel0 //Tunnel 0 생성
BR1(config-if)#ip address 10.0.0.2 255.255.255.0 //가상의 IP 설정
BR1(config-if)#ip nhrp map multicast 1.1.1.1 //멀티캐스트 패킷은 1.1.1.1에게만 전송
BR1(config-if)#ip nhrp map 10.0.0.1 1.1.1.1 //10.0.0.1에서 온 NHRP map을 1.1.1.1에게 전송 *static 형식
BR1(config-if)#ip nhrp network-id 1 //NHRP id 설정
BR1(config-if)#ip nhrp nhs 10.0.0.1 //NHS를 10.0.0.1로 설정
BR1(config-if)#tunnel source Loopback0 //터널 출발지를 루프백으로 설정
BR1(config-if)#tunnel mode gre multipoint //터널 모드를 멀티포인트로 설정
BR1 → HQ, BR2, BR3 Encryption
BR1(config)#crypto isakmp policy 10
BR1(config-isakmp)#encryption aes //대칭키 알고리즘인 aes를 암호화로 사용
BR1(config-isakmp)#authentication pre-share //Pre-share를 인증으로 사용
BR1(config-isakmp)#group 14 //Group 14로 암호화 설정
BR1(config)#crypto isakmp key cisco address 0.0.0.0 //로컬 호스트의 모든 호스트에 접근이 가능하고 cisco로 암호화키 설정
============================================================================================
BR2 Router Command
Tunnel 0 (BR2 → HQ, BR1, BR3 Tunnel)
BR2(config)#interface Tunnel0 //Tunnel 0 생성
BR2(config-if)#ip address 10.0.0.3 255.255.255.0 //가상의 IP 설정
BR2(config-if)#ip nhrp map multicast 1.1.1.1 //멀티캐스트 패킷은 1.1.1.1에게만 전송
BR2(config-if)#ip nhrp map 10.0.0.1 1.1.1.1 //10.0.0.1에서 온 NHRP map을 1.1.1.1에게 전송 *static 형식
BR2(config-if)#ip nhrp network-id 1 //NHRP id 설정
BR2(config-if)#ip nhrp nhs 10.0.0.1 //NHS를 10.0.0.1로 설정
BR2(config-if)#tunnel source Loopback0 //터널 출발지를 루프백으로 설정
BR2(config-if)#tunnel mode gre multipoint //터널 모드를 멀티포인트로 설정
BR1 → HQ, BR2, BR3 Encryption
BR2(config)#crypto isakmp policy 10
BR2(config-isakmp)#encryption aes //대칭키 알고리즘인 aes를 암호화로 사용
BR2(config-isakmp)#authentication pre-share //Pre-share를 인증으로 사용
BR2(config-isakmp)#group 14 //Group 14로 암호화 설정
BR2(config)#crypto isakmp key cisco address 0.0.0.0 //로컬 호스트의 모든 호스트에 접근이 가능하고 cisco로 암호화키 설정
============================================================================================
BR3 Router Command
Tunnel 0 (BR3 → HQ, BR1, BR2 Tunnel)
BR3(config)#interface Tunnel0 //Tunnel 0 생성
BR3(config-if)#ip address 10.0.0.4 255.255.255.0 //가상의 IP 설정
BR3(config-if)#ip nhrp map multicast 1.1.1.1 //멀티캐스트 패킷은 1.1.1.1에게만 전송
BR3(config-if)#ip nhrp map 10.0.0.1 1.1.1.1 //10.0.0.1에서 온 NHRP map을 1.1.1.1에게 전송 *static 형식
BR3(config-if)#ip nhrp network-id 1 //NHRP id 설정
BR3(config-if)#ip nhrp nhs 10.0.0.1 //NHS를 10.0.0.1로 설정
BR3(config-if)#tunnel source Loopback0 //터널 출발지를 루프백으로 설정
BR3(config-if)#tunnel mode gre multipoint //터널 모드를 멀티포인트로 설정
BR3 → HQ, BR1, BR2 Encryption
BR3(config)#crypto isakmp policy 10
BR3(config-isakmp)#encryption aes //대칭키 알고리즘인 aes를 암호화로 사용
BR3(config-isakmp)#authentication pre-share //Pre-share를 인증으로 사용
BR3(config-isakmp)#group 14 //Group 14로 암호화 설정
BR3(config)#crypto isakmp key cisco address 0.0.0.0 //로컬 호스트의 모든 호스트에 접근이 가능하고 cisco로 암호화키 설정
============================================================================================
NHRP(Next Hop Resolution Protocol)란 터널 인터페이스로 연결된 상대방의 터널의 IP와 목적지 IP를 자동으로 학습하는 것이다.

NHS(Next Hop Server), NHC(Next Hop Client) 쉽게 생각하면 NHS는 허브, NHC는 스포크이다.DMVPN(Dynamic Multipoint VPN)이란 허브 앤 스포크 환경에서 허브를 거치지 않고 스포크 끼리만 통신을 지원한다.이 DMVPN은 Cisco IOS 기반으로 되어 있고 IPsec, GRE랑 NHRP를 이용하여서 쉽고 확장성이 좋게 만들었다.그리고 Cisco사는 DMVPN 구성시 EIGRP를 권장한다. 그리고 장점은 다른 스포크 장비가 들어오면 허브에서 다른 구성을 안 해줘도 괜찮다.