Loading...

Cách cấu hình GRE over IPsec VPN trên Cisco Router và tối ưu MTU/MSS

1. Tổng quan GRE over IPsec VPN

Khi cần kết nối mạng giữa các chi nhánh văn phòng qua môi trường Internet, GRE (Generic Routing Encapsulation) luôn là giải pháp hàng đầu nhờ khả năng đóng gói nhiều loại giao thức lớp Network và hỗ trợ hoàn hảo cho các giao thức định tuyến động như OSPF, EIGRP. Tuy nhiên, nhược điểm chí mạng của GRE là hoàn toàn không có cơ chế mã hóa dữ liệu.

Để bảo vệ các thông tin nhạy cảm của doanh nghiệp, giải pháp tối ưu được Cisco khuyến nghị là kết hợp IPsec (Internet Protocol Security) để tạo màng bọc mã hóa cho đường truyền GRE (gọi tắt là mô hình GRE over IPsec).

Bản chất của tên gọi GRE over IPsec (Cái nào nằm trong cái nào?)

Trong thuật ngữ mạng, khi gọi cụm từ "A over B", có nghĩa là giao thức A được đóng gói bên trong dữ liệu của giao thức B.

  • GRE là phần lõi bên trong (Internal).

  • IPsec là lớp vỏ bọc bảo mật bên ngoài (External).

Khi dữ liệu đi từ máy tính của người dùng ra Internet, nó sẽ trải qua thứ tự bao bọc như sau:

  1. Dữ liệu gốc (Gói tin LAN): Ví dụ như một gói tin định tuyến OSPF hoặc một request tải file của người dùng.

  2. Bọc lớp thứ nhất (GRE): Gói tin gốc được nhét vào trong một "đường ống ảo" GRE. GRE sẽ dán thêm một Header mới để giúp gói tin này có khả năng định tuyến đi xa. Lúc này, dữ liệu vẫn là văn bản thuần (Clear Text), ai chặn đường cũng đọc được.

  3. Bọc lớp thứ hai (IPsec): Toàn bộ "gói chứa header GRE" ở bước 2 sẽ được nhét tiếp vào bên trong một "chiếc két sắt" mã hóa của IPsec (sử dụng giao thức ESP). IPsec dán đè một IP Header ngoài cùng lên trên để vận chuyển gói tin an toàn qua môi trường Internet public.

Do gói tin GRE nằm trọn vẹn bên trong và được bảo vệ bởi IPsec, nên người ta gọi là GRE over IPsec.

Tại sao phải kết hợp phức tạp như vậy? (Sự bù trừ hoàn hảo)

Người ta gọi và dùng chung hai giao thức này vì chúng sinh ra để bù đắp khuyết điểm chí mạng cho nhau:

Tính năng GRE đơn thuần IPsec đơn thuần (Native) GRE over IPsec (Kết hợp)
Mã hóa bảo mật ❌ Không (Dữ liệu truyền thô) Có (Mã hóa cực mạnh) (Bảo mật tuyệt đối)
Hỗ trợ Multicast / Định tuyến động (OSPF, EIGRP) (Chạy định tuyến rất mượt) ❌ Không (Chỉ hỗ trợ gói tin Unicast) (Chạy định tuyến động trên nền mã hóa)


2. Sơ đồ mạng và thông số quy hoạch IP

Mô hình triển khai kết nối GRE over IPsec VPN Tunnel an toàn giữa Trụ sở chính (HQ) và Chi nhánh (Branch) như sau:

Thông số kỹ thuật:

  • Router Trụ sở (HQ):

    • WAN Interface (F0/0): 203.0.113.1/24

    • LAN Network (F0/1): 192.168.10.1/24

    • Virtual Tunnel (Tunnel 0): 10.0.0.1/30

  • Router Chi nhánh (Branch):

    • WAN Interface (F0/0): 198.51.100.1/24

    • LAN Network (F0/1): 192.168.20.1/24

    • Virtual Tunnel (Tunnel 0): 10.0.0.2/30


3. Quy trình cấu hình chuẩn hóa (Theo tài liệu Cisco)

Quy trình triển khai hệ thống VPN GRE over IPsec trên thiết bị Cisco được chia làm 5 giai đoạn cốt lõi:

1. Cấu hình IP và Định tuyến cơ bản

Đảm bảo kết nối WAN

Cấu hình địa chỉ IP trên các cổng vật lý, thiết lập Default Route hướng ra Internet ISP để hai IP WAN có thể nhìn thấy nhau.

2. Khởi tạo Interface GRE Tunnel

Tạo đường ống ảo

Thiết lập cổng ảo Tunnel, xác định chính xác nguồn đi (Source) và điểm đến (Destination) bằng IP WAN vật lý.

3. Cấu hình Crypto ISAKMP (IKEv1)

Xác thực Phase 1

