小结:GRE VPN;IPSec
GRE VPN
华为交换机(或者路由器)上搭建GRE VPN隧道的一般标准配置步骤。
这里假设场景是两端设备公网IP互通,且你希望在两台设备间建立一条GRE隧道,用于承载内部流量(比如企业网互联)。
1. 网络拓扑假设
Site A (Switch A)
公网IP:1.1.1.1
内网IP段:10.1.0.0/24Site B (Switch B)
公网IP:2.2.2.2
内网IP段:10.2.0.0/24
目标是通过GRE隧道打通这两个内网段。
2. 配置步骤(华为交换机/路由器常见配置)
【在Site A设备上】
# 进入系统视图
system-view# 创建隧道接口 Tunnel0
interface Tunnel0ip address 192.168.100.1 255.255.255.252 # 隧道接口IP,两端同一网段tunnel-protocol gre # 指定隧道协议为GREsource 1.1.1.1 # 指定本端公网IPdestination 2.2.2.2 # 指定对端公网IP# 可选项:设置MTU防止包太大(如必要)mtu 1400quit# 添加静态路由,引导内部网段通过GRE走
ip route-static 10.2.0.0 255.255.255.0 192.168.100.2# 保存配置
save
【在Site B设备上】
# 进入系统视图
system-view# 创建隧道接口 Tunnel0
interface Tunnel0ip address 192.168.100.2 255.255.255.252tunnel-protocol gresource 2.2.2.2destination 1.1.1.1mtu 1400quit# 添加静态路由
ip route-static 10.1.0.0 255.255.255.0 192.168.100.1# 保存配置
save
3. 补充说明
Tunnel0
接口名可以换成其他,比如Tunnel1
,但两端名字最好一致。ip address
是隧道两端内部通讯用的地址,不是公网地址,可以自定义。- 如果公网IP是动态变化的,可以搭配DDNS等机制。
- GRE默认不加密,如果有加密要求,可以在GRE外再套IPSec。
- MTU一般GRE隧道开了后,比默认小20-24字节,建议手动调低,避免碎片。
- 配置完成后,可以直接用
ping 隧道对端IP
(比如A上ping 192.168.100.2)验证隧道通不通。
4. 简单的拓扑图(逻辑)
Tunnel0:192.168.100.1/30 Tunnel0:192.168.100.2/3010.1.0.0/24 GRE隧道 10.2.0.0/24
[Switch A] ———(公网1.1.1.1)———[Internet]———(公网2.2.2.2)——— [Switch B]| |内网用户 内网用户
IPSec
1. 场景假设(同之前)
- Site A公网:1.1.1.1
- Site B公网:2.2.2.2
- GRE隧道内地址段:192.168.100.0/30
- Site A内部网:10.1.0.0/24
- Site B内部网:10.2.0.0/24
2. 配置步骤
【Site A 配置】
(1) 配置GRE隧道
system-viewinterface Tunnel0ip address 192.168.100.1 255.255.255.252tunnel-protocol gresource 1.1.1.1destination 2.2.2.2mtu 1400quit
(2) 配置IPSec加密策略
- 配置IKE协商策略
ike proposal 1encryption-algorithm aes-cbc-128 # 加密算法dh group2 # DH组authentication-algorithm sha1 # 认证算法quit
- 配置IKE对等体
ike peer peerB v1pre-shared-key cipher MySecret123! # 双端统一的预共享密钥remote-address 2.2.2.2 # 对端公网IPike-proposal 1quit
- 配置IPSec transform-set(安全提议)
ipsec transform-set ts1esp-aes-128esp-sha-hmacmode transport # 传输模式!!!重点,GRE over IPSec必须是transport modequit
- 配置IPSec策略模板
ipsec policy policy1 10 isakmpsecurity acl 3000 # 匹配需要加密的流量(后面建ACL)transform-set ts1sa duration time 3600quit
- 配ACL,指定加密GRE流量(而不是普通数据)
acl number 3000rule permit gre source 1.1.1.1 0 destination 2.2.2.2 0quit
- 应用IPSec策略到公网接口
假设公网出口是GigabitEthernet0/0/0
,如果是VLANIF就用VLANIF口
interface GigabitEthernet0/0/0ipsec policy policy1quit
(3) 配路由
ip route-static 10.2.0.0 255.255.255.0 192.168.100.2
【Site B 配置】
思路一样,只是角色相反。
(1) 配GRE隧道
system-viewinterface Tunnel0ip address 192.168.100.2 255.255.255.252tunnel-protocol gresource 2.2.2.2destination 1.1.1.1mtu 1400quit
(2) 配IPSec加密
- IKE proposal
ike proposal 1encryption-algorithm aes-cbc-128dh group2authentication-algorithm sha1quit
- IKE peer
ike peer peerA v1pre-shared-key cipher MySecret123!remote-address 1.1.1.1ike-proposal 1quit
- IPSec transform-set
ipsec transform-set ts1esp-aes-128esp-sha-hmacmode transportquit
- IPSec策略
ipsec policy policy1 10 isakmpsecurity acl 3000transform-set ts1sa duration time 3600quit
- ACL匹配
acl number 3000rule permit gre source 2.2.2.2 0 destination 1.1.1.1 0quit
- 应用到公网接口
interface GigabitEthernet0/0/0ipsec policy policy1quit
(3) 配路由
ip route-static 10.1.0.0 255.255.255.0 192.168.100.1
3. 注意细节!
项目 | 说明 |
---|---|
IPSec模式 | 必须是Transport模式,不能用默认Tunnel模式! |
加密对象 | ACL匹配的是GRE协议,而不是普通IP流量 |
MTU | 建议适当调小(1400),防止IPSec后碎片问题 |
GRE接口地址 | 只是逻辑隧道内通信IP,不需要是真实的公网地址 |
预共享密钥 | 双方必须一致 |
公网接口 | 注意实际出公网的端口是哪一个 |
4. 配置流程逻辑图
用户数据 ——> GRE封装 ——> IPSec加密 ——> 发往公网 ——> 对端解密 ——> GRE解封装 ——> 内网通信