Hướng dẫn cấu hình DMVPN trên Router Cisco

 

Hướng dẫn cấu hình DMVPN trên Router Cisco

Trong bài viết này mình sẽ hướng dẫn các bạn cấu hình DMVPN kết hợp với mGRE, NHRP và IPSec để tạo các Tunnel kết nối giữa các chi nhánh

Trong các bài viết trước mình đã giới thiệu về DMVPN, NHRP cũng như cấu hình GRE kết hợp IPSec, các bạn có thể tham khảo các bài viết:

Trong bài viết này chúng ta sử dụng mô hình bao gồm 1 Trụ sở chính đóng vai trò là Hub và là Next Hop Server (NHS) chứa cơ sở dữ liệu NHRP và 3 chính nhánh (Spoke). Mục tiêu của chúng ta là kết nối các chinh nhánh tới trụ sở chính và tạo các Tunnel khi các chi nhánh cần giao tiếp với nhau. Các Tunnel này được mã hóa bằng IPSec để bảo mật dữ liệu. 

Các bước cấu hình bao gồm

  • Bước 1: cấu hình DMVPN Hub và Next Hop Server (NHS) trên Router tại trụ sở chính
  • Bước 2: cấu hình DMVPN Spoke trên các Router chi nhánh
  • Bước 3: cấu hình IPSec VPN và gán vào mGRE để bảo mật dữ liệu
  • Bước 4: cấu hình định tuyến giữa các DMVPN mGRE Tunnel

Hướng dẫn cấu hình DMVPN trên Router Cisco

Cấu hình DMVPN Hub

Với DMVPN trên Router Hub chúng ta chỉ cần tạo 1 Interface Tunnel để kết nối tới tất cả các chi nhánh. Chi tiết cấu hình:

HeadQuarter(config)#interface Tunnel0
HeadQuarter(config-if)#description DMVPN
HeadQuarter(config-if)#ip address 10.0.0.4 255.255.255.0
HeadQuarter(config-if)#no ip redirects
HeadQuarter(config-if)#ip nhrp authentication CNTTShop
HeadQuarter(config-if)#ip nhrp map multicast dynamic
HeadQuarter(config-if)#ip nhrp network-id 1
HeadQuarter(config-if)#tunnel source 4.4.4.4
HeadQuarter(config-if)#tunnel mode gre multipoint

Chúng ta có thể thấy ngay DMVPN không có Tunnel Destination, nó được thay thế bằng lệnh tunnel mode gre multipoint để sử dụng mGRE thay cho GRE.

Lệnh ip nhrp map multicast dynamic cho phép chuyển tiếp lưu lượng multicast qua các tunnel. Việc này giúp cho DMVPN hỗ trợ các giao thức định tuyến động như EIGRP, OSPF để cập nhật thông tin về các mạng nội bộ của các chi nhánh khi có sự thay đổi.

Lệnh ip nhrp network-id 1 dùng để xác định DMVPN. Các Router khi tham gia vào DMVPN phải có chung network-id.

Lệnh ip nhrp authentication CNTTShop để xác thực giữa các router khi cần truy vấn cơ sở dữ liệu NHRP.

Cấu hình trên Router Spoke

Việc cấu hình trên Router Spoke cũng tương tự như trên router Hub

Cấu hình router Branch1

Branch1(config)#interface Tunnel0
Branch1(config-if)#description DMVPN
Branch1(config-if)#ip address 10.0.0.1 255.255.255.0
Branch1(config-if)#no ip redirects
Branch1(config-if)#ip nhrp authentication CNTTShop
Branch1(config-if)#ip nhrp map multicast dynamic
Branch1(config-if)#ip nhrp map 10.0.0.4 4.4.4.4
Branch1(config-if)#ip nhrp map multicast 4.4.4.4
Branch1(config-if)#ip nhrp network-id 1
Branch1(config-if)#ip nhrp nhs 10.0.0.4
Branch1(config-if)#tunnel source E0/0
Branch1(config-if)#tunnel mode gre multipoint
  • ip nhrp nhs 10.0.0.4: cho router Spoke biết địa chỉ IP của Next Hop Server (NHS) để truy vấn cơ sở dữ liệu NHRP khi cần. 
  • ip nhrp map 10.0.0.4 4.4.4.4: map địa chỉ NHS với địa chỉ IP Public của Router Hub.
  • ip nhrp map multicast 4.4.4.4: chỉ định các Spoke chỉ được gửi gói tin Multicast tới Hub chứ không được gửi giữa các Spoke. Tất cả gói tin Multicast phải được gửi đến Hub xử lý sau đó mới cập nhật xuống Spoke.
  • tunnel source E0/0: lệnh này được cấu hình với các Spoke sử dụng địa chỉ IP động. Khi IP wan thay đổi, spoke sẽ cập nhật ip này lên NHS thông qua cổng E0/0. Với IP tĩnh chúng ta có thể chỉ định luôn địa chỉ IP wan trong lệnh này.

Tương tự chúng ta cấu hình trên Router Branch2 và 3

Cấu hình router Branch2

Branch2(config)#interface Tunnel0
Branch2(config-if)#description DMVPN
Branch2(config-if)#ip address 10.0.0.2 255.255.255.0
Branch2(config-if)#no ip redirects
Branch2(config-if)#ip nhrp authentication CNTTShop
Branch2(config-if)#ip nhrp map multicast dynamic
Branch2(config-if)#ip nhrp map 10.0.0.4 4.4.4.4
Branch2(config-if)#ip nhrp map multicast 4.4.4.4
Branch2(config-if)#ip nhrp network-id 1
Branch2(config-if)#ip nhrp nhs 10.0.0.4
Branch2(config-if)#tunnel source E0/0
Branch2(config-if)#tunnel mode gre multipoint

