/*auto readmore*/ /*auto readmore*/ /* an hien script*/ // an hien password /*an hien ma chuong trinh cong tru */ /*Scrollbox thanh cuon*/ /***Nhung CODE***/ /* dòng xanh dòng trắng */ /* https://cdnjs.com/libraries/prism lay thu vien, can vao ten file ma goi 1. copy link vao vi du:prism-python.min.js 2. ten ngon nua la python */ /*=== New posts ===*/ /*header slider*/ /*=== bai viet lien quan===*/ /*===tabcode===*/

Cisco, Dynamic Multipoint VPN - DMVPN Phase 1 Basic Configuration - HUB, SPOKES

Giới thiệu: Ở bài GRE VPN căn bản vì đó là GRE theo kiểu kết nối point-to-point nên có bao nhiêu site thì ở Router chính phải tạo ra bấy nhiêu tunnel. Tiếp theo chúng ta tìm hiểu về multipoint GRE - mGRE hay Dynamic Multipoint VPN - DMVPN cho phép tạo một tunnel nhưng có thể kết nối được nhiều site, DMVPN có rất nhiều phase và mỗi phase có cách hoạt động sẽ khác nhau. Chủ đề này chúng ta chỉ dừng lại các router R1, R2, R3 thiết lập được tunnel.

Bài Lab:


Các kiến thứ dùng trong bài: OSPF, DMVPN


Yêu cầu
1. Cấu hình ban đầu: Cấu hình OSPF đảm bảo mọi ip public phải ping thấy nhau
  • R1
!
interface Ethernet0/1
ip address 1.1.1.1 255.255.255.0
ip ospf 1 area 0
end
!
interface Loopback0
ip address 192.168.1.1 255.255.255.0
end
!
router ospf 1
router-id 1.1.1.1
  • R2
!
interface Ethernet0/2
ip address 2.2.2.2 255.255.255.0
ip ospf 1 area 0
end
!
interface Loopback0
ip address 192.168.2.1 255.255.255.0
end
!
router ospf 1
router-id 2.2.2.2
  • R3
!interface Ethernet0/3
 ip address 3.3.3.3 255.255.255.0
 ip ospf 1 area 0
end
!
interface Loopback0
 ip address 192.168.3.1 255.255.255.0
end
!
router ospf 1
router-id 3.3.3.3
  • R4

interface Ethernet0/1
ip address 1.1.1.4 255.255.255.0
ip ospf 1 area 0
end
!
interface Ethernet0/2
ip address 2.2.2.4 255.255.255.0
ip ospf 1 area 0
end
!
interface Ethernet0/3
ip address 3.3.3.4 255.255.255.0
ip ospf 1 area 0
end
!
router ospf 1
router-id 4.4.4.4

!Kiểm tra sau khi cấu hình OSPF
!R1
R1#show ip route ospf
đã xóa 1 số dòng không cần thiết
      2.0.0.0/24 is subnetted, 1 subnets
O        2.2.2.0 [110/20] via 1.1.1.4, 00:01:32, Ethernet0/1
      3.0.0.0/24 is subnetted, 1 subnets
O        3.3.3.0 [110/20] via 1.1.1.4, 00:01:32, Ethernet0/1
!R2
R2#show ip route ospf 
đã xóa 1 số dòng không cần thiết
      1.0.0.0/24 is subnetted, 1 subnets
O        1.1.1.0 [110/20] via 2.2.2.4, 00:00:53, Ethernet0/2
      3.0.0.0/24 is subnetted, 1 subnets
O        3.3.3.0 [110/20] via 2.2.2.4, 00:02:42, Ethernet0/2
!R3
R3#show ip route ospf
đã xóa 1 số dòng không cần thiết
      1.0.0.0/24 is subnetted, 1 subnets
O        1.1.1.0 [110/20] via 3.3.3.4, 00:01:17, Ethernet0/3
      2.0.0.0/24 is subnetted, 1 subnets
