GRE over IPsec là giải pháp nâng cấp hoàn hảo cho VPN Site-to-Site truyền thống. Bằng cách kết hợp khả năng đóng gói mọi loại giao thức của GRE (Generic Routing Encapsulation) và khả năng mã hóa mạnh mẽ của IPsec, hệ thống mạng của bạn có thể chạy các giao thức định tuyến động (OSPF, EIGRP) qua Internet một cách bảo mật và hoàn toàn tự động.
Bài viết này hướng dẫn chi tiết cách thiết lập GRE over IPsec trên Router Cisco bằng Packet Tracer. Do Packet Tracer không hỗ trợ lệnh ipsec profile, chúng ta sẽ cấu hình bằng phương pháp dùng crypto map kết hợp Access-List bắt giao thức GRE.
1. Mô Hình Mạng & Quy Hoạch IP
Chúng ta sẽ sử dụng lại mô hình của bài VPN Site-to-Site nhưng bổ sung thêm IP cho đường hầm ảo (Tunnel IP).
- Router_HQ (Trụ sở):
- Cổng LAN (G0/0):
192.168.1.254/24 - Cổng WAN (G0/1):
203.0.113.2/30 - Cổng ảo Tunnel 0:
10.0.0.1/30
- Cổng LAN (G0/0):
- Router_Branch (Chi nhánh):
- Cổng LAN (G0/0):
192.168.2.254/24 - Cổng WAN (G0/1):
203.0.113.6/30 - Cổng ảo Tunnel 0:
10.0.0.2/30
- Cổng LAN (G0/0):
- ISP_ROUTER (Nhà mạng):
- G0/0 (Nối HQ):
203.0.113.1/30| G0/1 (Nối Branch):203.0.113.5/30
- G0/0 (Nối HQ):
- Mạng LAN nội bộ: HQ (
192.168.1.0/24), Branch (192.168.2.0/24).
2. Các Bước Cấu Hình Chi Tiết (CLI)
Bước 2.0: Bật Security License (Bắt buộc)
Áp dụng cho Router_HQ và Router_Branch (Các dòng 1941/2911 trong Packet Tracer):
Router> enable
Router# configure terminal
Router(config)# license boot module c2900 technology-package securityk9
Accept? [yes/no]: yes
Router(config)# exit
Router# write memory
Router# reloadBước 2.1: Cấu hình ISP (Nhà mạng)
Chỉ đóng vai trò kết nối mạng nền Internet.
Router> enable
Router# configure terminal
Router(config)# hostname ISP_ROUTER
ISP_ROUTER(config)# interface g0/0
ISP_ROUTER(config-if)# ip address 203.0.113.1 255.255.255.252
ISP_ROUTER(config-if)# no shutdown
ISP_ROUTER(config-if)# exit
ISP_ROUTER(config)# interface g0/1
ISP_ROUTER(config-if)# ip address 203.0.113.5 255.255.255.252
ISP_ROUTER(config-if)# no shutdown
ISP_ROUTER(config-if)# exit


Bước 2.2: Cấu hình Router_HQ (Trụ Sở)
1. Cấu hình IP mặt ngoài và Default Route
Router> enable
Router# configure terminal
Router(config)# hostname Router_HQ
Router_HQ(config)# interface g0/0
Router_HQ(config-if)# ip address 192.168.1.254 255.255.255.0
Router_HQ(config-if)# no shutdown
Router_HQ(config-if)# exit
Router_HQ(config)# interface g0/1
Router_HQ(config-if)# ip address 203.0.113.2 255.255.255.252
Router_HQ(config-if)# no shutdown
Router_HQ(config-if)# exit
Router_HQ(config)# ip route 0.0.0.0 0.0.0.0 203.0.113.1
2. Cấu hình IPsec & Crypto Map (Tương thích Packet Tracer)
Vì Packet Tracer không hỗ trợ ipsec profile, ta dùng ACL 100 để bắt riêng luồng dữ liệu của giao thức GRE (từ WAN HQ sang WAN Branch) rồi đem đi mã hóa.
! Phase 1
Router_HQ(config)# crypto isakmp policy 10
Router_HQ(config-isakmp)# encr aes 256
Router_HQ(config-isakmp)# hash sha
Router_HQ(config-isakmp)# authentication pre-share
Router_HQ(config-isakmp)# group 2
Router_HQ(config-isakmp)# exit
Router_HQ(config)# crypto isakmp key secretkey123 address 203.0.113.6
! Access-list chỉ định bắt giao thức GRE (Chạy giữa 2 cổng WAN)
Router_HQ(config)# access-list 100 permit gre host 203.0.113.2 host 203.0.113.6
! Phase 2 & Crypto Map
Router_HQ(config)# crypto ipsec transform-set TS esp-aes 256 esp-sha-hmac
Router_HQ(config)# crypto map VPN_MAP 10 ipsec-isakmp
Router_HQ(config-crypto-map)# set peer 203.0.113.6
Router_HQ(config-crypto-map)# set transform-set TS
Router_HQ(config-crypto-map)# match address 100
Router_HQ(config-crypto-map)# exit
3. Tạo Cổng ảo Tunnel 0 và Gán Crypto Map vào WAN
! Cấu hình ống hầm GRE
Router_HQ(config)# interface Tunnel 0
Router_HQ(config-if)# ip address 10.0.0.1 255.255.255.252
Router_HQ(config-if)# tunnel source GigabitEthernet0/1
Router_HQ(config-if)# tunnel destination 203.0.113.6
Router_HQ(config-if)# exit
! Áp dụng Crypto Map lên cổng WAN vật lý
Router_HQ(config)# interface GigabitEthernet0/1
Router_HQ(config-if)# crypto map VPN_MAP
Router_HQ(config-if)# exit

