华为---代理ARP工作过程示例分析

目录

[1. 示例场景](#1. 示例场景)

[2. 基本配置](#2. 基本配置)

[3. 配置代码](#3. 配置代码)

[4. 测试验证](#4. 测试验证)

[5. 抓包分析](#5. 抓包分析)

[5.1 在代理ARP环境下PC1和PC2通信分析](#5.1 在代理ARP环境下PC1和PC2通信分析)

[5.2 取消代理ARP环境下PC1和PC2通信分析](#5.2 取消代理ARP环境下PC1和PC2通信分析)

[【1】取消R1路由器GE 0/0/1端口ARP代理](#【1】取消R1路由器GE 0/0/1端口ARP代理)

[【2】取消R2路由器GE 0/0/1端口ARP代理](#【2】取消R2路由器GE 0/0/1端口ARP代理)


1. 示例场景

如上图所示, PC1和PC2通过代理ARP进行通信。

2. 基本配置

PC也可以配置网关IP地址,因为PC1和PC2的IP地址都是192.168.1.0/24网段的IP地址,所以PC1和PC2认为它们处于同一局域网,通过发送ARP广播就能查找到对方,不会通过网关进行路由去查找对方。即便是配置好路由,PC1和PC2也无法通信。

<Huawei>system-view
[Huawei]sysname R1
[R1]interface GigabitEthernet 0/0/1
[R1-GigabitEthernet0/0/1]ip address 192.168.1.254 24
[R1-GigabitEthernet0/0/1]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 192.168.2.0 24 12.0.0.2
[R1]ip route-static 3.3.3.3 32 12.0.0.2
[R1-GigabitEthernet0/0/1]arp-proxy enable

<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 192.168.2.254 24
[R2]interface LoopBack 1
[R2-LoopBack1]ip address 3.3.3.3 32
[R2-LoopBack1]quit
[R2]ip route-static 192.168.1.0 24 12.0.0.1
[R2-GigabitEthernet0/0/1]arp-proxy enable

3. 配置代码

system-view 
sysname R1
interface GigabitEthernet 0/0/0
ip address 12.0.0.1 30
interface GigabitEthernet 0/0/1
ip address 192.168.1.254 24
arp-proxy enable 
quit
ip route-static 192.168.2.0 24 12.0.0.2
ip route-static 3.3.3.3 32 12.0.0.2

system-view 
sysname R2
interface LoopBack 1	
ip address 3.3.3.3 32
interface GigabitEthernet 0/0/0
ip address 12.0.0.2 30
interface GigabitEthernet 0/0/1
ip address 192.168.2.254 24
arp-proxy enable 
quit
ip route-static 192.168.1.0 24 12.0.0.1

4. 测试验证

PC1和PC2通信正常。

5. 抓包分析

5.1 在代理ARP环境下PC1和PC2通信分析

PC1发送ARP请求:"谁是192.168.1.65?请告诉192.168.1.1"

R1的GE 0/0/1端口应答:"192.168.1.65在 00:e0:fc:06:24:04"

上图所示R1的GE 0/0/1端口MAC地址为 00e0-fc06-2404

在代理ARP环境下PC1和PC2通信过程为:

  1. PC1访问PC2,PC1判断PC2的IP地址和自己是同一网段;
  2. PC1发送ARP请求:"谁是192.168.1.65?请告诉192.168.1.1";
  3. 配置了代理ARP的R1路由器GE 0/0/1端口接收到PC1的ARP广播,查看自己的路由表是否有去往PC2所在网段的路由?
  4. 如果R1路由器的路由表有去往PC2所在网段的路由,则R1路由器GE 0/0/1端口用自己的MAC地址代替PC2的MAC地址进行应答,"192.168.1.65在 00:e0:fc:06:24:04",同时R1路由器GE 0/0/1端口和R2路由器GE 0/0/1端口以中间人的身份替PC1和 PC2进行"传话"通信;
  5. 如果R1路由器的路由表没有去往PC2所在网段的路由,则不应答。

上图为在R1上删除去往PC2所在网段路由后,PC1 ping PC2的截图, 没有应答。
[R1]undo ip route-static 192.168.1.64 27 12.0.0.2

5.2 取消代理ARP环境下PC1和PC2通信分析

【1】取消R1路由器GE 0/0/1端口ARP代理

[R1-GigabitEthernet0/0/1]undo arp-proxy enable

取消R1路由器GE 0/0/1端口ARP代理后,PC1访问PC2,PC1判断PC2的IP地址和自己是同一网段,PC1发送ARP请求:"谁是192.168.1.65?请告诉192.168.1.1",收不到应答,因为路由器R1隔离了ARP广播,而PC1所在局域网没有192.168.1.65 IP地址的终端,所以PC1访问不到PC2。

取消了R1路由器GE 0/0/1端口ARP代理,但没取消R2路由器GE 0/0/1端口ARP代理,PC2还能访问到PC1。

PC2访问PC1正常。因为R2路由器GE 0/0/1端口ARP代理,通信过程与"5.1 在代理ARP环境下PC1和PC2通信分析"小节一致。

【2】取消R2路由器GE 0/0/1端口ARP代理

同时取消R1路由器GE 0/0/1端口和R2路由器GE 0/0/1端口ARP代理,PC1访问不到PC2, PC2也访问不到PC1。原理与"【1】取消R1路由器GE 0/0/1端口ARP代理"小节一致。

相关推荐
龙哥说跨境5 分钟前
如何利用指纹浏览器爬虫绕过Cloudflare的防护?
服务器·网络·python·网络爬虫
懒大王就是我20 分钟前
C语言网络编程 -- TCP/iP协议
c语言·网络·tcp/ip
Elaine20239133 分钟前
06 网络编程基础
java·网络
海绵波波1072 小时前
Webserver(4.3)TCP通信实现
服务器·网络·tcp/ip
sanzk3 小时前
华为鸿蒙应用开发
华为·harmonyos
热爱跑步的恒川5 小时前
【论文复现】基于图卷积网络的轻量化推荐模型
网络·人工智能·开源·aigc·ai编程
云飞云共享云桌面6 小时前
8位机械工程师如何共享一台图形工作站算力?
linux·服务器·网络
音徽编程8 小时前
Rust异步运行时框架tokio保姆级教程
开发语言·网络·rust
ClkLog-开源埋点用户分析8 小时前
ClkLog企业版(CDP)预售开启,更有鸿蒙SDK前来助力
华为·开源·开源软件·harmonyos
mg6688 小时前
鸿蒙系统的优势 开发 环境搭建 开发小示例
华为·harmonyos