Cấu hình router Branch3

Branch3(config)#interface Tunnel0
Branch3(config-if)#description DMVPN
Branch3(config-if)#ip address 10.0.0.3 255.255.255.0
Branch3(config-if)#no ip redirects
Branch3(config-if)#ip nhrp authentication CNTTShop
Branch3(config-if)#ip nhrp map multicast dynamic
Branch3(config-if)#ip nhrp map 10.0.0.4 4.4.4.4
Branch3(config-if)#ip nhrp map multicast 4.4.4.4
Branch3(config-if)#ip nhrp network-id 1
Branch3(config-if)#ip nhrp nhs 10.0.0.4
Branch3(config-if)#tunnel source E0/0
Branch3(config-if)#tunnel mode gre multipoint

Kiểm tra cấu hình

Chúng ta sử dụng lệnh show dmvpn để kiểm tra xem các router Spoke đã tạo Tunnel kết nối đến Hub hay chưa:

HeadQuarter# 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
        UpDn Time --> Up or Down Time for a Tunnel
==========================================================================

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

 # Ent      Peer NBMA Addr    Peer Tunnel Add    State     UpDn Tm   Attrb
 -----     ---------------    ---------------    -----     -------   -----
     1      1.1.1.1           10.0.0.1           UP         00:04:58     D
     1      2.2.2.2           10.0.0.2           UP         00:04:12     D
     1      3.3.3.3           10.0.0.3           UP         00:04:14     D

Kiểm tra trên Router Spoke

Branch1# 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
        UpDn Time --> Up or Down Time for a Tunnel
==========================================================================

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

 # Ent   Peer NBMA Addr   Peer Tunnel Add    State     UpDn Tm   Attrb
 -----   --------------   ---------------    -----     -------   -----
     1   4.4.4.4          10.0.0.4           UP        00:06:35  S

Hiện tại khi mới cấu hình xong, trên các Router Spoke chỉ hiển thị Tunnel với Hub do các Tunnel này là tunnel tĩnh và có Attrb là S. Khi cần kết nối giữa các chi nhánh, các Spoke sẽ tạo các Tunnel động để giao tiếp, lúc này chúng ta show dmvpn sẽ hiển thị thêm thông tin của chi nhánh mà chúng ta kết nối đến và có Attrb là D.

Bảo mật DMVPN với IPSec

Mình đã hướng dẫn cấu hình IPSEC kết hợp với GRE trong bài viết GRE Tunnel là gì? Hướng dẫn cấu hình GRE Tunnel Trên Router Cisco. Vì vậy trong bài viết này mình sẽ không hướng dẫn chi tiết, các bạn có thể tham khảo trong bài viết trên.

Cấu hình IPSEC tương tự nhau trên 4 Router, chi tiết cấu hình:

crypto isakmp policy 1
encr 3des

hash md5
authentication pre-share
group 2
!
crypto isakmp key CNTTShop address 0.0.0.0
!
crypto ipsec transform-set TS esp-3des esp-md5-hmac
!
crypto ipsec profile IPSEC-DMVPN
set security-association lifetime seconds 86400
set transform-set TS
!
interface Tunnel 0
tunnel protection ipsec profile IPSEC-DMVPN

Lệnh crypto isakmp key CNTTShop address 0.0.0.0 có địa chỉ ip là 0.0.0.0 do các chi nhánh trong mô hình sử dụng IP động nên phải để 0.0.0.0 để match tất cả IP.

Định tuyến giữa các DMVPN Tunnel

Chúng ta cần cấu hình định tuyến để các Router biết khi nào đẩy gói tin qua DMVPN Tunnel. Chúng ta có thể cấu hình định tuyến tĩnh hoặc động như EIGRP, OSPF (do đã cho phép gói tin multicast đi qua tunnel bằng lệnh ip nhrp map multicast dynamic ở trên). Trong bài này mình sẽ sử dụng định tuyến tĩnh cho đơn giản.

Trên Router HeadQuarter:

HeadQuarter(config)#ip route 192.168.1.0 255.255.255.0 10.0.0.1
HeadQuarter(config)#ip route 192.168.2.0 255.255.255.0 10.0.0.2
HeadQuarter(config)#ip route 192.168.3.0 255.255.255.0 10.0.0.3

Trên Router Branch1:

Branch1(config)#ip route 192.168.4.0 255.255.255.0 10.0.0.4
Branch1(config)#ip route 192.168.2.0 255.255.255.0 10.0.0.2
Branch1(config)#ip route 192.168.3.0 255.255.255.0 10.0.0.3

Trên Router Branch2:

Branch2(config)#ip route 192.168.1.0 255.255.255.0 10.0.0.1
Branch2(config)#ip route 192.168.4.0 255.255.255.0 10.0.0.4
Branch2(config)#ip route 192.168.3.0 255.255.255.0 10.0.0.3

Trên Router Branch3:

Branch3(config)#ip route 192.168.1.0 255.255.255.0 10.0.0.1
Branch3(config)#ip route 192.168.2.0 255.255.255.0 10.0.0.2
Branch3(config)#ip route 192.168.4.0 255.255.255.0 10.0.0.4

Như vậy là chúng ta đã cấu hình xong DMVPN kết hợp với mGRE, NHRP và IPSec để kết nối các chi nhánh. Chúc các bạn thành công!

Nhận xét

Bài đăng phổ biến từ blog này

Cisco - Hướng dẫn backup cấu hình Router cisco bằng cách sử dụng TFTP