华为AR1220路由器配置GRE隧道

华为AR1220路由器配置GRE隧道

1、概要

组网要求

  • AR1、AR2、AR3 属于VPN骨干网,它们之间执行OSPF协议。

  • AR2和AR3之间使用三层隧道协议,实现PC1和PC2互联。

  • PC1和PC2上分别指定AR2、AR3为自己的缺省网关

  • 本示例设计路由器型号:华为AR1220

  • 每种路由器可能命令和功能上有些许差异,请自行解决

组网拓扑图

知识拓展

  • GRE(General Routing Encapsulation,通用路由封装)是对某些网络层协议(如IP 和 IPX )的数据报文进行封装。

  • 这些封装的报文能够在另一层网络协议(如IP)中传输

  • GRE协议也可以作为VPN的第三层隧道协议连接两个不同的网络,为数据传输提供一个透明的通道

  • 隧道技术 应用VPN是internet技术迅速发展的产物。

  • 简单定义:在公用数据网上建立属于自己的专用数据网。

  • 也就是说不再使用长途专线建立专用数据网,而是充分利用完善的公用数据网建立自己的专用数据网。

  • 优点:即可连接到公网所能达到的任何地点,享受其保密性、安全性和可管理性,又降低网络的使用成本。

GRE隧道技术主要特点

  • 机制简单,无需维持状态。对隧道两端设备cpu负载较小

  • 本身不提供数据加密,如需加密,可以与IPSec结合使用

  • 不提供流量控制和QoS

配置步骤说明

  • 路由器端口配置IP

  • 配置ospf

  • 配置tunnel

  • 配置静态路由

注意:3个路由器配置顺序,三个路由器同时配完第一次配置后,再统一开始第二次配置。如此类推。

如:先配完AR1,AR2,AR3的第一次配置,接下来再配置AR1,AR2,AR3的第二次配置。。。

2、AR2配置

  • 图示

第一次:配置接口地址

# 步骤一:启动路由器设备
# 步骤二:进入系统视图
<Huawei>system
Enter system view, return user view with Ctrl+Z.
# 步骤三:命名路由器
[Huawei]sysname AR2
# 步骤四:进入接口0/0/0
[AR2]int GigabitEthernet 0/0/1
# 步骤五:配置ip地址
[AR2-GigabitEthernet0/0/0]ip address 192.168.10.254 24
[AR2-GigabitEthernet0/0/0]quit
# 步骤六:进入接口0/0/
[AR2]int GigabitEthernet 0/0/0
[AR2-GigabitEthernet0/0/1]ip address 2.2.2.1 24

第二次:配置OSPF

  • 目的:是AR1、AR2、AR3 形成公网环境,网络可达

[AR2]ospf 1
# 骨干区域
[AR2-ospf-1]area 0
# 通告网络
[AR2-ospf-1-area-0.0.0.0]network 2.2.2.0 0.0.0.255

第三次:配置隧道接口

[AR2]int Tunnel 0/0/1
[AR2-Tunnel0/0/1]ip address 172.16.0.1 24
# 隧道使用gre协议
[AR2-Tunnel0/0/1]tunnel-protocol gre
# 配置数据包发送的源地址
[AR2-Tunnel0/0/1]source 2.2.2.1
# 配置数据包接收目的地址
[AR2-Tunnel0/0/1]destination 3.3.3.1

第四次:配置静态路由

# 目标网络,通过下一跳的Tunnel接口到达该网络
[AR2]ip route-static 10.0.0.0 255.255.255.0 Tunnel 0/0/1

拓展

# 完成以上四次配置后,查看学习到的路由表
[AR2]display  ip routing-table 

3、AR1配置

  • 图示

第一次:配置接口地址

<Huawei>system
Enter system view, return user view with Ctrl+Z.
[Huawei]sysname AR1
[AR1]int Gi 
[AR1]int GigabitEthernet 0/0/0
[AR1-GigabitEthernet0/0/0]ip address 2.2.2.2 24
[AR1-GigabitEthernet0/0/0]quit
[AR1]int GigabitEthernet 0/0/1 
[AR1-GigabitEthernet0/0/1]ip address 3.3.3.2 24

第二次:配置OSPF

[AR1]ospf 1
[AR1-ospf-1]area 0
[AR1-ospf-1-area-0.0.0.0]network 2.2.2.0 0.0.0.255
[AR1-ospf-1-area-0.0.0.0]network 3.3.3.0 0.0.0.255

第三次:配置隧道

# 此路由器无需配置

第四次:配置静态路由

# 此路由器无需配置

4、AR3配置

  • 图示

第一次:配置接口地址

<Huawei>system
Enter system view, return user view with Ctrl+Z.
[Huawei]sysname AR3
[AR3-GigabitEthernet0/0/0]ip address 3.3.3.1 24
[AR3-GigabitEthernet0/0/0]quit
[AR3]int GigabitEthernet 0/0/1
[AR3-GigabitEthernet0/0/1]ip address 10.0.0.254 24

第二次:配置OSPF

[AR3]ospf 1
[AR3-ospf-1]area 0
[AR3-ospf-1-area-0.0.0.0]network 3.3.3.0 0.0.0.255

第三次:配置隧道接口

[AR3]int Tunnel 0/0/1
[AR3-Tunnel0/0/1]ip address 172.16.0.2 24
# 配置gre隧道协议
[AR3-Tunnel0/0/1]tunnel-protocol gre
# 数据包源地址
[AR3-Tunnel0/0/1]source 3.3.3.1
# 数据包目的地址
[AR3-Tunnel0/0/1]destination 2.2.2.1

