配置基于OSPF的GRE隧道

简介: 本文介绍通过GRE隧道实现跨Internet的OSPF路由互通:FW1与FW2建立GRE隧道,封装OSPF及ICMP报文,配置Tunnel接口、OSPF进程、静态路由及双向安全策略,最终使网络1(172.16.1.0/24)与网络2(172.16.2.0/24)私网互通。

组网需求

如下所示,FW1和FW2通过Internet相连,两者公网路由可达。网络1和网络2是两个私有的IP网络,内部部署了OSPF动态路由。通过在两台FW之间建立GRE隧道实现两个私有IP网络跨越Internet交互OSPF路由信息。

配置思路

  1. 在FW1和FW1上分别创建一个Tunnel接口。
    在Tunnel接口中指定隧道的源IP地址和目的IP等封装参数。
  2. 配置OSPF动态路由。

启用一个OSPF进程,指定运行OSPF协议的接口。在本例中,网络1中的私网网段172.16.1.0/24和Tunnel地址所在的网段192.168.12.0/24需要通过GRE隧道发布给网络2,隧道两端Tunnel接口通过GRE隧道建立起邻接关系。

  1. 配置安全策略,允许GRE隧道的建立和流量的转发。

操作步骤

1.配置接口的IP地址,并将接口加入安全区域

FW1

防火墙首次登录需要修改密码,登录默认用户名密码admin/Admin@123。

#进入系统视图
<USG6000V1>system-view
#修改设备名称
[USG6000V1]sysname FW1
#进入接口GE0/0/0视图
[FW1]interface GigabitEthernet 1/0/0
#为接口GE1/0/0配置IP地址为12.12.12.1,子网掩码为255.255.255.0
[FW1-GigabitEthernet1/0/0]ip address 12.12.12.1 24
#从接口视图返回到系统视图
[FW1-GigabitEthernet1/0/0]quit 
[FW1]interface GigabitEthernet 1/0/1
[FW1-GigabitEthernet1/0/1]ip address 172.16.1.1 24
[FW1-GigabitEthernet1/0/1]quit
#创建编号为1的Tunnel接口,并进入该Tunnel接口视图
[FW1]interface Tunnel 1
[FW1-Tunnel1]ip address 192.168.12.1 24
[FW1-Tunnel1]quit
#进入Trust安全区域视图
[FW1]firewall zone trust 
#将接口GigabitEthernet1/0/0加入到Trust安全区域
[FW1-zone-trust]add interface GigabitEthernet 1/0/1
#从安全区域视图返回到系统视图
[FW1-zone-trust]quit
[FW1]firewall zone untrust 
[FW1-zone-untrust]add interface GigabitEthernet 1/0/0
[FW1-zone-untrust]quit
[FW1]firewall zone dmz 
[FW1-zone-dmz]add interface Tunnel 1
[FW1-zone-dmz]quit

FW2

<USG6000V1>system-view
[USG6000V1]sysname FW2
[FW1]interface GigabitEthernet 1/0/0
[FW1-GigabitEthernet1/0/0]ip address 172.16.2.2 24
[FW1-GigabitEthernet1/0/0]quit 
[FW1]interface GigabitEthernet 1/0/1
[FW1-GigabitEthernet1/0/1]ip address 21.21.21.2 24
[FW1-GigabitEthernet1/0/1]quit
[FW1]interface Tunnel 1
[FW1-Tunnel1]ip address 192.168.12.2 24
[FW1-Tunnel1]quit
[FW1]firewall zone trust 
[FW1-zone-trust]add interface GigabitEthernet 1/0/0
[FW1-zone-trust]quit
[FW1]firewall zone untrust 
[FW1-zone-untrust]add interface GigabitEthernet 1/0/1
[FW1-zone-untrust]quit
[FW1]firewall zone dmz 
[FW1-zone-dmz]add interface Tunnel 1
[FW1-zone-dmz]quit

Internet

