华为---代理ARP简介及示例配置
目录
1. 概念
2. 前提条件
3. 使用环境
4. 工作过程
5. 优点
6. 缺点
7. 示例配置
7.1 示例场景
7.2基本配置
7.3 配置端口隔离
7.4 开启代理ARP
7.4.1 VLAN内代理ARP
7.4.2 VLAN间代理ARP
7.4.3路由式ARP代理
1. 概念
代理ARP(Proxy ARP):当主机没有配置网关,向是同一网段的另一广播域终端发送ARP广播请求,配置了代理ARP的设备收到了这个ARP请求后,确认IP地址可达后,会使用自己端口的mac地址作回应该ARP请求,使处于不同物理网络的同一网段主机正常通信。
扩展了局域网,将物理上分割开的广播域连接在一起。
2. 前提条件
同一网段的局域网设备,被分割为多个局域网(多个广播域),在局域网各个终端不设置网关的情况下,要使被分隔开的各同一网段的终端能够通信,则需要在相应设备上配置代理ARP。屏蔽了分离的物理网络,使用起来好像在同一个物理网络上。
3. 使用环境
代理ARP的使用一般是使用在没有配置默认网关和路由策略的网络上的。
4. 工作过程
- 如上图所示,同一网段的局域网设备,被路由器分割为多个局域网(多个广播域),在局域网各个终端不设置网关的情况下,要使被物理上分隔开的各同一网段的终端能够通信,则需要在路由器上设置代理ARP。
- 当A区域的终端发送ARP广播请求,查找B区域终端的MAC地址时,连接A区域的路由器端口1收到ARP请求时(由于路由器不会转发广播包,因此ARP请求只能到达路由器,不能到达区域B),三层设备会查看ARP请求,发现IP地址属于它连接的另一个网络,因此路由器用端口1的MAC地址代替B区域终端的MAC地址,向A区域终端回复ARP应答。
- A区域终端收到ARP应答后,会认为B区域终端的MAC地址就是连接A区域的路由器端口的MAC地址,不会感知到ARP代理的存在。
5. 优点
最主要的一个优点就是在不影响路由表的情况下,可以和同一网段的另一广播域终端正常通信。
6. 缺点
- 增加了某一网段上ARP流量;
- 主机需要更大的ARP table来处理IP地址到MAC地址的映射;
- 安全问题,比如ARP欺骗(spoofing);
- 和不使用ARP来解析地址的网络无法通信;
- 不能概括和扩展网络拓扑。
7. 示例配置
7.1 示例场景
如上图所示,所有PC终端都在同一网段下,也都没有配置网关, PC1和PC2与交换机SW连接的端口加入隔离组,在上述条件下,实现所有PC终端能够正常通信。
7.2基本配置
PC2、PC3和PC5配置与PC1和PC4类似,不再赘述。
<Huawei>system-view
[Huawei]sysname R1
[R1]interface GigabitEthernet 0/0/1
[R1-GigabitEthernet0/0/1]ip address 192.168.10.30 27
[R1-GigabitEthernet0/0/1]interface GigabitEthernet 0/0/2
[R1-GigabitEthernet0/0/2]ip address 12.0.0.1 30
[R1-GigabitEthernet0/0/2]quit
[R1]ip route-static 192.168.10.32 27 12.0.0.2
[R1]ip route-static 192.168.10.64 27 12.0.0.2
<Huawei>system-view
[Huawei]sysname R2
[R2]interface GigabitEthernet 0/0/0
[R2-GigabitEthernet0/0/0]ip address 192.168.10.62 27
[R2-GigabitEthernet0/0/0]interface GigabitEthernet 0/0/1
[R2-GigabitEthernet0/0/1]ip address 192.168.10.94 27
[R2-GigabitEthernet0/0/1]interface GigabitEthernet 0/0/2
[R2-GigabitEthernet0/0/2]ip address 12.0.0.2 30
[R2-GigabitEthernet0/0/2]quit
[R2]ip route-static 192.168.10.0 27 12.0.0.1
<Huawei>system-view
[Huawei]sysname SW
[SW]vlan batch 10 20
[SW]interface GigabitEthernet 0/0/23
[SW-GigabitEthernet0/0/23]port link-type trunk
[SW-GigabitEthernet0/0/23]port trunk allow-pass vlan 10 20
<Huawei>system-view
[Huawei]sysname SW1
[SW1]vlan batch 10 20
[SW1]interface Ethernet 0/0/1
[SW1-Ethernet0/0/1]port link-type access
[SW1-Ethernet0/0/1] port default vlan 10
[SW1-Ethernet0/0/1]interface Ethernet 0/0/2
[SW1-Ethernet0/0/2]port link-type access
[SW1-Ethernet0/0/2]port default vlan 10
[SW1-Ethernet0/0/2]interface Ethernet 0/0/3
[SW1-Ethernet0/0/3]port link-type access
[SW1-Ethernet0/0/3]port default vlan 20
[SW1]interface GigabitEthernet 0/0/1
[SW1-GigabitEthernet0/0/1]port link-type trunk
[SW1-GigabitEthernet0/0/1]port trunk allow-pass vlan 10 20
在上述基本配置下测试网络环境
经过上图测试说明,所有PC终端都无法跨网段通信。
7.3 配置端口隔离
将PC1和PC2与交换机SW连接的端口加入隔离组
配置如下:
<Huawei>system-view
[Huawei]sys SW1
[SW1]interface GigabitEthernet 0/0/1
[SW1-Ethernet0/0/1]port-isolate enable group 5
[SW1-Ethernet0/0/1]interface GigabitEthernet 0/0/2
[SW1-Ethernet0/0/2]port-isolate enable group 5
测试PC1和PC2通信情况
将PC1和PC2与交换机SW连接的端口加入隔离组5后,PC1和PC2无法正常通信。
7.4 开启代理ARP
7.4.1 VLAN内代理ARP
VLAN内ARP代理的功能就是使那些处于相同的VLAN,但是相互之间配置了端口隔离的设备之间能够相互通信。
PC1和PC2与交换机SW连接的端口加入隔离组5后,PC1和PC2无法正常通信,现要求在端口隔离的情况下,实现VLAN 10下的PC1和PC2能够通信。
为满足上述要求,在SW1交换机上配置VLAN内代理ARP,具体配置如下:
[SW1]interface Vlanif 10
[SW1-Vlanif10]ip address 192.168.10.14 28
[SW1-Vlanif10]arp-proxy inner-sub-vlan-proxy enable //配置VLAN内代理ARP
测试PC1和PC2通信情况
PC1和PC2与交换机SW连接的端口在隔离组5中,在SW1交换机上配置VLAN 10内代理ARP,实现了PC1和PC2正常通信。
7.4.2 VLAN间代理ARP
VLAN间ARP代理的功能就是使那些处于不同的VLAN的设备(未配置网关)之间能够相互通信。
PC1和PC2与交换机SW连接的端口在隔离组5中,在SW1交换机上配置VLAN 10内代理ARP,实现了PC1和PC2正常通信。但PC3还无法和PC1、PC2通信,现要求在不给PC1、PC2和PC3配置网关的情况下,PC3和PC1、PC2能够正常通信。
为满足上述要求,在SW1交换机上配置VLAN间代理ARP,具体配置如下:
[SW1-Vlanif10]undo arp-proxy inner-sub-vlan-proxy enable
[SW1-Vlanif10]undo ip address 192.168.10.14 255.255.255.240
[SW1-vlan23]access-vlan 10 20
Error: The VLAN has a L3 interface. Please delete it first.
为了消除上述错误,进行如下配置。
[SW1]undo interface Vlanif 10
[SW1]undo interface Vlanif 20
[SW1-vlan23]aggregate-vlan //VLAN23设置为聚合VLAN(Super VLAN)
[SW1-vlan23]access-vlan 10 //VLAN10设置为VLAN23的子VLAN(Sub-VLAN)
[SW1-vlan23]access-vlan 20
[SW1]interface Vlanif 23
[SW1-Vlanif23]ip add
[SW1-Vlanif23]ip address 192.168.10.29 27
[SW1-Vlanif23]arp-proxy inner-sub-vlan-proxy enable //配置VLAN内代理ARP
[SW1-Vlanif23]arp-proxy inter-sub-vlan-proxy enable //配置VLAN间代理ARP
测试PC1、PC2和PC3通信情况
PC1和PC2与交换机SW连接的端口在隔离组5中,在SW1交换机的聚合VLAN23上配置VLAN 内代理ARP和VLAN 间代理ARP,不给PC1、PC2和PC3配置网关的情况下,实现了PC1、PC2和PC3通信正常。
7.4.3路由式ARP代理
通过8.4.1 VLAN内代理ARP和8.4.2 VLAN间代理ARP两小节,虽然实现了实现了PC1、PC2和PC3通信正常,但是还无法实现跨路由器通信,即,PC1、PC2、PC3无法和PC4或PC5通信。
为实现PC1、PC2、PC3和PC4或PC5正常通信,进行如下配置:
在R1的GE 0/0/1端口配置子端口,分别对应VLAN10和VLAN20,实现单臂路由功能,因为所有PC终端都没有设置网关IP地址(即默认路由),只能在同网段相互通信。在VLAN10和VLAN20各自对应的GE 0/0/1子端口开启ARP代理, 同时在R2的GE 0/0/0端口开启代理ARP,以实现PC1、PC2、PC3和PC4正常通信,PC1、PC2、PC3能访问PC5,但PC5访问不了PC1、PC2和PC3。
[R1]interface GigabitEthernet0/0/1.10
[R1-GigabitEthernet0/0/1.10]ip address 192.168.10.14 255.255.255.240
[R1-GigabitEthernet0/0/1.10]dot1q termination vid 10
[R1-GigabitEthernet0/0/1.10]arp-proxy enable
[R1-GigabitEthernet0/0/1.10]arp broadcast enable
[R1-GigabitEthernet0/0/1.10]quit
[R1]interface GigabitEthernet0/0/1.20
[R1-GigabitEthernet0/0/1.20]ip address 192.168.10.30 255.255.255.240
[R1-GigabitEthernet0/0/1.20]dot1q termination vid 20
[R1-GigabitEthernet0/0/1.20]arp-proxy enable
[R1-GigabitEthernet0/0/1.20]arp broadcast enable
[R2-GigabitEthernet0/0/0]arp-proxy enable
测试PC1、PC2、PC3和PC4或PC5的通信情况
通过上图可以看出,PC1、PC2、PC3和PC4正常通信,PC1、PC2、PC3能访问PC5,但PC5访问不了PC1、PC2和PC3。
为什么PC5访问不了PC1、PC2和PC3?
因为PC5没有设置网关IP地址,只能通过ARP广播查找和自己同网段终端,但和PC5相连的路由器R2隔离了ARP广播,和PC5相连的R2路由器GE0/0/1端口没有开启代理ARP,所以PC5的数据出不了自己所在的局域网。
为什么PC1、PC2、PC3、PC4和PC5无法访问12.0.0.1和12.0.0.2两个IP地址?
因为本示例各PC终端都是通过代理ARP实现192.168.10.0/24网段通信,没有设置网关IP地址,各PC终端无法实现跨网段通信。