华为---以太网静态路由配置使用下一跳通信正常,而使用出接口无法通信

目录

[1. 实验环境](#1. 实验环境)

[2. 结果测试](#2. 结果测试)

[3. 分析验证](#3. 分析验证)

[3.1 以太网静态路由配置使用下一跳跨网段通信抓包分析](#3.1 以太网静态路由配置使用下一跳跨网段通信抓包分析)

[3.2 以太网静态路由配置使用出接口跨网段通信抓包分析](#3.2 以太网静态路由配置使用出接口跨网段通信抓包分析)

[3.3 以太网静态路由配置使用出接口无法跨网段通信问题解决办法](#3.3 以太网静态路由配置使用出接口无法跨网段通信问题解决办法)


1. 实验环境

以太网静态路由配置使用下一跳跨网段通信正常,而使用出接口无法跨网段通信,以下图网络拓扑为例进行分析说明。

配置如下:

<Huawei>system-view
[Huawei]sysname R1
[R1]interface GigabitEthernet 0/0/0
[R1-GigabitEthernet0/0/0]ip address 12.0.0.1 30
[R1-GigabitEthernet0/0/0]quit
[R1]ip route-static 172.22.2.0 24 12.0.0.2

<Huawei>system-view
[Huawei]sysname R2
[R2]interface GigabitEthernet 0/0/0
[R2-GigabitEthernet0/0/0]ip address 12.0.0.2 30
[R2-GigabitEthernet0/0/0]interface GigabitEthernet 0/0/1
[R2-GigabitEthernet0/0/1]ip address 172.22.2.254 24
[R2-GigabitEthernet0/0/1]quit

2. 结果测试

以太网静态路由配置使用下一跳跨网段通信正常。

将以太网静态路由配置改用出接口后能否跨网段通信?

[R1]undo ip route-static 172.22.2.0 255.255.255.0 12.0.0.2
[R1]ip route-static 172.22.2.0 255.255.255.0 GigabitEthernet0/0/0

以太网静态路由配置改用出接口后无法跨网段通信

3. 分析验证

为什么以太网静态路由配置使用下一跳跨网段通信正常,而使用出接口无法跨网段通信?

3.1 以太网静态路由配置使用下一跳跨网段通信抓包分析

以太网静态路由配置使用下一跳跨网段R1访问PC通信过程如下:

  1. R1访问PC,查看自己的路由表,R1发现有到PC所在网段的路由(有去往PC的路,下一段路就在该路由的下一跳IP地址12.0.0.2所在网段);
  2. R1就向下一跳IP地址所在网段的端口GE 0/0/0发送ARP广播请求:"谁是12.0.0.2?请告诉12.0.0.1";
  3. R2的GE 0/0/0端口收到R1的ARP广播请求后,发现是找自己的,R2的GE 0/0/0端口应答R1的GE 0/0/0端口:"12.0.0.2在 00:e0:fc:64:07:60";
  4. R2拆开从R1的GE 0/0/0端口发来的数据帧,发现是要找IP地址172.22.2.1/24,R2查看自己的路由表,发现有到172.22.2.1/24所在网段的直连路由(有去往172.22.2.1/24的路,下一段路就在该路由的下一跳IP地址172.22.2.254所在网段);
  5. R2就向下一跳IP地址所在网段的端口GE 0/0/1发送ARP广播请求:"谁是172.22.2.1?请告诉172.22.2.254";
  6. PC收到R2的ARP广播请求后,发现是找自己的,PC应答R2的GE 0/0/1端口:"172.22.2.1在 54:89:98:8B:47:36";
  7. 至此,ARP表建立完成,后续通信直接查看ARP表、路由表即可完成,不用在发送ARP广播请求和ARP应答,除非ARP表过期。

3.2 以太网静态路由配置使用 出接口跨网段通信抓包分析

[R1]undo ip route-static 172.22.2.0 255.255.255.0 12.0.0.2
[R1]ip route-static 172.22.2.0 255.255.255.0 GigabitEthernet0/0/0

以太网静态路由配置使用出接口跨网段通信过程如下:

  1. R1访问PC,查看自己的路由表,R1发现有到PC所在网段的路由(有去往PC的路,下一段路就在该路由的下一跳IP地址12.0.0.1所在网段);
  2. R1就向下一跳IP地址所在网段的端口GE 0/0/0发送ARP广播请求:"谁是172.22.2.1?请告诉12.0.0.1";
  3. R1的GE 0/0/0端口收到R1的ARP广播请求后,发现是找172.22.2.1,和自己不在同一网段,直接丢弃ARP广播数据;
  4. 至此,通信中断,无法建立ARP表,因为R1的端口GE 0/0/0发送ARP广播请求,同时R1的GE 0/0/0端口收到R1的ARP广播请求,自问自答,而且ARP广播请求的地址和R1的GE 0/0/0端口IP地址不在同一网段,无法得到应答。

3.3 以太网静态路由配置使用 出接口无法跨网段通信问题解决办法

在R2的GE 0/0/0端口配置代理ARP,解决以太网静态路由配置使用出接口无法跨网段通信问题。

配置如下:

[R2-GigabitEthernet0/0/0]arp-proxy enable

测试验证:

在R2的GE 0/0/0端口配置代理ARP后,R1和PC通信正常。

配置代理ARP实现 以太网静态路由配置使用出接口跨网段通信过程如下:

  1. R1访问PC,查看自己的路由表,R1发现有到PC所在网段的路由(有去往PC的路,下一段路就在该路由的下一跳IP地址12.0.0.1所在网段);
  2. R1就向下一跳IP地址所在网段的端口GE 0/0/0发送ARP广播请求:"谁是172.22.2.1?请告诉12.0.0.1";
  3. R2的GE 0/0/0端口收到R1的ARP广播请求后,发现不是找自己的,R2的GE 0/0/0端口有ARP代理功能,所以应答R1的GE 0/0/0端口:"172.22.2.1在 00:e0:fc:64:07:60";
  4. R2查看自己的路由表,发现有到172.22.2.1在网段的直连路由(有去往172.22.2.1的路,下一段路就在该路由的下一跳IP地址172.22.2.254所在网段);
  5. R2就向下一跳IP地址所在网段的端口GE 0/0/1发送ARP广播请求:"谁是172.22.2.1?请告诉172.22.2.254";
  6. PC收到R2的ARP广播请求后,发现是找自己的,PC应答R2的GE 0/0/1端口:"172.22.2.1在 54:89:98:8B:47:36";
  7. 至此,ARP表建立完成,后续通信直接查看ARP表、路由表即可完成,不用在发送ARP广播请求和ARP应答,除非ARP表过期。
相关推荐
Koi慢热36 分钟前
路由基础(全)
linux·网络·网络协议·安全
传而习乎1 小时前
Linux:CentOS 7 解压 7zip 压缩的文件
linux·运维·centos
soulteary1 小时前
突破内存限制:Mac Mini M2 服务器化实践指南
运维·服务器·redis·macos·arm·pika
运维&陈同学2 小时前
【zookeeper01】消息队列与微服务之zookeeper工作原理
运维·分布式·微服务·zookeeper·云原生·架构·消息队列
是阿建吖!2 小时前
【Linux】进程状态
linux·运维
hzyyyyyyyu2 小时前
内网安全隧道搭建-ngrok-frp-nps-sapp
服务器·网络·安全
明明跟你说过3 小时前
Linux中的【tcpdump】:深入介绍与实战使用
linux·运维·测试工具·tcpdump
刽子手发艺3 小时前
WebSocket详解、WebSocket入门案例
网络·websocket·网络协议
Mr_Xuhhh4 小时前
重生之我在学环境变量
linux·运维·服务器·前端·chrome·算法