<Huawei>sys
[Huawei]sys Internet
[Internet]int GigabitEthernet 0/0/0
[Internet-GigabitEthernet0/0/0]ip address 12.12.12.2 24
[Internet-GigabitEthernet0/0/0]quit
[Internet]int GigabitEthernet 0/0/1
[Internet-GigabitEthernet0/0/1]ip address 21.21.21.1 24
[Internet-GigabitEthernet0/0/1]quit

PC1

PC2

2.配置路由

在FW1和FW2上配置静态路由使模拟Internet网络互通。

将网络1和网络2的私网网段172.16.1.0/24、172.16.2.0/24和Tunnel接口对应的网段192.168.12.0/24通过OSPF发布出去。

提示:建议在这一步操作时,在FW1或FW2的出接口上进行抓包方便后续的验证。

FW1

#配置FW1到FW2网络互通
[FW1]ip route-static 21.21.21.0 24 12.12.12.2
#启动OSPF
[FW1]ospf 1
#配置172.16.1.0、192.168.12.0网段所在的区域为区域0
[FW1-ospf-1]area 0
[FW1-ospf-1-area-0.0.0.0]network 172.16.1.0 0.0.0.255
[FW1-ospf-1-area-0.0.0.0]network 192.168.12.0 0.0.0.255
[FW1-ospf-1-area-0.0.0.0]quit
[FW1-ospf-1]quit

FW2

[FW1]ip route-static 12.12.12.0 24 21.21.21.1
[FW2]ospf 1
[FW2-ospf-1]area 0
[FW2-ospf-1-area-0.0.0.0]network 172.16.2.0 0.0.0.255
[FW2-ospf-1-area-0.0.0.0]network 192.168.12.0 0.0.0.255
[FW2-ospf-1-area-0.0.0.0]quit
[FW2-ospf-1]quit

3.配置Tunnel接口的封装参数

封装协议、源地址/接口、目的地址、认证

FW1

[FW1]interface Tunnel 1
#配置Tunnel接口为GRE隧道模式
[FW1-Tunnel1]tunnel-protocol gre
#配置Tunnel接口的源地址或源接口
[FW1-Tunnel1]source GigabitEthernet1/0/0
#配置Tunnel 1接口的目的端地址为21.21.21.2
[FW1-Tunnel1]destination 21.21.21.2
#设置隧道的识别关键字
[FW1-Tunnel1]gre key cipher 123456
[FW1-Tunnel1]quit

FW2

[FW2]interface Tunnel1
[FW2-Tunnel1] tunnel-protocol gre
[FW2-Tunnel1] source 21.21.21.2
[FW2-Tunnel1] destination 12.12.12.1
[FW2-Tunnel1] gre key cipher 123456
[FW2-Tunnel1]quit

4.配置域间安全策略

PC到FW(Trust到DMZ)、FW到FW(Local到Untrust)

注意:由于安全策略具有方向性,所需要需要配置双向的安全策略。可以使用FW1和FW2中方法进行配置。

FW1

[FW1]security-policy
#配置允许封装前的报文通过域间安全策略
[FW1-policy-security]rule name 1
[FW1-policy-security-rule-1]source-zone trust 
[FW1-policy-security-rule-1]destination-zone dmz 
[FW1-policy-security-rule-1]action permit 
[FW1-policy-security-rule-1]quit 
[FW1-policy-security]rule name 2
[FW1-policy-security-rule-1]source-zone dmz 
[FW1-policy-security-rule-1]destination-zone trust
[FW1-policy-security-rule-1]action permit 
[FW1-policy-security-rule-1]quit 
#配置允许封装后的GRE报文通过域间安全策略
[FW1-policy-security]rule name 3
[FW1-policy-security-rule-2]source-zone local 
[FW1-policy-security-rule-2]destination-zone untrust 
[FW1-policy-security-rule-2]action permit 
[FW1-policy-security-rule-2]quit
[FW1-policy-security]rule name 4
[FW1-policy-security-rule-2]source-zone untrust 
[FW1-policy-security-rule-2]destination-zone local 
[FW1-policy-security-rule-2]action permit 
[FW1-policy-security-rule-2]quit

