VPN 与 GRE
1. VPN:在公共道路上开辟私人通道
1.1 问题的提出:连接孤岛
想象一下,一个公司在北京和上海分别设有两个办公室。如何安全经济地连接这两个办公室的内网?
- 方案 A:物理专线。修建私人专属高速公路。优点:极速、安全。缺点:昂贵、部署慢。
- 方案 B:直接通过互联网。走公共道路。优点:低成本。缺点:不安全、私网地址无法在公网路由。
1.2 VPN 的解决方案
VPN (Virtual Private Network),虚拟专用网络,通过以下特性在公网上构建私有连接:
- 隧道技术 (Tunneling):建立虚拟的点对点路径。
- 封装 (Encapsulation):将原始私网包装入“保险箱”并贴上公网标签。
- 加密 (Encryption):为数据加锁,确保保密性。
2. GRE:通用封装协议
2.1 GRE 的核心思想:“包中包”
GRE (Generic Routing Encapsulation) 将完整的 IP 包(私网包)塞进另一个 IP 包(公网包)中进行传输。
2.2 GRE 封装过程可视化
GRE Encapsulation Stack (封装架构)
Public IP Header
Src: Tunnel Source (e.g. 12.1.1.1)Dst: Tunnel Dest (e.g. 23.1.1.3)Proto: 47 (GRE)
GRE Header
Protocol Type: 0x0800 (IPv4)
Original Private IP Packet
Src: 192.168.1.10Dst: 192.168.2.20
User Data (TCP/UDP/ICMP)...
Delivery HeaderGRE HeaderPayload Packet
2.3 GRE 的优势
- 通用性:支持多种协议封装。
- 支持组播和广播:允许在隧道上运行 OSPF 等动态路由协议。
3. GRE 的配置与实现
3.1 实验拓扑
Site 1
192.168.1.0/24
ISP / Public Internet
Site 2
192.168.2.0/24
GRE Tunnel (Logical)
1.1
✥
AR1Pub: 12.1.1.1
☁
ISP
✥
AR3Pub: 23.1.1.3
2.2
3.2 配置步骤
- 创建虚拟隧道接口
Router Console (AR1)
[AR1] interface Tunnel 0/0/0 [AR1-Tunnel0/0/0] ip address 172.16.13.1 24 [AR1-Tunnel0/0/0] tunnel-protocol gre [AR1-Tunnel0/0/0] source 12.1.1.1 [AR1-Tunnel0/0/0] destination 23.1.1.3
- 配置私网路由 (方案 A:静态路由)
Router Console (AR1)
# 告诉路由器去对端私网走隧道接口
[AR1] ip route-static 192.168.2.0 24 Tunnel 0/0/0
- 配置私网路由 (方案 B:动态路由 OSPF)
Router Console (AR1)
[AR1] ospf 1 [AR1-ospf-1] area 0 [AR1-ospf-1-area-0.0.0.0] network 192.168.1.0 0.0.0.255 [AR1-ospf-1-area-0.0.0.0] network 172.16.13.0 0.0.0.255
4. 安全性:GRE over IPsec
GRE 本身不提供加密。标准方案是 GRE over IPsec:先用 GRE 封装以获得路由能力,再用 IPsec 加密整个 GRE 包。
5. 总结
GRE 通过“包中包”机制实现了跨网传输,其对动态路由协议的支持使其在站点互联中极具价值。