第四次:配置静态路由

# 目标网络,通过下一跳的Tunnel接口到达该网络
[AR3]ip route-static 192.168.10.0 255.255.255.0 Tunnel 0/0/1

5、网络验证

  • 验证目的:通过前面几步的配置后,分别在192.168.10.0 和 10.0.0.0 这两个私网的pc1和pc2 的网络是否连通。

pc1配置

# ping 对端私网地址
PC>ping 10.0.0.1
​
Ping 10.0.0.1: 32 data bytes, Press Ctrl_C to break
Request timeout!
From 10.0.0.1: bytes=32 seq=2 ttl=126 time=32 ms
From 10.0.0.1: bytes=32 seq=3 ttl=126 time=31 ms
From 10.0.0.1: bytes=32 seq=4 ttl=126 time=31 ms
From 10.0.0.1: bytes=32 seq=5 ttl=126 time=31 ms
​
--- 10.0.0.1 ping statistics ---
  5 packet(s) transmitted
  4 packet(s) received
  20.00% packet loss
  round-trip min/avg/max = 0/31/32 ms

pc2配置

# ping 对端私网地址
PC>ping 192.168.10.1
​
Ping 192.168.10.1: 32 data bytes, Press Ctrl_C to break
Request timeout!
From 192.168.10.1: bytes=32 seq=2 ttl=126 time=31 ms
From 192.168.10.1: bytes=32 seq=3 ttl=126 time=32 ms
From 192.168.10.1: bytes=32 seq=4 ttl=126 time=31 ms
From 192.168.10.1: bytes=32 seq=5 ttl=126 time=31 ms
​
--- 192.168.10.1 ping statistics ---
  5 packet(s) transmitted
  4 packet(s) received
  20.00% packet loss
  round-trip min/avg/max = 0/31/32 ms

  • 可以看到两边私有网络均已打通

<think>好的,用户遇到了Git合并时本地更改会被覆盖的问题,需要解决方案。根据之前的引用资料,解决方法主要有commit、stash和revert三种。首先,我得确认用户的具体情况,比如他们的本地更改是否已经完成,是否需要保留,或者是否可以丢弃。用户可能不太清楚这三种方法的适用场景,需要详细解释每个选项的步骤和优缺点。比如,commit适用于需要保留更改的情况,stash适合临时保存以便后续恢复,而revert则是直接撤销更改,适用于不需要保留的情况。需要结构清晰,分点说明,每个方法都给出操作步骤和适用场景,帮助用户理解哪种情况最适合他们。还要注意使用中文,避免技术术语过于复杂,让用户容易理解。同时,生成相关问题,可能涉及如何恢复stash的内容,或者如何避免频繁冲突等,扩展用户的知识点。另外,要确保LaTeX格式正确,但在这个问题中可能用不上数学公式,所以主要关注代码块和引用标识。检查引用是否正确,比如引用[^1]和[^2]的来源是否相关,用户提供的引用内容是否准确对应解决方案。 最后,确保回答真实可靠,操作步骤准确无误,避免误导用户。可能还需要提醒用户根据具体情况选择方法,比如如果有未完成的实验性代码,stash可能是更好的选择,而如果是确定要保留的修改,则应该commit。</think>要解决Git合并时本地更改被覆盖的问题,可根据不同场景选择以下三种方法: ### 一、提交本地更改(commit) **适用场景**:当本地更改已测试通过且需要保留到版本历史中。 **操作步骤**: 1. 将改动添加到暂存区: ```bash git add . # 添加所有文件 # 或指定文件 git add file1.txt file2.py ``` 2. 提交更改并添加描述: ```bash git commit -m "完成用户登录模块优化" ``` 3. 执行合并操作: ```bash git merge origin/main ``` **优点**:保留完整的开发记录,便于后续追溯[^1]。 ### 二、暂存更改(stash) **适用场景**:需要临时保存未完成的修改(如调试代码),优先处理合并操作。 **操作步骤**: 1. 保存当前工作状态: ```bash git stash # 可选添加备注 git stash save "用户登录模块调试代码" ``` 2. 查看暂存记录列表: ```bash git stash list ``` 3. 合并远程分支: ```bash git merge origin/main ``` 4. 恢复暂存内容: ```bash git stash pop # 恢复并删除最近一次暂存 # 或指定特定暂存 git stash apply stash@{1} ``` **优点**:保持工作目录整洁,特别适合处理紧急合并任务[^2]。 ### 三、撤销本地更改(revert) **适用场景**:本地修改可丢弃(如实验性代码或错误修改)。 **操作步骤**: 1. 撤销所有未提交的修改: ```bash git checkout -- . # 全部文件 # 或指定文件 git checkout -- file1.txt ``` 2. 执行合并操作: ```bash git merge origin/main ``` **风险提示**:此操作不可逆,需确认文件无需保留。 --- ### 对比决策表 | 方法 | 保留记录 | 可恢复性 | 适用阶段 | |---------|----------|----------|------------------| | commit | ✅ | ✅ | 功能开发完成时 | | stash | ❌ | ✅ | 开发中途临时切换 | | revert | ❌ | ❌ | 放弃无效修改 | ### 扩展应用场景 - 当存在多个暂存时,可用`git stash list`查看记录,通过`git stash apply stash@{n}`精准恢复 - 合并后出现冲突时,可使用`git mergetool`可视化工具解决冲突 - 长期分支开发推荐使用`git rebase`保持提交历史线性
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值