华为防火墙:实战配置GRE over IPSec隧道与安全策略
1. GRE over IPSec技术背景与应用场景企业跨地域组网时经常需要将两个私有网络通过公网安全连接。这时候GRE over IPSec技术就派上用场了。简单来说GRE负责在两点间建立虚拟隧道而IPSec则为这条隧道提供加密保护就像在公共道路上修建了一条专属的加密管道。实际项目中我遇到过不少客户需要连接总部和分支机构的案例。比如某零售企业要在30家门店和总部间传输销售数据直接暴露在公网上显然不安全。用普通GRE隧道虽然能连通但数据是明文的用纯IPSec又无法支持组播等特殊协议。GRE over IPSec正好结合了两者优势既保持GRE的多协议支持特性又具备IPSec的加密能力。这个方案特别适合以下场景需要传输OSPF、RIP等路由协议视频监控等组播应用跨区域办公网络互联对传输安全性要求较高的金融、医疗等行业2. 华为防火墙基础环境准备2.1 网络拓扑规划我们先来看典型的两点组网拓扑。假设有总部FW-A和分支机构FW-B两台华为防火墙各自下联内部网络上联公网接口[FW-A] 公网IP 10.1.1.1/30 —— 互联网 —— 20.1.1.1/30 [FW-B] | | 172.16.10.0/24 172.16.20.0/24 (总部内网) (分支机构内网)配置前需要确认公网接口IP已正确配置且能互通内网接口IP和区域划分已完成防火墙安全区域trust/untrust已绑定对应接口2.2 基础网络配置以FW-A为例基础配置命令如下# 配置公网接口 [FW-A] interface GigabitEthernet 1/0/0 [FW-A-GigabitEthernet1/0/0] ip address 10.1.1.1 30 [FW-A-GigabitEthernet1/0/0] quit # 配置内网接口 [FW-A] interface GigabitEthernet 1/0/1 [FW-A-GigabitEthernet1/0/1] ip address 172.16.10.254 24 [FW-A-GigabitEthernet1/0/1] quit # 绑定安全区域 [FW-A] firewall zone untrust [FW-A-zone-untrust] add interface GigabitEthernet1/0/0 [FW-A-zone-untrust] quit [FW-A] firewall zone trust [FW-A-zone-trust] add interface GigabitEthernet1/0/1 [FW-A-zone-trust] quit记得在FW-B上做镜像配置把公网IP改为20.1.1.1内网网段改为172.16.20.0/24。3. GRE隧道建立与配置3.1 创建Tunnel接口GRE隧道的核心是虚拟的Tunnel接口。在FW-A上配置[FW-A] interface Tunnel 1 [FW-A-Tunnel1] description to_network-b [FW-A-Tunnel1] ip address 1.1.1.1 24 # 隧道虚拟IP [FW-A-Tunnel1] tunnel-protocol gre # 指定GRE协议 [FW-A-Tunnel1] source 10.1.1.1 # 本端公网IP [FW-A-Tunnel1] destination 20.1.1.1 # 对端公网IP [FW-A-Tunnel1] gre key cipher 123456 # 隧道密钥 [FW-A-Tunnel1] quit这里有几个关键点tunnel-protocol必须指定为gresource/destination要填写实际的公网IPgre key两端必须一致建议使用复杂字符串3.2 创建GRE安全区域为了精细化管理流量建议为GRE隧道创建独立安全区域[FW-A] firewall zone name gre [FW-A-zone-gre] set priority 10 [FW-A-zone-gre] add interface Tunnel1 [FW-A-zone-gre] quit优先级设为10是介于trust(85)和untrust(5)之间方便后续策略控制。3.3 静态路由配置要让内网流量走GRE隧道需要添加静态路由# 默认路由指向公网下一跳 [FW-A] ip route-static 0.0.0.0 0.0.0.0 10.1.1.2 # 到对端内网的路由指向Tunnel接口 [FW-A] ip route-static 172.16.20.0 255.255.255.0 Tunnel 1测试时可以用ping -a 172.16.10.1 172.16.20.1指定源IP测试连通性。4. IPSec安全策略配置4.1 定义感兴趣流ACL首先用ACL定义需要加密的流量即GRE隧道流量[FW-A] acl number 3000 [FW-A-acl-adv-3000] rule 5 permit ip source 10.1.1.1 0 destination 20.1.1.1 0 [FW-A-acl-adv-3000] quit这个ACL表示源是本端公网IP目的是对端公网IP的流量需要加密。4.2 IKE协商配置IKE阶段1配置包括# IKE提议加密算法配置 [FW-A] ike proposal 10 [FW-A-ike-proposal-10] encryption-algorithm aes-256 [FW-A-ike-proposal-10] dh group18 [FW-A-ike-proposal-10] authentication-algorithm sha2-512 [FW-A-ike-proposal-10] authentication-method pre-share [FW-A-ike-proposal-10] integrity-algorithm hmac-sha2-256 [FW-A-ike-proposal-10] prf hmac-sha2-256 [FW-A-ike-proposal-10] quit # IKE对等体 [FW-A] ike peer fw [FW-A-ike-peer-fw] exchange-mode main [FW-A-ike-peer-fw] pre-shared-key huawei123 # 预共享密钥 [FW-A-ike-peer-fw] ike-proposal 10 [FW-A-ike-peer-fw] remote-address 20.1.1.1 [FW-A-ike-peer-fw] quit注意预共享密钥需要两端相同建议使用复杂密码并定期更换。4.3 IPSec策略配置IKE阶段2配置IPSec参数# IPSec提议 [FW-A] ipsec proposal 10 [FW-A-ipsec-proposal-10] transform esp [FW-A-ipsec-proposal-10] encapsulation-mode tunnel [FW-A-ipsec-proposal-10] esp authentication-algorithm sha2-512 [FW-A-ipsec-proposal-10] esp encryption-algorithm aes-256 [FW-A-ipsec-proposal-10] quit # IPSec策略 [FW-A] ipsec policy ipsec 1 isakmp [FW-A-ipsec-policy-isakmp-ipsec-1] security acl 3000 [FW-A-ipsec-policy-isakmp-ipsec-1] ike-peer fw [FW-A-ipsec-policy-isakmp-ipsec-1] proposal 10 [FW-A-ipsec-policy-isakmp-ipsec-1] quit最后将策略应用到公网接口[FW-A] interface GigabitEthernet1/0/0 [FW-A-GigabitEthernet1/0/0] ipsec policy ipsec [FW-A-GigabitEthernet1/0/0] quit5. 安全策略与调试技巧5.1 防火墙安全策略配置华为防火墙默认拒绝所有流量需要手动放行[FW-A] security-policy # 放行本端到对端的IKE协商 [FW-A-policy-security] rule name local_remote [FW-A-policy-security-rule-local_remote] source-zone local [FW-A-policy-security-rule-local_remote] destination-zone untrust [FW-A-policy-security-rule-local_remote] source-address 10.1.1.1 32 [FW-A-policy-security-rule-local_remote] destination-address 20.1.1.1 32 [FW-A-policy-security-rule-local_remote] service ike [FW-A-policy-security-rule-local_remote] action permit [FW-A-policy-security-rule-local_remote] quit # 放行内网到GRE隧道的业务流量 [FW-A-policy-security] rule name trust_gre [FW-A-policy-security-rule-trust_gre] source-zone trust [FW-A-policy-security-rule-trust_gre] destination-zone gre [FW-A-policy-security-rule-trust_gre] source-address 172.16.10.0 24 [FW-A-policy-security-rule-trust_gre] destination-address 172.16.20.0 24 [FW-A-policy-security-rule-trust_gre] action permit [FW-A-policy-security-rule-trust_gre] quit5.2 常见问题排查遇到隧道不通时可以按以下步骤排查检查物理连通性ping 20.1.1.1查看IKE SA状态display ike sa如果看不到SA可能是IKE协商失败检查预共享密钥和提案配置。查看IPSec SA状态display ipsec sa没有SA说明第二阶段协商失败检查ACL和IPSec提案。抓包分析capture-packet interface GigabitEthernet1/0/0观察是否有加密的ESP报文。查看路由表display ip routing-table确认172.16.20.0/24的路由指向Tunnel接口。5.3 性能优化建议在实际部署中还可以考虑启用DPDDead Peer Detection检测对端存活调整SA生存时间平衡安全性和性能对重要隧道配置备份链路启用QoS保证关键业务带宽有一次给客户部署时发现隧道时断时续后来发现是MTU问题。GRE和IPSec都会增加报文头建议在内网接口设置MTU 1400[FW-A] interface GigabitEthernet1/0/1 [FW-A-GigabitEthernet1/0/1] mtu 1400

相关新闻