O        2.2.2.0 [110/20] via 3.3.3.4, 00:03:06, Ethernet0/3

2. Cấu hình mGRE giữa R1, R2, R3 
Gợi ý cấu hình

R1 - HUB 
interface Tunnel0
description ===mGRE - DMVPN Tunnel===
ip address 172.16.0.1 255.255.255.0
ip nhrp authentication cisco
ip nhrp map multicast dynamic
ip nhrp network-id 1 tunnel source ethernet 0/1
tunnel mode gre multipoint
end


Giải thích các dòng lệnh
  • tunnel mode: mặt định tunnel mode sẽ là point-to-point GRE, chúng ta cấu hình là multipoint trên interface Tunnel0 của R1 hub.
  • tunnel source: tunnel destinations sẽ là dynamic, nhưng chúng ta phải cấu hình là interface ethernet 0/1.
  • ip nhrp authentication: chúng ta có thể chứng thực trên NHRP riêng và đó là tùy chọn, tuy nhiên ở đây chúng ta chứng thực pre-shared key là “cisco”.
  • ip nhrp map multicast dynamic: với dòng này cho chúng ta biết đâu là router để forward gói multicast packets đến. Vì không biết địa chỉ IP của các spoke routers nên chúng ta cấu hình dynamic để tự thêm địa chỉ IP của spoke router vào danh sách multicast destination khi spoke đăng ký.
  • ip nhrp network-id: khi cấu hình multiple DMVPN thì cần phải có Network-ID khác nhau giữa các network. Giá trị này chỉ có giá trị local của router mà thôi, tuy nhiên để dễ hơn trong việc troubleshooting chúng ta nên dùng chung 1 network-id trong một mạng.  

Quan sát trên R1 ta thấy tunnel actvie và trạng thái up
R1#
*Jul 30 07:40:58.732: %LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel0, changed state to up

Cấu hình trên các Spoke Router

!R2 

interface Tunnel0
description ===R2 mGRE - DMVPN Tunnel===
ip address 172.16.0.2 255.255.255.0
ip nhrp authentication cisco
ip nhrp map multicast 1.1.1.1
ip nhrp map 172.16.0.1 1.1.1.1
ip nhrp network-id 1
ip nhrp nhs 172.16.0.1
tunnel source Ethernet0/2
tunnel destination 1.1.1.1
end
  • ip nhrp map: trên spoke router sẽ tạo ip 172.16.0.1 để map vào tunnel và hub NBMA (NonBroadcast MulticastAccess) địa chỉ là 1.1.1.1 và nó sẽ lưu NHRP vào cache spoke router.
  • ip nhrp map multicast: nơi sẽ nhận broadcast hay multicast  traffic thông qua interfac tennel. Nhập địa chỉ NHRP vào đây vì nó sẽ dùng trong các giao thức routing (RIP, OSFP, EIGRP) yêu cầu multicast
  • ip nhrp nhs: chỉ ra NHRP server hay hub router.
  • tunnel destination: chúng ta sử dụng point-to-point GRE, nên cần chỉ rỏ đích của tunnel ở đây là R1 hub router.  
Quan sát trên R2 ta thấy tunnel actvie và trạng thái up

R2(config-if)#
*Jul 30 08:15:41.374: %LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel0, changed state to up

!Kiểm chứng

R1#show dmvpn
Legend: Attrb --> S - Static, D - Dynamic, I - Incomplete
        N - NATed, L - Local, X - No Socket
        # Ent --> Number of NHRP entries with same NBMA peer
        NHS Status: E --> Expecting Replies, R --> Responding, W --> Waiting
        UpDn Time --> Up or Down Time for a Tunnel
==========================================================================

Interface: Tunnel0, IPv4 NHRP Details 
Type:Hub, NHRP Peers:1, 

 # Ent  Peer NBMA Addr Peer Tunnel Add State  UpDn Tm Attrb
 ----- --------------- --------------- ----- -------- -----
     1   2.2.2.2                          172.16.0.2      UP   00:45:29     D