4. Bật định tuyến động OSPF
Khối OSPF này sẽ giúp HQ và Branch tự động học mạng LAN của nhau thông qua cái ống hầm 10.0.0.0/30.
Router_HQ(config)# router ospf 1
Router_HQ(config-router)# network 192.168.1.0 0.0.0.255 area 0
Router_HQ(config-router)# network 10.0.0.0 0.0.0.3 area 0
Router_HQ(config-router)# exit
Bước 2.3: Cấu hình Router_Branch (Chi Nhánh)
Cấu hình tương tự HQ, chỉ đảo ngược IP ở lệnh Tunnel, ACL và Crypto Map.
1. IP & Default Route
Router> enable
Router# configure terminal
Router(config)# hostname Router_Branch
Router_Branch(config)# interface g0/0
Router_Branch(config-if)# ip address 192.168.2.254 255.255.255.0
Router_Branch(config-if)# no shutdown
Router_Branch(config-if)# exit
Router_Branch(config)# interface g0/1
Router_Branch(config-if)# ip address 203.0.113.6 255.255.255.252
Router_Branch(config-if)# no shutdown
Router_Branch(config-if)# exit
Router_Branch(config)# ip route 0.0.0.0 0.0.0.0 203.0.113.5
2. IPsec & Crypto Map (Đảo chiều)
Router_Branch(config)# crypto isakmp policy 10
Router_Branch(config-isakmp)# encr aes 256
Router_Branch(config-isakmp)# hash sha
Router_Branch(config-isakmp)# authentication pre-share
Router_Branch(config-isakmp)# group 2
Router_Branch(config-isakmp)# exit
Router_Branch(config)# crypto isakmp key secretkey123 address 203.0.113.2
! Access-list bắt GRE (Từ WAN Branch sang WAN HQ)
Router_Branch(config)# access-list 100 permit gre host 203.0.113.6 host 203.0.113.2
Router_Branch(config)# crypto ipsec transform-set TS esp-aes 256 esp-sha-hmac
Router_Branch(config)# crypto map VPN_MAP 10 ipsec-isakmp
Router_Branch(config-crypto-map)# set peer 203.0.113.2
Router_Branch(config-crypto-map)# set transform-set TS
Router_Branch(config-crypto-map)# match address 100
Router_Branch(config-crypto-map)# exit
3. Tunnel 0 & Gán Crypto Map
Router_Branch(config)# interface Tunnel 0
Router_Branch(config-if)# ip address 10.0.0.2 255.255.255.252
Router_Branch(config-if)# tunnel source GigabitEthernet0/1
Router_Branch(config-if)# tunnel destination 203.0.113.2
Router_Branch(config-if)# exit
! Áp dụng Crypto Map lên cổng WAN vật lý
Router_Branch(config)# interface GigabitEthernet0/1
Router_Branch(config-if)# crypto map VPN_MAP
Router_Branch(config-if)# exit
4. Định tuyến OSPF
Router_Branch(config)# router ospf 1
Router_Branch(config-router)# network 192.168.2.0 0.0.0.255 area 0
Router_Branch(config-router)# network 10.0.0.0 0.0.0.3 area 0
Router_Branch(config-router)# exit
3. Kiểm Tra Thông Mạng (Verify)
Kiểm tra độ mượt của Tracert: Từ PC_HQ (192.168.1.10), gõ: tracert 192.168.2.10 Kết quả sẽ mượt mà không có “Request timed out”:
- Hop 1:
192.168.1.254(Gateway LAN HQ) - Hop 2:
10.0.0.2(Chạy thẳng sang Cổng ảo của Branch) - Hop 3:
192.168.2.10(Tới thẳng đích)

Điều tuyệt vời của GRE over IPsec là OSPF sẽ tự động gửi gói tin “Hello” kích hoạt VPN 24/7. Bạn không cần phải Ping mồi như IPsec truyền thống nữa.
Kiểm tra trạng thái hàng xóm OSPF: Từ Router_HQ, gõ: show ip ospf neighbor (Nếu thấy trạng thái FULL/ - với IP 10.0.0.2, nghĩa là 2 Router đã thấy nhau qua đường hầm ảo).

Kiểm tra bảng định tuyến OSPF: Từ Router_HQ, gõ: show ip route ospf (Bạn sẽ thấy mã O tự động học được mạng 192.168.2.0/24 thông qua cổng Tunnel0).

Kiểm tra IPsec hoạt động: Gõ: show crypto ipsec sa (Thấy pkts encaps liên tục tăng nhờ gói tin OSPF chạy ngầm).