Định nghĩa chính sách bảo mật để thiết lập kênh kiểm soát mã hóa bảo mật (Sử dụng mã hóa AES-256, hàm băm SHA-256 và mã khóa Pre-shared Key).

4. Cấu hình Crypto IPsec và Profile

Bảo mật Phase 2

Tạo cấu trúc Transform-set thiết lập phương thức mã hóa cho dữ liệu thô, sau đó nhóm vào một crypto ipsec profile.

5. Áp dụng mã hóa và Tối ưu hóa Tunnel

Kích hoạt bảo mật

Gán IPsec Profile vào interface Tunnel, đồng thời tối ưu thông số MTU/MSS chống phân mảnh gói tin khi truyền tải.


4. Giải pháp tối ưu hóa chống phân mảnh (MTU & MSS)

Một lỗi rất phổ biến khi triển khai GRE over IPsec là người dùng không thể truy cập các trang web nặng hoặc truyền file dung lượng lớn. Nguyên nhân là do các header bổ sung của GRE (24 bytes) và IPsec (khoảng 56-72 bytes) làm kích thước gói tin vượt ngưỡng chuẩn 1500 bytes của Ethernet, gây ra hiện tượng phân mảnh gói tin (Fragmentation) hoặc drop gói dữ liệu nếu ứng dụng có bật cờ DF (Do not Fragment).

Để xử lý triệt để, tài liệu kỹ thuật của Cisco bắt buộc người trị mạng cấu hình 2 thông số sau trên Interface Tunnel:

  • ip mtu 1400: Giới hạn kích thước gói IP trong tunnel tối đa ở mức 1400 bytes, dành ra khoảng trống an toàn cho các header mã hóa.

  • ip tcp adjust-mss 1360: Can thiệp trực tiếp vào tiến trình bắt tay TCP 3-way bắt buộc MSS chỉ ở mức 1360 bytes (MSS = MTU - 40 bytes header IP/TCP), giúp dữ liệu luôn truyền đi mượt mà mà không lo bị chặn/rớt.


5. Demo CLI Code Configuration trên Cisco Router

Dưới đây là mã cấu hình hoàn chỉnh theo tiêu chuẩn của Cisco theo mô hình trên dành cho cả hai đầu thiết bị:

5.1. Cấu hình chi tiết trên Router Trụ sở (HQ)

! --- 1. CẤU HÌNH INTERFACE VÀ ĐỊNH TUYẾN WAN ---
interface FastEthernet0/0
 ip address 203.0.113.1 255.255.255.0
 no shutdown
!
ip route 0.0.0.0 0.0.0.0 203.0.113.254  ! Default route trỏ về Gateway của ISP

! --- 2. CẤU HÌNH IPSEC POLICY & TRANSFORM-SET ---
crypto isakmp policy 10
 encryption aes 256
 hash sha256
 authentication pre-share
 group 14
crypto isakmp key CiscoSecureKey123 address 198.51.100.1
!
crypto ipsec transform-set TS-GRE esp-aes 256 esp-sha256-hmac
 mode transport                         ! Sử dụng Transport mode để tối ưu 20 bytes IP header
!
crypto ipsec profile IPSEC-PROF-GRE
 set transform-set TS-GRE

! --- 3. CẤU HÌNH INTERFACE GRE TUNNEL VÀ TỐI ƯU HÓA ---
interface Tunnel0
 ip address 10.0.0.1 255.255.255.252
 tunnel source FastEthernet0/0
 tunnel destination 198.51.100.1
 tunnel protection ipsec profile IPSEC-PROF-GRE
keepalive 10 3
ip ospf network point-to-point ip mtu 1400 ! Cấu hình tối ưu MTU theo chuẩn Cisco ip tcp adjust-mss 1360 ! Tự động điều chỉnh kích thước MSS ! ! --- 4. ĐỊNH TUYẾN DỮ LIỆU MẠNG LAN QUA TUNNEL (DÙNG OSPF) --- router ospf 1 network 192.168.10.0 0.0.0.255 area 0 network 10.0.0.0 0.0.0.3 area 0

5.2. Cấu hình chi tiết trên Router Chi nhánh (Branch)

! --- 1. CẤU HÌNH INTERFACE VÀ ĐỊNH TUYẾN WAN ---
interface FastEthernet0/0
 ip address 198.51.100.1 255.255.255.0
 no shutdown
!
ip route 0.0.0.0 0.0.0.0 198.51.100.254

! --- 2. CẤU HÌNH IPSEC POLICY & TRANSFORM-SET ---
crypto isakmp policy 10
 encryption aes 256
 hash sha256
 authentication pre-share
 group 14
crypto isakmp key CiscoSecureKey123 address 203.0.113.1
!
crypto ipsec transform-set TS-GRE esp-aes 256 esp-sha256-hmac
 mode transport