Ta thấy địa chỉ tunnel 172.16.0.2 của R2 spoke được đăng ký trên NBMA 2.2.2.2, nằm trong cache của R1-HUB. 

R1#show ip nhrp
172.16.0.2/32 via 172.16.0.2
   Tunnel0 created 00:56:55, expire 01:43:04
   Type: dynamic, Flags: unique registered used 
   NBMA address: 2.2.2.2 

Ta thấy NHRP đăng ký từ spoke đến HUB, để rỏ hơn quá quá trình đăng ký thế nào trước tiên trên R1-HUB ta shutdown interface tunnel0, bật debug nhrp trên R1 và R2 sau đó NO shutdown interface tunnel0 và quan sát

!R1, R2

configure terminal
interface tunnel 0
shutdown
end
debug nhrp
configure terminal
interface tunnel 0
no shutdown

Quan sát trên R1

*Aug  1 03:36:40.764: NHRP: Receive Registration Request via Tunnel0 vrf 0, packet size: 105
*Aug  1 03:36:40.764: NHRP: netid_in = 1, to_us = 1
*Aug  1 03:36:40.764: NHRP: Tunnels gave us pak src: 2.2.2.2
*Aug  1 03:36:40.764: NHRP-ATTR: In nhrp_cache_pak LINE: 1412

*Aug  1 03:36:40.764: NHRP: Adding Tunnel Endpoints (VPN: 172.16.0.2, NBMA: 2.2.2.2)
*Aug  1 03:36:40.765: NHRP: Successfully attached NHRP subblock for Tunnel Endpoints (VPN: 172.16.0.2, NBMA: 2.2.2.2)
*Aug  1 03:36:40.765: NHRP: Enqueued dynamic mapping to end of list
*Aug  1 03:36:40.765: NHRP: Tu0: Creating dynamic multicast mapping  NBMA: 2.2.2.2
*Aug  1 03:36:40.765: NHRP: Added dynamic multicast mapping for NBMA: 2.2.2.2
*Aug  1 03:36:40.765: NHRP: New mandatory length: 32
*Aug  1 03:36:40.765: NHRP: Attempting to send packet via DEST 172.16.0.2
*Aug  1 03:36:40.765: NHRP: Encapsulation succeeded.  Sending NHRP Control Packet  NBMA Address: 2.2.2.2
*Aug  1 03:36:40.765: NHRP: Send Registration Reply via Tunnel0 vrf 0, packet size: 125
*Aug  1 03:36:40.765:       src: 172.16.0.1, dst: 172.16.0.2
*Aug  1 03:36:40.765: NHRP: 149 bytes out Tunnel0 
*Aug  1 03:36:41.757: NHRP-ATTR: ext_type: 32771, ext_len : 0 

*Aug  1 03:36:41.757: NHRP-ATTR: ext_type: 32772, ext_len : 0 

*Aug  1 03:36:41.757: NHRP-ATTR: ext_type: 32773, ext_len : 0 

*Aug  1 03:36:41.757: NHRP-ATTR: ext_type: 32775, ext_len : 9 

*Aug  1 03:36:41.757: NHRP-ATTR: ext_type: 9, ext_len : 20 

*Aug  1 03:36:41.757: NHRP-ATTR: ext_type: 32768, ext_len : 0 

*Aug  1 03:36:41.757: NHRP: Receive Registration Request via Tunnel0 vrf 0, packet size: 105
*Aug  1 03:36:41.757: NHRP: netid_in = 1, to_us = 1
*Aug  1 03:36:41.757: NHRP: Tunnels gave us pak src: 2.2.2.2
*Aug  1 03:36:41.757: NHRP-ATTR: In nhrp_cache_pak LINE: 1412