FW2

[FW2]security-policy
[FW2-policy-security]rule name 1
[FW2-policy-security-rule-1]source-zone trust dmz
[FW2-policy-security-rule-1]destination-zone dmz trust
[FW2-policy-security-rule-1]action permit
[FW2-policy-security-rule-1]quit
[FW2-policy-security] rule name 2
[FW2-policy-security-rule-2]source-zone local untrust
[FW2-policy-security-rule-2]destination-zone untrust local
[FW2-policy-security-rule-2]action permit
[FW2-policy-security-rule-2]quit

5.验证配置结果

在FW1使用display ip routing-table命令查看路由表。可以看到目的地址为172.16.2.0/24,出接口为Tunnel1的路由。

FW1

[FW1]display ip routing-table
2026-05-15 09:50:56.920 
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
         Destinations : 10       Routes : 10       
Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface
     12.12.12.0/24  Direct  0    0           D   12.12.12.1      GigabitEthernet1/0/0
     12.12.12.1/32  Direct  0    0           D   127.0.0.1       GigabitEthernet1/0/0
     21.21.21.0/24  Static  60   0          RD   12.12.12.2      GigabitEthernet1/0/0
      127.0.0.0/8   Direct  0    0           D   127.0.0.1       InLoopBack0
      127.0.0.1/32  Direct  0    0           D   127.0.0.1       InLoopBack0
     172.16.1.0/24  Direct  0    0           D   172.16.1.1      GigabitEthernet1/0/1
     172.16.1.1/32  Direct  0    0           D   127.0.0.1       GigabitEthernet1/0/1
     172.16.2.0/24  OSPF    10   1563        D   192.168.12.2    Tunnel1
   192.168.12.0/24  Direct  0    0           D   192.168.12.1    Tunnel1
   192.168.12.1/32  Direct  0    0           D   127.0.0.1       Tunnel1

如下图所示,Wireshark捕获到了GRE报文。这说明OSPF报文被作为载荷,封装在了新的隧道IP报文中,通过模拟Internet网络发送给对端来交互OSPF路由。

网络1中的PC1与网络2中的PC2能够相互ping通

PC1

PC>ping 172.16.2.10
Ping 172.16.2.10: 32 data bytes, Press Ctrl_C to break
Request timeout!
From 172.16.2.10: bytes=32 seq=2 ttl=126 time=16 ms
From 172.16.2.10: bytes=32 seq=3 ttl=126 time=15 ms
From 172.16.2.10: bytes=32 seq=4 ttl=126 time=32 ms
From 172.16.2.10: bytes=32 seq=5 ttl=126 time=15 ms
--- 172.16.2.10 ping statistics ---
  5 packet(s) transmitted
  4 packet(s) received
  20.00% packet loss
  round-trip min/avg/max = 0/19/32 ms

如下图所示,Wireshark捕获到了GRE报文。这说明原始的ICMP报文(内层 IP:源172.16.1.10 -> 目的172.16.2.10)被作为载荷,封装在了新的隧道IP报文中(外层 IP:源12.12.12.1 -> 目的21.21.21.2),通过隧道传输给对端。