!
crypto ipsec profile IPSEC-PROF-GRE
 set transform-set TS-GRE

! --- 3. CẤU HÌNH INTERFACE GRE TUNNEL VÀ TỐI ƯU HÓA ---
interface Tunnel0
 ip address 10.0.0.2 255.255.255.252
 tunnel source FastEthernet0/0
 tunnel destination 203.0.113.1
 tunnel protection ipsec profile IPSEC-PROF-GRE
keepalive 10 3 
ip ospf network point-to-point ip mtu 1400 ! Đồng bộ MTU ip tcp adjust-mss 1360 ! Đồng bộ MSS ! ! --- 4. ĐỊNH TUYẾN DỮ LIỆU MẠNG LAN QUA TUNNEL (DÙNG OSPF) --- router ospf 1 network 192.168.20.0 0.0.0.255 area 0 network 10.0.0.0 0.0.0.3 area 0

6. Lưu ý quan trọng khi triển khai thực tế

Khi mang mô hình này từ phòng Lab ra chạy thực tế ngoài doanh nghiệp, cần đặc biệt lưu tâm 2 yếu tố kỹ thuật sau để hệ thống vận hành trơn tru:

  • Xử lý môi trường mạng bị NAT (NAT-Traversal): Mô hình trên giả định cả hai Router Cisco đều sở hữu địa chỉ IP WAN Public trực tiếp. Tuy nhiên tại thị trường Việt Nam, rất nhiều trường hợp Router phải nằm phía sau thiết bị NAT hoặc Modem nhà mạng (ISP). Lúc này, IPsec gốc sẽ bị chặn do không có Port để đổi. Để khắc phục, cần đảm bảo tính năng NAT-Traversal (NAT-T) được kích hoạt (sử dụng cổng UDP 4500 để bọc gói tin ESP). Trong trường hợp Modem nhà mạng quá cũ hoặc chặn hoàn toàn giao thức GRE, nên cân nhắc chuyển sang giải pháp sử dụng Crypto Map kết hợp Virtual Tunnel Interface (VTI) thay cho cấu hình tunnel protection truyền thống để đảm bảo tính tương thích cao nhất.

  • Nâng cấp Diffie-Hellman (DH) Group để Hardening hệ thống: Cấu hình mẫu phía trên đang sử dụng DH Group 14 (2048-bit). Mức này là vừa đủ an toàn và cho khả năng tương thích rất rộng với các dòng Router ISR đời cũ của Cisco. Tuy nhiên, nếu phần cứng là các dòng đời mới (như Cisco Catalyst 8000 hoặc dòng ISR 4000), nên cấu hình nâng lên Group 19, 20 hoặc 24 (sử dụng thuật toán mã hóa đường cong Elliptic - ECDH). Việc nâng cấp này giúp độ mạnh của quá trình trao đổi khóa tương xứng hoàn hảo với thuật toán mã hóa AES-256 / SHA-256, vừa tăng tính bảo mật lên mức tối đa vừa giúp giảm tải CPU cho Router đáng kể theo khuyến nghị bảo mật chính thức từ Cisco.


7. Kiểm tra và Xác thực trạng thái hệ thống

Sau khi áp dụng cấu hình, có thể thực thi các lệnh kiểm tra sau trên CLI của Cisco Router để đảm bảo đường truyền hoạt động ổn định:

  • show ip interface brief | include Tunnel: Trạng thái hiển thị của interface Tunnel0 phải báo cả Status lẫn Protocol là UP / UP.

  • show crypto isakmp sa: Kiểm tra Phase 1 của IPsec. Trạng thái kết nối chuẩn phải hiển thị là QM_IDLE.

  • show crypto ipsec sa: Kiểm tra Phase 2. Hãy chú ý kiểm tra bộ đếm gói tin tại hai dòng #pkts encaps (gói tin được mã hóa đi) và #pkts decaps (gói tin được giải mã đến) phải tăng liên tục khi có dữ liệu trao đổi (ví dụ thực hiện lệnh ping) giữa hai mạng LAN.


8. Tài liệu tham khảo chính thức từ Cisco (Cisco Support Guides)

Có thể tra cứu chi tiết các tài liệu kỹ thuật gốc liên quan đến bài viết này từ thư viện hỗ trợ của Cisco:

  1. Cisco Support Guide: Resolve IPv4 Fragmentation, MTU, MSS, and PMTUD Issues with GRE and IPsec - Hướng dẫn giải quyết sự cố phân mảnh IP, cấu hình tối ưu MTU, MSS trong môi trường kết hợp GRE và IPsec.
  2. Cisco Technical Article: Why Can't I Browse the Internet when Using a GRE Tunnel? - Phân tích nguyên nhân lỗi nghẽn hoặc mất gói tin khi duyệt web thông qua đường ống GRE và cách khắc phục.