*Aug  1 03:36:41.757: NHRP: Adding Tunnel Endpoints (VPN: 172.16.0.2, NBMA: 2.2.2.2)
*Aug  1 03:36:41.757: NHRP: NHRP subblock already exists for Tunnel Endpoints (VPN: 172.16.0.2, NBMA: 2.2.2.2)
*Aug  1 03:36:41.757: NHRP: Cache already has a subblock node attached for Tunnel Endpoints (VPN: 172.16.0.2, NBMA: 2.2.2.2)
*Aug  1 03:36:41.757: NHRP: nhrp_subblock_check_for_map() - Map Already Exists
*Aug  1 03:36:41.757: NHRP: New mandatory length: 32
*Aug  1 03:36:41.757: NHRP: 
R1(config-if)#Attempting to send packet via DEST 172.16.0.2
*Aug  1 03:36:41.757: NHRP: Encapsulation succeeded.  Sending NHRP Control Packet  NBMA Address: 2.2.2.2
*Aug  1 03:36:41.757: NHRP: Send Registration Reply via Tunnel0 vrf 0, packet size: 125
*Aug  1 03:36:41.757:       src: 172.16.0.1, dst: 172.16.0.2
*Aug  1 03:36:41.757: NHRP: 149 bytes out Tunnel0 

  • Quan sát trên R2
R2(config-if)#
*Aug  1 03:36:39.750: NHRP: if_up: Tunnel0 proto 'NHRP_IPv4'
*Aug  1 03:36:39.750: NHRP: Registration with Tunnels Decap Module succeeded
*Aug  1 03:36:39.750: NHRP: Adding all static maps to cache
*Aug  1 03:36:40.758: NHRP-ATTR:  Requester Ext Len: Total ext_len  with NHRP attribute VPE 53

*Aug  1 03:36:40.758: NHRP: NHS 172.16.0.1 Tunnel0 vrf 0 Cluster 0 Priority 0 Transitioned to 'E' from ' ' 

*Aug  1 03:36:40.758: NHRP: Attempting to send packet via DEST 172.16.0.1
*Aug  1 03:36:40.758: NHRP: Send Registration Request via Tunnel0 vrf 0, packet size: 105
*Aug  1 03:36:40.758:       src: 172.16.0.2, dst: 172.16.0.1
*Aug  1 03:36:40.763: NHRP: 129 bytes out Tunnel0 
*Aug  1 03:36:40.766: NHRP-ATTR: ext_type: 32771, ext_len : 20 

*Aug  1 03:36:40.766: NHRP-ATTR: ext_type: 32772, ext_len : 0 

*Aug  1 03:36:40.766: NHRP-ATTR: ext_type: 32773, ext_len : 0 

*Aug  1 03:36:40.766: NHRP-ATTR: ext_type: 32775, ext_len : 9 

*Aug  1 03:36:40.766: NHRP-ATTR: ext_type: 9, ext_len : 20 

*Aug  1 03:36:40.766: NHRP-ATTR: ext_type: 32768, ext_len : 0 
*Aug  1 03:36:40.766: NHRP: Receive Registration Reply via Tunnel0 vrf 0, packet size: 125
*Aug  1 03:36:40.766: NHRP: netid_in = 0, to_us = 1
*Aug  1 03:36:40.766: NHRP: NHS 172.16.0.1 Tunnel0 vrf 0 Cluster 0 Priority 0 Transitioned to 'RE' from 'E' 
*Aug  1 03:36:40.766: NHRP: NHS-UP: 172.16.0.1
*Aug  1 03:36:41.755: %LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel0, changed state to up
*Aug  1 03:36:41.755: NHRP: if_up: Tunnel0 proto 'NHRP_IPv4'
*Aug  1 03:36:41.755: NHRP: Registration with Tunnels Decap Module succeeded
*Aug  1 03:36:41.755: NHRP: Adding all static maps to cache
*Aug  1 03:36:41.755: NHRP-ATTR:  Requester Ext Len: Total ext_len  with NHRP attribute VPE 53