相关文章
|
22小时前
|
安全 网络安全 数据安全/隐私保护
配置基于静态路由的GRE隧道
本文介绍通过GRE隧道实现两个私有网络(网络1与网络2)跨Internet互联的完整方案:FW1与FW2公网可达,分别配置Tunnel接口、GRE封装参数(源/目的IP、密钥)、静态路由及双向安全策略,最终实现PC1与PC2互通,并通过Wireshark验证GRE封装效果。
配置基于静态路由的GRE隧道
|
22小时前
|
网络协议 网络安全 网络虚拟化
GRE 协议
GRE(通用路由封装)是一种三层隧道技术,可将IPX、IPv6、AppleTalk等协议报文封装于IPv4中透明传输,解决异构网络互通问题;支持组播报文封装,常用于GRE over IPSec、突破RIP跳数限制等场景。
GRE 协议
|
1月前
|
人工智能 架构师
Qoder Together 郑州站来啦!解锁企业级 AI Coding 落地玩法
4月22日14:00-17:00,郑州阿里中心举办AI Coding实战沙龙!聚焦Qoder产品解析、企业级方案及UU跑腿落地实践,架构师现场带练。名额有限,速报名→ https://huodongxing.com/event/4855877137411
156 4
|
11月前
|
负载均衡 网络协议
配置本地策略路由示例—详解版
本文介绍了一种基于报文长度的策略路由配置方案,实现RouterA与RouterB间不同长度报文通过不同下一跳地址转发。具体规则为:64-1400字节强制下一跳为192.168.1.2,1401-1500字节强制下一跳为192.168.2.2,其他长度按目的地址路由。实验中通过ping命令测试多种报文长度,并对比RouterB接口统计信息验证配置效果。结果表明,策略路由优先级高于常规路由,超MTU报文会触发分片导致统计翻倍,未匹配策略时由静态路由实现负载均衡。此方案展示了策略路由在流量工程中的灵活应用。
366 131
|
8月前
|
Oracle 关系型数据库 虚拟化
在VMware的Win10虚拟机中安装使用ENSP
本文介绍了在Windows 10虚拟机上安装ENSP及相关软件的全过程,包括VirtualBox、WinPcap、Wireshark、VLC和ENSP的安装步骤,并提供图文演示,帮助用户顺利完成配置与测试。
2202 134
|
1天前
|
存储
办公Agent的“询问-澄清”机制:如何处理模糊需求(如“整理上周客户邮件”)
本文揭秘办公Agent如何应对模糊指令(如“整理客户邮件”),提出三层“询问-澄清”机制:①用常识默认值自动填充;②仅聚焦最多3个关键不确定点精准提问;③支持边执行边确认。附真实状态机代码与避坑指南,让Agent像资深助理一样懂分寸、少打扰、真靠谱。(239字)
24 3
|
1天前
|
人工智能 测试技术 Python
别再给Agent写单元测试了——那是给确定性软件准备的武器
本文揭示Agent测试的范式陷阱:传统断言式测试无法捕捉非确定性行为(如死循环、状态漂移)。团队重建评估体系,转向“行为链”评估,构建三层任务成功标准、人工校准的LLM-as-Judge及行为回归集,显著提升模型迭代验证效率。(239字)
27 1
|
1天前
|
SQL 小程序 Java
扫码点餐系统源码如何开发?从桌码到订单系统完整解析
扫码点餐已成餐饮标配,但其源码开发远不止“扫码下单”。本文深度解析核心模块:桌码管理、实时商品配置、复杂订单状态流转、厨房打印、高并发应对及多门店架构,助开发者构建稳定可扩展的数字化餐饮系统。(239字)
|
1天前
|
人工智能 自然语言处理 算法
少儿AI英语背单词APP的开发
这是一款专为3-12岁儿童设计的AI英语背单词APP,深度融合AI生成、自适应算法与多感官游戏化交互。涵盖动态情境记忆、语音互动、游戏巩固、智能复习及家长报告五大模块,尊重少儿认知规律,让学单词更自然、有趣、有效。(239字)
|
23小时前
|
存储 人工智能 安全
OpenClaw 配置 Ollama 本地推理服务详细步骤
本教程详解OpenClaw连接本地Ollama模型的完整流程:从官网下载安装Ollama、设置模型路径、终端拉取模型(如gemma4:e4b),到OpenClaw中配置地址`http://127.0.0.1:11434`、测试识别、聊天页启用,实现免费、离线、隐私可控的AI对话。(239字)