目录 1 ARP 配置... 1-1 1.1 ARP 简介... 1-1 1.1.1 ARP 作用... 1-1 1.1.2 ARP 报文结构...1-1 1.1.3 ARP 地址解析过程... 1-2 1.1.4 ARP 表... 1-2 1.2 配置 ARP... 1-3 1.2.1 手工添加静态 ARP 表项... 1-3 1.2.2 配置接口学习动态 ARP 表项的最大数目... 1-4 1.2.3 配置动态 ARP 表项的老化时间... 1-4 1.2.4 使能动态 ARP 表项的检查功能... 1-4 1.2.5 配置快速更新 ARP 表项... 1-4 1.2.6 使能支持自然网段的 ARP 请求... 1-5 1.2.7 配置组播 ARP... 1-6 1.3 ARP 显示和维护... 1-6 1.4 ARP 典型配置举例...1-7 1.4.1 ARP 配置举例...1-7 1.4.2 组播 ARP 配置举例一... 1-8 1.4.3 组播 ARP 配置举例二... 1-10 2 免费 ARP 配置... 2-1 2.1 免费 ARP 简介... 2-1 2.2 配置免费 ARP... 2-2 3 代理 ARP 配置... 3-1 3.1 代理 ARP 简介... 3-1 3.1.1 代理 ARP... 3-1 3.1.2 本地代理 ARP... 3-2 3.2 配置代理 ARP 功能...3-2 3.3 代理 ARP 显示和维护...3-3 3.4 代理 ARP 典型配置举例...3-3 3.4.1 代理 ARP 配置举例... 3-3 3.4.2 端口隔离时的本地代理 ARP 配置举例... 3-4 3.4.3 Super VLAN 中的本地代理 ARP 配置举例... 3-5 3.4.4 Isolate-user-vlan 中的本地代理 ARP 配置举例... 3-6 i
1 ARP 配置 S7600 系列交换机为分布式设备, 支持 IRF(Intelligent Resilient Framework) 特性, 两台配置了 IRF 功能的 S7600 交换机连接之后即形成一台分布式 IRF 设备 S7600 系列交换机未形成 IRF 时, 适用本手册中的 分布式设备 的情况 ; 形成 IRF 后则适用本手册中的 分布式 IRF 设备 的情况 有关 IRF 特性的详细介绍, 请参见 IRF 配置指导 中的 IRF 配置 1.1 ARP 简介 1.1.1 ARP 作用 ARP(Address Resolution Protocol, 地址解析协议 ) 是将 IP 地址解析为以太网 MAC 地址 ( 或称物理地址 ) 的协议 在局域网中, 当主机或其它网络设备有数据要发送给另一个主机或设备时, 它必须知道对方的网络层地址 ( 即 IP 地址 ) 但是仅仅有 IP 地址是不够的, 因为 IP 数据报文必须封装成帧才能通过物理网络发送, 因此发送站还必须有接收站的物理地址, 所以需要一个从 IP 地址到物理地址的映射 APR 就是实现这个功能的协议 1.1.2 ARP 报文结构 ARP 报文分为 ARP 请求和 ARP 应答报文, 报文格式如图 1-1 所示 图 1-1 ARP 报文结构 硬件类型 : 表示硬件地址的类型 它的值为 1 表示以太网地址 ; 协议类型 : 表示要映射的协议地址类型 它的值为 0x0800 即表示 IP 地址 ; 硬件地址长度和协议地址长度分别指出硬件地址和协议地址的长度, 以字节为单位 对于以太网上 IP 地址的 ARP 请求或应答来说, 它们的值分别为 6 和 4; 操作类型 (OP):1 表示 ARP 请求,2 表示 ARP 应答 ; 发送端 MAC 地址 : 发送方设备的硬件地址 ; 发送端 IP 地址 : 发送方设备的 IP 地址 ; 目标 MAC 地址 : 接收方设备的硬件地址 目标 IP 地址 : 接收方设备的 IP 地址 1-1
1.1.3 ARP 地址解析过程假设主机 A 和 B 在同一个网段, 主机 A 要向主机 B 发送信息 如图 1-2 所示, 具体的地址解析过程如下 : (1) 主机 A 首先查看自己的 ARP 表, 确定其中是否包含有主机 B 对应的 ARP 表项 如果找到了对应的 MAC 地址, 则主机 A 直接利用 ARP 表中的 MAC 地址, 对 IP 数据包进行帧封装, 并将数据包发送给主机 B (2) 如果主机 A 在 ARP 表中找不到对应的 MAC 地址, 则将缓存该数据报文, 然后以广播方式发送一个 ARP 请求报文 ARP 请求报文中的发送端 IP 地址和发送端 MAC 地址为主机 A 的 IP 地址和 MAC 地址, 目标 IP 地址和目标 MAC 地址为主机 B 的 IP 地址和全 0 的 MAC 地址 由于 ARP 请求报文以广播方式发送, 该网段上的所有主机都可以接收到该请求, 但只有被请求的主机 ( 即主机 B) 会对该请求进行处理 (3) 主机 B 比较自己的 IP 地址和 ARP 请求报文中的目标 IP 地址, 当两者相同时进行如下处理 : 将 ARP 请求报文中的发送端 ( 即主机 A) 的 IP 地址和 MAC 地址存入自己的 ARP 表中 之后以单播方式发送 ARP 响应报文给主机 A, 其中包含了自己的 MAC 地址 (4) 主机 A 收到 ARP 响应报文后, 将主机 B 的 MAC 地址加入到自己的 ARP 表中以用于后续报文的转发, 同时将 IP 数据包进行封装后发送出去 图 1-2 ARP 地址解析过程 当主机 A 和主机 B 不在同一网段时, 主机 A 就会先向网关发出 ARP 请求,ARP 请求报文中的目标 IP 地址为网关的 IP 地址 当主机 A 从收到的响应报文中获得网关的 MAC 地址后, 将报文封装并发给网关 如果网关没有主机 B 的 ARP 表项, 网关会广播 ARP 请求, 目标 IP 地址为主机 B 的 IP 地址, 当网关从收到的响应报文中获得主机 B 的 MAC 地址后, 就可以将报文发给主机 B; 如果网关已经有主机 B 的 ARP 表项, 网关直接把报文发给主机 B 1.1.4 ARP 表设备通过 ARP 解析到目的 MAC 地址后, 将会在自己的 ARP 表中增加 IP 地址到 MAC 地址的映射表项, 以用于后续到同一目的地报文的转发 ARP 表项分为动态 ARP 表项和静态 ARP 表项 1. 动态 ARP 表项动态 ARP 表项由 ARP 协议通过 ARP 报文自动生成和维护, 可以被老化, 可以被新的 ARP 报文更新, 可以被静态 ARP 表项覆盖 当到达老化时间 接口 down 时会删除相应的动态 ARP 表项 2. 静态 ARP 表项静态 ARP 表项通过手工配置和维护, 不会被老化, 不会被动态 ARP 表项覆盖 1-2
配置静态 ARP 表项可以增加通信的安全性 静态 ARP 表项可以限制和指定 IP 地址的设备通信时只使用指定的 MAC 地址, 此时攻击报文无法修改此表项的 IP 地址和 MAC 地址的映射关系, 从而保护了本设备和指定设备间的正常通信 静态 ARP 表项分为短静态 ARP 表项和长静态 ARP 表项 在配置长静态 ARP 表项时, 除了配置 IP 地址和 MAC 地址项外, 还必须配置该 ARP 表项所在 VLAN 和出接口 长静态 ARP 表项可以直接用于报文转发 在配置短静态 ARP 表项时, 只需要配置 IP 地址和 MAC 地址项 短静态 ARP 表项不能直接用于报文转发, 当要发送 IP 数据包时, 先发送 ARP 请求报文, 如果收到的响应报文中的源 IP 地址和源 MAC 地址与所配置的 IP 地址和 MAC 地址相同, 则将接收 ARP 响应报文的接口加入该静态 ARP 表项中, 之后就可以用于 IP 数据包的转发 一般情况下,ARP 动态执行并自动寻求 IP 地址到以太网 MAC 地址的解析, 无需管理员的介入 当希望设备和指定用户只能使用某个固定的 IP 地址和 MAC 地址通信时, 可以配置短静态 ARP 表项, 当进一步希望限定这个用户只在某 VLAN 内的某个特定接口上连接时就可以配置长静态 ARP 表项 1.2 配置 ARP 1.2.1 手工添加静态 ARP 表项静态 ARP 表项在设备正常工作时间一直有效, 当设备的 ARP 表项所对应的 VLAN 或 VLAN 接口被删除时, 如果是长静态 ARP 表项则被删除, 如果是已经解析的短静态 ARP 表项则重新变为未解析状态 表 1-1 手工添加静态 ARP 表项 操作命令说明进入系统视图 system-view - 手工添加长静态 ARP 表项 手工添加短静态 ARP 表项 arp static ip-address mac-address vlan-id interface-type interface-number [ vpn-instance vpn-instance-name ] arp static ip-address mac-address [ vpn-instance vpn-instance-name ] 必选缺省情况下, 没有配置任何长静态 ARP 表项必选缺省情况下, 没有配置任何短静态 ARP 表项 参数 vlan-id 用于指定 ARP 表项所对应的 VLAN,vlan-id 必须是用户已经创建好的 VLAN 的 ID, 且 vlan-id 参数后面指定的以太网端口必须属于这个 VLAN VLAN 对应的 VLAN 接口必须已经创建 指定参数 vlan-id 和 ip-address 的情况下, 参数 vlan-id 对应的 VLAN 接口的 IP 地址必须和参数 ip-address 指定的 IP 地址属于同一网段 1-3
1.2.2 配置接口学习动态 ARP 表项的最大数目表 1-2 配置接口学习动态 ARP 表项的最大数目 操作命令说明进入系统视图 system-view - 进入接口视图 配置接口允许学习动态 ARP 表项的最大数目 interface interface-type interface-number arp max-learning-num number - 可选 缺省情况下, 接口允许学习动态 ARP 表项的最大个数为 8192 当配置接口允许学习动态 ARP 表项的最大数目为 0 时, 表示禁止接口学习动态 ARP 表项 1.2.3 配置动态 ARP 表项的老化时间为适应网络的变化,ARP 表需要不断更新 ARP 表中的动态 ARP 表项并非永远有效, 每一条记录都有一个老化时间, 到达老化时间仍得不到刷新的记录将被从 ARP 表中删除 如果在到达老化时间前记录被刷新, 则重新计算老化时间 用户可以根据网络实际情况调整老化时间 表 1-3 配置动态 ARP 的老化时间 操作命令说明进入系统视图 system-view - 配置动态 ARP 的老化时间 arp timer aging aging-time 可选 缺省情况下, 动态 ARP 的老化时间为 20 分钟 1.2.4 使能动态 ARP 表项的检查功能动态 ARP 表项检查功能可以控制设备上是否可以学习 MAC 地址为组播 MAC 的动态 ARP 表项 使能 ARP 表项的检查功能后, 设备上不能学习 MAC 地址为组播 MAC 的动态 ARP 表项, 否则会有错误提示 关闭 ARP 表项的检查功能后, 设备上可以学习 MAC 地址为组播 MAC 的动态 ARP 表项 表 1-4 使能动态 ARP 表项的检查功能 操作命令说明进入系统视图 system-view - 使能动态 ARP 表项的检查功能 arp check enable 可选缺省情况下, 使能动态 ARP 表项的检查功能 1.2.5 配置快速更新 ARP 表项 如图 1-3 所示,Laptop 经常在无线站点 AP1 和 AP2 之间漫游, 导致 Switch 上记录的 Laptop 的 MAC 地址与出端口的对应关系经常发生改变, 但是 Switch 上的 ARP 表项不会立即更新, 影响到数据业务的正常转发 1-4
图 1-3 快速更新 ARP 表项应用环境 GE2/0/1 Switch GE2/0/2 AP1 AP2 Laptop 使能快速更新 ARP 表项功能后, 如果交换机上记录的 MAC 地址与出端口的对应关系发生改变, 系统会立刻更新 ARP 表项, 保证了数据业务的不间断转发 表 1-5 配置快速更新 ARP 表项操作命令说明进入系统视图 system-view - 使能快速更新 ARP 表项功能 mac-address station-move quick-notify enable 可选 缺省情况下, 没有使能快速更新 ARP 表项功能 快速更新 ARP 表项功能通常用于无线组网环境中, 在其它组网境中建议用户不要使用该功能 1.2.6 使能支持自然网段的 ARP 请求学习 ARP 表项时, 在发现 ARP 报文的源 IP 地址和入接口 IP 地址不在同一网段后, 使用自然网段进行判断 假设 Vlan-interface10 接口的 IP 地址为 10.10.10.5/24, 收到一个源 IP 地址为 10.11.11.1/8 的 ARP 报文, 用接口的 24 位掩码与 10.11.11.1 进行与运算, 得到的网段地址与接口 IP 地址不在同一网段, Vlan-interface10 接口无法处理这个报文 如果使能支持自然网段的 ARP 请求功能, 则通过接口 IP 地址所在自然网段的掩码进行判断, 由于 Vlan-interface10 接口的 IP 地址为 A 类地址, 因此默认掩码应该为 8 位, 于是两个 IP 地址就在同一个网段,Vlan-interface10 接口就可以学习源 IP 地址为 10.11.11.1 的 ARP 表项了 表 1-6 使能支持自然网段的 ARP 请求 操作命令说明进入系统视图 system-view - 使能支持自然网段的 ARP 请求 naturemask-arp enable 必选 缺省情况下, 不使能支持自然网段的 ARP 请求 1-5
1.2.7 配置组播 ARP 微软的网络负载均衡 (NLB,Network Load Balancing) 功能, 是其在 Windows Server 上开发的一个多服务器集群负载均衡特性 NLB 支持集群内服务器之间的负载分担以及冗余备份, 当发生服务器故障时可以支持数据快速切换 为了保证快速切换,NLB 要求交换机将业务流量转发至集群内的所有服务器或指定服务器, 然后由各服务器将该服务器不期望的流量过滤掉, 因此对于那些使用 Windows Server 作为服务器操作系统的中 小型数据中心来说, 交换机与 NLB 的协同工作非常重要 为了让业务流量能够被转发到所有服务器或指定服务器, 微软 NLB 采取了一些处理机制, 包括单播模式处理机制 组播模式处理机制和 IGMP 组播模式处理机制 单播模式 : 在单播模式下,NLB 重新为每个 NLB 节点分配一个共同的 MAC 地址 ( 该 MAC 地址为集群 MAC 地址 ), 并且在发送时修改数据报文的源 MAC 地址, 从而使交换机不能将集群 MAC 地址学习到 MAC 地址表中, 这样目的地址为集群 MAC 地址的数据报文将作为未知单播报文在交换机的所有端口上进行转发 组播模式 : 在组播模式下,NLB 使用一个组播地址 ( 该 MAC 地址为虚拟 MAC) 用于 NLB 的通信, 例如使用 0300-5e11-1111 来作为 NLB 节点的虚 MAC 地址 IGMP 组播模式 :IGMP 组播模式和组播模式的区别在于 :IGMP 组播模式可以通过 IGMP 协议使交换机只将数据报文发送到连接 NLB 节点的端口, 而不是所有端口 目前,S7600 支持和 Windows Server 的 NLB 协同工作 组播 ARP 功能仅适用于 NLB 采用组播模式处理机制的情况 关于 NLB 的详细介绍请参见 Windows Server 的相关文档 表 1-7 配置组播 ARP 操作 说明 详细配置 关闭 ARP 表项的检查功能 必选 1.2.4 手工添加静态 ARP 表项 可选 1.2.1 配置静态组播 MAC 地址表项 必选 请参见 IP 组播命令参考 /IGMP Snooping 配置命令 中的 mac-address multicast 命令 使用组播 ARP 功能时, 交换机连接客户端流量的端口必须是 EB/SD 接口板上的端口 1.3 ARP 显示和维护 在完成上述配置后, 在任意视图下执行 display 命令可以显示配置后 ARP 的运行情况, 通过查看显示信息验证配置的效果 1-6
在用户视图下, 用户可以执行 reset 命令清除 ARP 表中的 ARP 表项 表 1-8 ARP 显示和维护 操作 显示 ARP 表项 ( 分布式设备 ) 显示 ARP 表项 ( 分布式 IRF 设备 ) 显示指定 IP 地址的 ARP 表项 ( 分布式设备 ) 显示指定 IP 地址的 ARP 表项 ( 分布式 IRF 设备 ) 显示指定 VPN 实例的 ARP 表项 显示动态 ARP 表项的老化时间 清除 ARP 表项 ( 分布式设备 ) 清除 ARP 表项 ( 分布式 IRF 设备 ) 命令 display arp [ [ all dynamic static ] [ slot slot-number ] vlan vlan-id interface interface-type interface-number ] [ count verbose ] [ { begin exclude include } regular-expression ] display arp [ [ all dynamic static ] [ chassis chassis-number slot slot-number ] vlan vlan-id interface interface-type interface-number ] [ count verbose ] [ { begin exclude include } regular-expression ] display arp ip-address [ slot slot-number ] [ verbose ] [ { begin exclude include } regular-expression ] display arp ip-address [ chassis chassis-number slot slot-number ] [ verbose ] [ { begin exclude include } regular-expression ] display arp vpn-instance vpn-instance-name [ count ] [ { begin exclude include } regular-expression ] display arp timer aging [ { begin exclude include } regular-expression ] reset arp { all dynamic static slot slot-number interface interface-type interface-number } reset arp { all dynamic static chassis chassis-number slot slot-number interface interface-type interface-number } 清除 ARP 表项, 将取消 IP 地址和 MAC 地址的映射关系, 可能导致无法正常通信 清除前请务必 仔细确认 1.4 ARP 典型配置举例 1.4.1 ARP 配置举例 1. 组网需求 Switch 连接主机, 通过接口 GigabitEthernet2/0/1 连接 Router 接口 GigabitEthernet2/0/1 属于 VLAN 10 Router 的 IP 地址为 192.168.1.1/24,MAC 地址为 00e0-fc01-0000 为了增加 Switch 和 Router 通信的安全性, 可以在 Switch 上配置静态 ARP 表项 1-7
2. 组网图 图 1-4 配置静态 ARP 表项组网图 3. 配置步骤在 Switch 上进行下列配置 # 创建 VLAN 10 <Switch> system-view [Switch] vlan 10 [Switch-vlan10] quit # 将接口 GigabitEthernet 2/0/1 加入到 VLAN 10 中 [Switch] interface GigabitEthernet 2/0/1 [Switch-GigabitEthernet2/0/1] port link-type trunk [Switch-GigabitEthernet2/0/1] port trunk permit vlan 10 [Switch-GigabitEthernet2/0/1] quit # 创建接口 Vlan-interface10, 并配置 IP 地址 [Switch] interface vlan-interface 10 [Switch-vlan-interface10] ip address 192.168.1.2 24 [Switch-vlan-interface10] quit # 配置一条静态 ARP 表项,IP 地址为 192.168.1.1, 对应的 MAC 地址为 00e0-fc01-0000, 此条 ARP 表项对应的出接口为属于 VLAN 10 的接口 GigabitEthernet2/0/1 [Switch] arp static 192.168.1.1 00e0-fc01-0000 10 GigabitEthernet 2/0/1 # 查看静态 ARP 表项信息 [Switch] display arp static Type: S-Static D-Dynamic A-Authorized IP Address MAC Address VLAN ID Interface Aging Type 192.168.1.1 00e0-fc01-0000 10 GE2/0/1 N/A S 1.4.2 组播 ARP 配置举例一 1. 组网需求在一个小型数据中心里, 采用微软的 NLB(Network Loadbalancing) 功能的组播模式处理机制, 为了使交换机能够和 NLB 协同工作, 需要进行如下配置 : 交换机连接客户端的端口必须是 EB/SD 接口板上的端口 ; 端口 GigabitEthernet4/0/2 和 GigabitEthernet4/0/3 属于 Vlan10,Vlan-interface10 的 IP 地址为 16.1.1.1/24; 1-8
端口 GigabitEthernet3/0/4 和 GigabitEthernet3/0/1 属于 Vlan20,Vlan-interface20 的 IP 地址为 10.0.0.1/24; 关闭 ARP 表项检查功能, 关闭 ARP 表项的检查功能后, 可以对源 MAC 地址为组播 MAC 的 ARP 表项进行学习, 且可以配置 MAC 地址为组播 MAC 的静态 ARP 表项 ; 为了保证除 Switch 的 GigabitEthernet4/0/2 和 GigabitEthernet4/0/3 以外的其他端口不会接收到相关报文, 在 Switch 上手工添加静态组播 MAC 表项 Host A 和 Host B 的缺省网关为 10.0.0.1/24; Server A 和 Srever B 的缺省网关为 16.1.1.1/24 2. 组网图图 1-5 组播 ARP 配置举例 3. 配置步骤 本配置举例仅给出交换机上的配置, 有关服务器上 NLB 的配置请参见 Windows Server 的相关手册 本配置举例假设 Server A 和 Server B 的虚拟 IP 地址为 16.1.1.100/24, 虚拟 MAC 地址为 03bf-1001-0164 配置 Switch # 配置接口 Vlan-interface10 的 IP 地址 <Switch> system-view [Switch] vlan 10 [Switch-vlan10] port GigabitEthernet 4/0/2 [Switch-vlan10] port GigabitEthernet 4/0/3 [Switch-vlan10] quit [Switch] interface vlan-interface 10 [Switch-Vlan-interface10] ip address 16.1.1.1 255.255.255.0 [Switch-Vlan-interface10] quit # 配置接口 Vlan-interface20 的 IP 地址 [Switch] vlan 20 [Switch-vlan20] port GigabitEthernet 3/0/1 [Switch-vlan20] port GigabitEthernet 3/0/4 [Switch-vlan20] quit 1-9
[Switch] interface vlan-interface 20 [Switch-Vlan-interface20] ip address 10.0.0.1 255.255.255.0 [Switch-Vlan-interface20] quit # 关闭 ARP 表项检查功能 [Switch] undo arp check enable # 手工添加静态组播 MAC 表项 [Switch] mac-address multicast 03bf-1001-0164 interface GigabitEthernet 4/0/2 Gigabi tethernet 4/0/3 vlan 10 4. 验证结果 NLB 负载分担功能测试 : 分别在 Server A 和 Server B 上启动 FTP Server, 两台 host 向虚拟 IP 发起登录请求, 登录在不同的 Server 上 ; NLB 冗余备份功能测试 : 禁用 Server A 的网卡, 两台 host 向虚拟 IP 发起登录请求, 应均登录到 Server B 的 FTP Server 上 1.4.3 组播 ARP 配置举例二 1. 组网需求在一个小型数据中心里, 采用微软的 NLB(Network Loadbalancing) 功能的组播模式处理机制, 两台 S7600 交换机形成 IRF, 为了使交换机能够和 NLB 协同工作, 需要进行如下配置 : 交换机连接客户端的端口必须是 EB/SD 接口板上的端口 ; 端口 GigabitEthernet1/4/0/2 和 GigabitEthernet2/4/0/3 属于 Vlan10,Vlan-interface10 的 IP 地址为 16.1.1.1/24; 端口 GigabitEthernet1/3/0/4 和 GigabitEthernet2/3/0/1 属于 Vlan20,Vlan-interface20 的 IP 地址为 10.0.0.1/24; 关闭 ARP 表项检查功能, 关闭 ARP 表项的检查功能后, 可以对源 MAC 地址为组播 MAC 的 ARP 表项进行学习, 且可以配置 MAC 地址为组播 MAC 的静态 ARP 表项 ; 为了保证除 Switch 的 GigabitEthernet1/4/0/2 和 GigabitEthernet2/4/0/3 以外的其他端口不会接收到相关报文, 在 Switch 上手工添加静态组播 MAC 表项 Host A 和 Host B 的缺省网关为 10.0.0.1/24; Server A 和 Srever B 的缺省网关为 16.1.1.1/24 2. 组网图图 1-6 组播 ARP 配置举例二 IRF Virtual IP : 16.1.1.100/24 Virtual MAC:03bf-1001-0164 GE1/3/0/4 GE1/4/0/2 Server A IP:16.1.1.18/24 Host B IP:10.0.0.3/24 GE2/3/0/1 Host A IP:10.0.0.2/24 GE2/4/0/3 Server B IP:16.1.1.16/24 1-10
3. 配置步骤 本配置举例仅给出组播 ARP 的配置 有关 IRF 的相关配置, 请参见 S7600 的配置手册 ; 服务器上 NLB 的配置请参见 Windows Server 的相关手册 本配置举例假设 Server A 和 Server B 的虚拟 IP 地址为 16.1.1.100/24, 虚拟 MAC 地址为 03bf-1001-0164 配置 Switch # 配置接口 Vlan-interface10 的 IP 地址 <Switch> system-view [Switch] vlan 10 [Switch-vlan10] port GigabitEthernet 1/4/0/2 [Switch-vlan10] port GigabitEthernet 2/4/0/3 [Switch-vlan10] quit [Switch] interface vlan-interface 10 [Switch-Vlan-interface10] ip address 16.1.1.1 255.255.255.0 [Switch-Vlan-interface10] quit # 配置接口 Vlan-interface20 的 IP 地址 [Switch] vlan 20 [Switch-vlan20] port GigabitEthernet 2/3/0/1 [Switch-vlan20] port GigabitEthernet 1/3/0/4 [Switch-vlan20] quit [Switch] interface vlan-interface 20 [Switch-Vlan-interface20] ip address 10.0.0.1 255.255.255.0 [Switch-Vlan-interface20] quit # 关闭 ARP 表项检查功能 [Switch] undo arp check enable # 手工添加静态组播 MAC 表项 [Switch] mac-address multicast 03bf-1001-0164 interface GigabitEthernet 1/4/0/2 Gigabi tethernet 2/4/0/3 vlan 10 4. 验证结果 NLB 负载分担功能测试 : 分别在 Server A 和 Server B 上启动 FTP Server, 两台 host 向虚拟 IP 发起登录请求, 登录在不同的 Server 上 ; NLB 冗余备份功能测试 : 禁用 Server A 的网卡, 两台 host 向虚拟 IP 发起登录请求, 应均登录到 Server B 的 FTP Server 上 1-11
2 免费 ARP 配置 2.1 免费 ARP 简介 免费 ARP 报文是一种特殊的 ARP 报文, 该报文中携带的发送端 IP 地址和目标 IP 地址都是本机 IP 地址, 报文源 MAC 地址是本机 MAC 地址, 报文的目的 MAC 地址是广播地址 设备通过对外发送免费 ARP 报文来实现以下功能 : 确定其它设备的 IP 地址是否与本机的 IP 地址冲突 当其它设备收到免费 ARP 报文后, 如果发现报文中的 IP 地址和自己的 IP 地址相同, 则给发送免费 ARP 报文的设备返回一个 ARP 应答, 告知该设备 IP 地址冲突 设备改变了硬件地址, 通过发送免费 ARP 报文通知其它设备更新 ARP 表项 1. 免费 ARP 报文学习功能的作用使能了免费 ARP 报文学习功能后, 设备会根据收到的免费 ARP 报文中携带的信息 ( 源 IP 地址 源 MAC 地址 ) 对自身维护的 ARP 表进行修改 设备先判断 ARP 表中是否存在与此免费 ARP 报文源 IP 地址对应的 ARP 表项 : 如果没有对应的 ARP 表项, 设备会根据该免费 ARP 报文中携带的信息新建 ARP 表项 ; 如果存在对应的 ARP 表项, 设备会根据该免费 ARP 报文中携带的信息更新对应的 ARP 表项 关闭免费 ARP 报文学习功能后, 设备不会根据收到的免费 ARP 报文来新建 ARP 表项, 但是会更新已存在的对应 ARP 表项 如果用户不希望通过免费 ARP 报文来新建 ARP 表项, 可以关闭免费 ARP 报文学习功能, 以节省 ARP 表项资源 2. 定时发送免费 ARP 功能的作用定时发送免费 ARP 功能可以及时通知下行设备更新 ARP 表项或者 MAC 地址表项, 主要应用场景如下 : (1) 防止仿冒网关的 ARP 攻击如果攻击者仿冒网关发送免费 ARP 报文, 就可以欺骗同网段内的其它主机, 使得被欺骗的主机访问网关的流量, 被重定向到一个错误的 MAC 地址, 导致其它主机用户无法正常访问网络 为了尽量避免这种仿冒网关的 ARP 攻击, 可以在网关的接口上使能定时发送免费 ARP 功能 使能该功能后, 网关接口上将按照配置的时间间隔周期性发送接口主 IP 地址和手工配置的从 IP 地址的免费 ARP 报文 这样, 每台主机都可以学习到正确的网关, 从而正常访问网络 (2) 防止主机 ARP 表项老化在实际环境中, 当网络负载较大或接收端主机的 CPU 占用率较高时, 可能存在 ARP 报文被丢弃或主机无法及时处理接收到的 ARP 报文等现象 这种情况下, 接收端主机的动态 ARP 表项会因超时而被老化, 在其重新学习到发送设备的 ARP 表项之前, 二者之间的流量就会发生中断 为了解决上述问题, 可以在网关的接口上使能定时发送免费 ARP 功能 使能该功能后, 网关接口上将按照配置的时间间隔周期性发送接口主 IP 地址和手工配置的从 IP 地址的免费 ARP 报文 这样, 接收端主机可以及时更新 ARP 映射表, 从而防止了上述流量中断现象 (3) 防止 VRRP 虚拟 IP 地址冲突当网络中存在 VRRP 备份组时, 需要由 VRRP 备份组的 Master 路由器周期性的向网络内的主机发送免费 ARP 报文, 使主机更新本地 ARP 地址表, 从而确保网络中不会存在 IP 地址与 VRRP 虚拟 IP 地址相同的设备 由于用户可以设定 VRRP 虚拟 IP 地址和 MAC 地址对应关系, 因此有以下两种情况 : 如果当前 VRRP 虚拟 IP 地址和虚拟 MAC 地址对应, 则免费 ARP 报文中的源 MAC 地址为 VRRP 虚拟路由器对应的虚拟 MAC 地址 2-1
如果当前 VRRP 虚拟 IP 地址和实际 MAC 地址对应, 则免费 ARP 报文中的源 MAC 地址为 VRRP 备份组中 Master 路由器接口的 MAC 地址 关于 VRRP 的详细介绍, 请参见 可靠性配置指导 中的 VRRP 配置 2.2 配置免费 ARP 表 2-1 配置免费 ARP 操作 命令 说明 进入系统视图 system-view - 使能免费 ARP 报文学习功能 使能收到非同一网段 ARP 请求时发送免费 ARP 报文功能 进入接口视图 使能定时发送免费 ARP 功能, 并设置发送免费 ARP 报文的周期 gratuitous-arp-learning enable gratuitous-arp-sending enable interface interface-type interface-number arp send-gratuitous-arp [ interval milliseconds ] 可选 缺省情况下, 设备免费 ARP 报文的学习功能处于开启状态 可选 缺省情况下, 设备收到非同一网段的 ARP 请求时不发送免费 ARP 报文 - 可选 缺省情况下, 定时发送免费 ARP 功能处于关闭状态 设备最多允许同时在 1024 个接口上使能定时发送免费 ARP 功能 配置定时发送免费 ARP 功能后, 只有当接口链路 up 并且配置 IP 地址后, 此功能才真正生效 如果修改了免费 ARP 报文的发送周期, 则在下一个发送周期才能生效 如果同时在很多接口下使能定时发送免费 ARP 功能, 或者每个接口有大量的从 IP 地址, 或者两种情况共存的同时又配置很小的发送时间间隔, 那么免费 ARP 报文的发送频率可能会远远低于用户的预期 2-2
3 代理 ARP 配置 3.1 代理 ARP 简介 如果 ARP 请求是从一个网络的主机发往同一网段却不在同一物理网络上的另一台主机, 那么连接它们的具有代理 ARP 功能的设备就可以回答该请求, 这个过程称作代理 ARP(Proxy ARP) 代理 ARP 功能屏蔽了分离的物理网络这一事实, 使用户使用起来, 好像在同一个物理网络上 代理 ARP 分为普通代理 ARP 和本地代理 ARP, 二者的应用场景有所区别 : 普通代理 ARP 的应用环境为 : 想要互通的主机分别连接到设备的不同三层接口上, 且这些主机不在同一个广播域中 本地代理 ARP 的应用环境为 : 想要互通的主机连接到设备的同一个三层接口上, 且这些主机不在同一个广播域中 如无特殊说明, 本章后续描述中的代理 ARP 均指普通代理 ARP 3.1.1 代理 ARP 处于同一网段内的主机, 当连接到设备的不同三层接口时, 可以利用设备的代理 ARP 功能, 通过三层转发实现互通 代理 ARP 的典型应用环境如图 3-1 所示 设备 Switch 通过两个 VLAN 接口 Vlan-interface1 和 Vlan-interface2 连接两个网络, 两个 VLAN 接口的 IP 地址不在同一个网段, 接口地址分别为 192.168.10.99/24 192.168.20.99/24 但是两个网络内的主机 Host A 和 Host B 的地址通过掩码的控制, 既与相连设备的接口地址在同一网段, 同时二者也处于同一个网段 图 3-1 代理 ARP 的应用环境 在这种组网情况下, 当 Host A 需要与 Host B 通信时, 由于目的 IP 地址与本机的 IP 地址为同一网段, 因此 Host A 会广播发送 ARP 请求报文, 请求 Host B 的 MAC 地址 但是, 此时的两台主机处于不同的广播域中,Host B 无法收到 Host A 的 ARP 请求报文, 当然也就无法应答 通过在 Switch 上启用代理 ARP 功能, 可以解决此问题 启用代理 ARP 后,Switch 可以应答 Host A 的 ARP 请求 同时,Switch 相当于 Host B 的代理, 把从其他主机发送过来的报文转发给它 代理 ARP 的优点是, 它可以只被应用在一个设备上 ( 此时该设备的作用相当于网关 ), 不会影响到网络中其他设备的路由表 代理 ARP 功能可以在主机没有配置缺省网关或者主机没有任何路由能力的情况下使用 3-1
3.1.2 本地代理 ARP 本地代理 ARP 的应用场景如图 3-2 所示 Host A 和 Host B 属于同一个 VLAN 2, 但它们分别连接到被二层隔离的端口 GigabitEthernet2/0/3 和 GigabitEthernet2/0/1 上, 通过在 Switch A 上启用本地代理 ARP 功能, 可以实现 Host A 和 Host B 的三层互通 图 3-2 本地代理 ARP 的应用环境 Switch A VLAN 2 Vlan-int2 192.168.10.100/16 VLAN 2 port-isolate group GE2/0/2 Host A 192.168.10.99/16 GE2/0/3 Switch B GE2/0/1 Host B 192.168.10.200/16 本地代理 ARP 可以在下列三种情况下实现主机之间的三层互通 : 想要互通的主机分别连接到同一个 VLAN 中的不同二层隔离端口下 ; 使能 Super VLAN 功能后, 想要互通的主机属于不同的 Sub VLAN; 使能 Isolate-user-vlan 功能后, 想要互通的主机属于不同的 Secondary VLAN 3.2 配置代理 ARP 功能 代理 ARP 和本地代理 ARP 功能均可在 VLAN 接口视图进行配置 表 3-1 配置代理 ARP 功能 操作 命令 说明 进入系统视图 system-view - 进入接口视图 interface interface-type interface-number - 开启代理 ARP 功能 proxy-arp enable 必选缺省情况下, 关闭代理 ARP 功能 表 3-2 配置本地代理 ARP 功能操作 命令 说明 进入系统视图 system-view - 进入接口视图 interface interface-type interface-number - 开启本地代理 ARP 功能 local-proxy-arp enable [ ip-range startip to endip ] 必选缺省情况下, 关闭本地代理 ARP 功能 3-2
3.3 代理 ARP 显示和维护 在完成上述配置后, 在任意视图下执行 display 命令可以显示配置后代理 ARP 的运行情况, 查看显示信息验证配置的效果 表 3-3 代理 ARP 显示和维护 操作 显示代理 ARP 的状态 显示本地代理 ARP 的状态 命令 display proxy-arp [ interface interface-type interface-number ] [ { begin exclude include } regular-expression ] display local-proxy-arp [ interface interface-type interface-number ] [ { begin exclude include } regular-expression ] 3.4 代理 ARP 典型配置举例 3.4.1 代理 ARP 配置举例 1. 组网需求 Host A 和 Host D 配置为同一网段的主机 (Host A 的 IP 地址是 192.168.10.100/16,Host D 的 IP 地址是 192.168.20.200/16), 但却被设备 Switch 分在两个不同的子网 (Host A 属于 VLAN 1,Host D 属于 VLAN 2) Host A 和 Host D 没有配置缺省网关, 要求在设备 Switch 上启用代理 ARP 功能, 使处在两个子网的 Host A 和 Host D 能互通 2. 组网图图 3-3 配置代理 ARP 组网图 Host A 192.168.10.100/16 0000.0c94.36aa Host B Vlan-int1 192.168.10.99/24 Subnet A Switch Vlan-int2 192.168.20.99/24 Subnet B Host C 192.168.20.200/16 0000.0c94.36dd Host D 3. 配置步骤 # 创建 VLAN 2 <Switch> system-view [Switch] vlan 2 [Switch-vlan2] quit # 配置接口 Vlan-interface1 的 IP 地址 [Switch] interface vlan-interface 1 [Switch-Vlan-interface1] ip address 192.168.10.99 255.255.255.0 3-3
# 开启接口 Vlan-interface1 的代理 ARP 功能 [Switch-Vlan-interface1] proxy-arp enable [Switch-Vlan-interface1] quit # 配置接口 Vlan-interface2 的 IP 地址 [Switch] interface vlan-interface 2 [Switch-Vlan-interface2] ip address 192.168.20.99 255.255.255.0 # 开启接口 Vlan-interface2 的代理 ARP 功能 [Switch-Vlan-interface2] proxy-arp enable 配置完成后,Host A 和 Host D 可以互相 ping 通 3.4.2 端口隔离时的本地代理 ARP 配置举例 1. 组网需求 Host A 和 Host B 属于同一个 VLAN, 分别与设备 Switch B 的端口 GigabitEthernet2/0/2 和 GigabitEthernet2/0/3 相连 ; 设备 Switch B 通过端口 GigabitEthernet2/0/1 端口与 Switch A 相连 ; 实现被二层隔离的端口 GigabitEthernet2/0/2 和 GigabitEthernet2/0/3 能够三层互通 2. 组网图图 3-4 配置端口隔离时的本地代理 ARP 组网图 3. 配置步骤 (1) 配置 Switch B # 在 Switch B 上端口 GigabitEthernet2/0/3 GigabitEthernet2/0/1 GigabitEthernet2/0/2 属于同一 VLAN 2;Host A 和 Host B 彼此之间二层报文不能互通 <SwitchB> system-view [SwitchB] vlan 2 [SwitchB-vlan2] port gigabitethernet 2/0/1 [SwitchB-vlan2] port gigabitethernet 2/0/2 [SwitchB-vlan2] port gigabitethernet 2/0/3 [SwitchB-vlan2] quit [SwitchB] interface gigabitethernet 2/0/2 [SwitchB-GigabitEthernet2/0/2] port-isolate enable [SwitchB-GigabitEthernet2/0/2] quit [SwitchB] interface gigabitethernet 2/0/3 [SwitchB-GigabitEthernet2/0/3] port-isolate enable [SwitchB-GigabitEthernet2/0/3] quit (2) 配置 SwitchA 3-4
# 创建 VLAN 2, 添加端口 gigabitethernet 2/0/2 到 VLAN 2 <SwitchA> system-view [SwitchA] vlan 2 [SwitchA-vlan2] port gigabitethernet 2/0/2 [SwitchA-vlan2] quit [SwitchA] interface vlan-interface 2 [SwitchA-Vlan-interface2] ip address 192.168.10.100 255.255.0.0 从 Host A 上 ping 不通 Host B, 表明 Host A 和 Host B 二层隔离 # 配置本地代理 ARP, 实现 Host A 和 Host B 之间的三层互通 [SwitchA-Vlan-interface2] local-proxy-arp enable 从 Host A 上可以 ping 通 Host B, 表明 Host A 和 Host B 三层互通了 3.4.3 Super VLAN 中的本地代理 ARP 配置举例 1. 组网需求 创建 Super VLAN:VLAN 10,VLAN 接口的 IP 地址为 192.168.10.100/16 创建 Sub VLAN:VLAN 2 VLAN 3 端口 Ethernet1/2 属于 VLAN 2, 端口 Ethernet1/1 属于 VLAN 3 实现 Sub VLAN 之间的三层互通 2. 组网图图 3-5 配置 Super VLAN 中的本地代理 ARP 组网图 3. 配置步骤 # 创建 Super VLAN,Sub VLAN; 添加端口 GigabitEthernet 2/0/2 到 VLAN 2, 端口 GigabitEthernet 2/0/1 到 VLAN 3; 配置 VLAN 10 接口的 IP 地址为 192.168.10.100/16 <Switch> system-view [Switch] vlan 2 [Switch-vlan2] port GigabitEthernet 2/0/2 [Switch-vlan2] quit [Switch] vlan 3 [Switch-vlan3] port GigabitEthernet 2/0/1 [Switch-vlan3] quit [Switch] vlan 10 [Switch-vlan10] supervlan [Switch-vlan10] subvlan 2 3 [Switch-vlan10] quit [Switch] interface vlan-interface 10 [Switch-Vlan-interface10] ip address 192.168.10.100 255.255.0.0 3-5
从 Host A 上 ping 不通 Host B, 表明 Host A 和 Host B 二层隔离 # 配置本地代理 ARP, 实现 Sub VLAN 之间的三层互通 [Switch-Vlan-interface10] local-proxy-arp enable 从 Host A 上可以 ping 通 Host B, 表明 Host A 和 Host B 三层互通了 3.4.4 Isolate-user-vlan 中的本地代理 ARP 配置举例 1. 组网需求 设备 Switch A 下接设备 Switch B 设备 Switch B 上的 VLAN 5 为 Isolate-user-vlan, 包含上行端口 GigabitEthernet2/0/2 和两个 Secondary VLAN(VLAN 2 和 VLAN 3),VLAN 2 包含端口 GigabitEthernet 2/0/3,VLAN 3 包含端口 GigabitEthernet 2/0/1 在 Switch A 上启用本地代理 ARP 功能, 实现 VLAN 2 和 VLAN 3 之间的三层互通 2. 组网图图 3-6 配置 Isolate-user-vlan 中的本地代理 ARP 组网图 3. 配置步骤 (1) 配置 Switch B # 在设备 Switch B 上创建 VLAN 2 VLAN 3 和 VLAN 5; 添加端口 GigabitEthernet 2/0/3 到 VLAN 2, 端口 GigabitEthernet2/0/1 到 VLAN 3, 端口 Ethernet1/2 到 VLAN 5; 配置 VLAN 5 为 Isolate-user-vlan,VLAN 2 和 VLAN 3 为 Secondary VLAN; 配置 Isolate-user-vlan 和 Secondary VLAN 间的映射关系 <SwitchB> system-view [SwitchB] vlan 2 [SwitchB-vlan2] port GigabitEthernet 2/0/3 [SwitchB-vlan2] quit [SwitchB] vlan 3 [SwitchB-vlan3] port GigabitEthernet 2/0/1 [SwitchB-vlan3] quit [SwitchB] vlan 5 [SwitchB-vlan5] port GigabitEthernet 2/0/2 [SwitchB-vlan5] isolate-user-vlan enable [SwitchB-vlan5] quit [SwitchB] isolate-user-vlan 5 secondary 2 3 (2) 配置 Switch A 3-6
# 创建 VLAN 5, 添加端口 GigabitEthernet2/0/2 到 VLAN 5 <SwitchA> system-view [SwitchA] vlan 5 [SwitchA-vlan5] port GigabitEthernet 2/0/2 [SwitchA-vlan5] quit [SwitchA] interface vlan-interface 5 [SwitchA-Vlan-interface5] ip address 192.168.10.100 255.255.0.0 从 Host A 上 ping 不通 Host B, 表明 Host A 和 Host B 二层隔离 # 配置本地代理 ARP, 实现 VLAN 2 和 VLAN 3 之间的三层互通 [SwitchA-Vlan-interface5] local-proxy-arp enable 从 Host A 上可以 ping 通 Host B, 表明 Host A 和 Host B 三层互通了 3-7