*Aug  1 03:36:41.755: NHRP: Attempting to send packet via DEST 172.16.0.1
*Aug  1 03:36:41.755: NHRP: Send Registration Request via Tunnel0 vrf 0, packet size: 105
*Aug  1 03:36:41.755:       src: 172.16.0.2, dst: 172.16.0.1
*Aug  1 03:36:41.755: NHRP: 129 bytes out Tunnel0 
*Aug  1 03:36:41.756: %LINK-3-UPDOWN: Interface Tunnel0, changed state to up
R2(config-if)#
*Aug  1 03:36:41.758: NHRP-ATTR: ext_type: 32771, ext_len : 20 

*Aug  1 03:36:41.758: NHRP-ATTR: ext_type: 32772, ext_len : 0 

*Aug  1 03:36:41.758: NHRP-ATTR: ext_type: 32773, ext_len : 0 

*Aug  1 03:36:41.758: NHRP-ATTR: ext_type: 32775, ext_len : 9 

*Aug  1 03:36:41.758: NHRP-ATTR: ext_type: 9, ext_len : 20 

*Aug  1 03:36:41.758: NHRP-ATTR: ext_type: 32768, ext_len : 0 

*Aug  1 03:36:41.758: NHRP: Receive Registration Reply via Tunnel0 vrf 0, packet size: 125
*Aug  1 03:36:41.758: NHRP: netid_in = 0, to_us = 1

Phân tích bắt gói wireshark trên R2




Tương tự R2 ta cấu hình cho R3

!R3

interface Tunnel0
description ===R3 mGRE - DMVPN Tunnel===
ip address 172.16.0.3 255.255.255.0
ip nhrp authentication cisco
ip nhrp map multicast 1.1.1.1
ip nhrp map 172.16.0.1 1.1.1.1
ip nhrp network-id 1
ip nhrp nhs 172.16.0.1
tunnel source Ethernet0/3
tunnel destination 1.1.1.1
end

Kiểm tra

R1#show dmvpn
Legend: Attrb --> S - Static, D - Dynamic, I - Incomplete
        N - NATed, L - Local, X - No Socket
        # Ent --> Number of NHRP entries with same NBMA peer
        NHS Status: E --> Expecting Replies, R --> Responding, W --> Waiting
        UpDn Time --> Up or Down Time for a Tunnel
==========================================================================

Interface: Tunnel0, IPv4 NHRP Details 

Type:Hub, NHRP Peers:2, 

 # Ent  Peer NBMA Addr Peer Tunnel Add State  UpDn Tm Attrb

 ----- --------------- --------------- ----- -------- -----
     1 2.2.2.2                             172.16.0.2    UP 00:23:55     D

     1 3.3.3.3                             172.16.0.3    UP 00:00:26     D

R1#show ip nhrp 

172.16.0.2/32 via 172.16.0.2
   Tunnel0 created 00:26:53, expire 01:33:07
   Type: dynamic, Flags: unique registered used 
   NBMA address: 2.2.2.2 
172.16.0.3/32 via 172.16.0.3
   Tunnel0 created 00:03:23, expire 01:56:36
   Type: dynamic, Flags: unique registered used 

   NBMA address: 3.3.3.3 

R1#ping 172.16.0.2

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.0.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms
R1#ping 172.16.0.3
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.0.3, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms

R3#ping 172.16.0.1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.0.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/4 ms

Kết luận: Đến đây các Router đã thiết lập được tunnel tuy nhiên các Loopback 0 của các router vẫn chưa kết nối được với nhau. Để giải quyết vấn đề này chúng ta phải quảng quá Route cho chúng. Cùng nhau tham khảo các chủ đề cấu hình DMVPN phase 1 với giao thức RIP, OSPF, EIGRP, BGP ở các bài viết sau.

Xong!

No comments:

Post a Comment

/*header slide*/