19-MFF配置
本章节下载: 19-MFF配置 (356.24 KB)
目 录
在传统的以太网组网方案中,为了实现不同客户端之间的二层隔离和三层互通,通常采用在交换机上划分VLAN的方法。但是当彼此间需要二层隔离的客户端较多时,这种方式会占用大量的VLAN资源;同时,为实现客户端之间三层互通,需要为每个VLAN规划不同的IP网段,并配置VLAN接口的IP地址,因此划分过多的VLAN会降低IP地址的分配效率。
为了改善这种现状,MFF(MAC-Forced Forwarding,MAC强制转发)为同一广播域内实现客户端间的二层隔离和三层互通,提供了一种解决方案。
MFF截获客户端的ARP请求报文,通过ARP代答机制,回复发送端MAC为网关MAC地址的ARP应答报文。通过这种方式,可以强制客户端将所有流量(包括同一子网内的流量)发送到网关,使网关可以监控数据流量,防止客户端之间的恶意攻击,能更好的保障网络部署的安全性。
如图1-1所示,Switch A和Switch B作为EAN(Ethernet Access Node,以太网接入节点),提供了客户端与汇聚节点(Switch C)之间的连接。在以太网接入节点上配置MFF功能,可以使客户端的数据报文交互全部通过Gateway转发,实现了客户端之间的三层互通,又保证了二层数据的隔离,即:客户端不会了解相互的MAC地址。
MFF通常与DHCP Snooping、ARP Snooping、IP Source Guard、ARP Detection、VLAN映射等功能配合使用,在以太网接入节点上实现客户端的流量过滤、二层隔离和三层互通,提高接入层网络的安全性。
关于DHCP Snooping功能的介绍,请参见“三层技术-IP业务配置指导”中的“DHCP Snooping”。关于ARP Snooping功能的介绍,请参见“三层技术-IP业务配置指导”中的“ARP Snooping”。关于IP Source Guard功能的介绍,请参见“安全配置指导”中的“IP Source Guard”。 关于ARP Detection功能的介绍,请参见“安全配置指导”中的“ARP攻击防御”。 关于VLAN映射功能的介绍,请参见“二层技术-以太网交换配置指导”中的“VLAN映射”。
· 客户端与配置了MFF功能的设备之间是隔离的,即不能ping通。
· IP Source Guard静态绑定表项和MFF配合使用时,必须配置VLAN信息。若不配置VLAN信息,符合IP Source Guard条件的IP报文在不匹配MFF网关MAC情况下也会允许通过。
· MFF不支持网关的VRRPE组网应用。
开启MFF功能的设备上存在两种端口角色:用户端口及网络端口。
MFF的用户端口是指直接连接客户端的端口。
用户端口上对于不同的报文处理如下:
· 允许组播报文和DHCP报文通过;
· 对于ARP报文则上送CPU进行处理;
· 若已经学习到网关MAC地址,则仅允许目的MAC地址为网关MAC地址的单播报文通过,其他报文都将被丢弃;若没有学习到网关MAC地址,目的MAC地址为网关MAC地址的单播报文也被丢弃。
MFF的网络端口是指连接其他网络设备如接入交换机、汇聚交换机、网关或服务器的端口。
网络端口上对于不同的报文处理如下:
· 允许组播报文和DHCP报文通过;
· 对于ARP报文则上送CPU进行处理;
· 拒绝其他广播报文通过。
上行连接网关的端口,级联组网(多个MFF设备连接在一起的组网)时连接其他MFF设备的端口,或者环型组网时设备之间的端口,都应该配置为网络端口。
在开启MFF的VLAN中,只有网络端口支持链路聚合,用户端口不支持链路聚合。即网络端口可以加入链路聚合组,而用户端口不能加入链路聚合组。关于链路聚合的介绍请参见“二层技术-以太网交换配置指导”中的“以太网链路聚合”。
· 网络端口只是一种端口角色,它和该端口在网络拓扑中的位置没有关系;换句话说,网络端口不一定总是上行端口。
· 在开启MFF的VLAN中,所有端口不是网络端口就是用户端口,不存在二者之外的端口角色。
MFF有两种运行方式:手工方式和自动方式。
手工方式应用于用户静态配置IP地址的组网环境中,因为在用户静态配置IP地址时,MFF无法通过DHCP报文来获取网关信息。另外,在用户静态配置IP地址时,由于没有依据进行客户端与网关的映射,因此仅维护缺省网关的MAC地址,即一个VLAN下仅维护一个缺省网关MAC地址。
开启了手工方式后,MFF代答网关对客户端的ARP请求的依据是ARP Snooping表项。
若在MFF学习到缺省网关MAC地址后,收到来自网关的、携带了与记录的缺省网关MAC地址不同的源MAC地址的ARP报文,则需要更新记录的网关MAC地址。
自动方式应用于客户端通过DHCP协议动态获取IP地址的组网环境中。设备配置DHCP Snooping功能后通过侦听DHCP-ACK报文,并解析其中的Option 3字段(Router IP)来获取网关IP地址。
在开启MFF自动方式时,每一个DHCP Snooping用户绑定表项都应该有对应唯一的网关IP地址。若DHCP-ACK报文携带多个网关IP地址,则只记录第一个。若学习到的用户绑定表项不包含网关IP地址,或者网关IP地址没有记录在用户绑定表项中,则自动方式会把当前VLAN记录的第一个网关应答该客户端的ARP请求,除非其请求的是一个已知的网关地址。
在MFF学习到网关MAC地址后,收到来自网关的ARP报文,如果该ARP报文中携带的源MAC地址与记录的网关MAC地址不同,则需要更新记录的网关MAC地址。
自动方式下,一个VLAN内最多可以学习并维护20个网关信息,超过此限制时网关信息不再学习及处理。网关IP获取之后不会进行更新,即网关信息一旦生成就不会老化,除非关闭MFF功能。
MFF环境下的客户端之间的三层互通是通过ARP代答机制实现的,这种代答机制在一定程度上减少了网络侧和用户侧之间的广播报文数量。
MFF设备对ARP报文进行如下处理:
· 代答客户端ARP请求。代替网关给客户端回应ARP报文,使客户端之间的报文交互都通过网关进行三层转发。客户端的ARP请求,既包括对于网关的请求,也包括对于其他客户端IP的ARP请求。
· 代答网关ARP请求。代替客户端给网关回应ARP报文。如果网关请求的表项在MFF设备上存在,就根据表项进行代答。如果表项还没有建立,则转发请求。以达到减少广播的目的。
· 转发客户端和网关发来的ARP应答。
· 监听网络中的ARP报文。更新网关IP地址和MAC地址对应表并广播。
· RFC 4562:MAC-Forced Forwarding
· 手工方式下要求设备开启ARP Snooping功能;
· 自动方式下要求设备开启DHCP Snooping功能并配置相应的DHCP Snooping信任端口。
表1-1 开启MFF功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入VLAN视图 |
vlan vlan-id |
- |
开启自动方式的MFF功能 |
mac-forced-forwarding auto |
二者选其一 缺省情况下,MFF功能处于关闭状态 |
开启手工方式的MFF功能 |
mac-forced-forwarding default-gateway gateway-ip |
表1-2 配置网络端口
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入二层以太网接口视图或者二层聚合接口视图 |
· 进入二层以太网视图: · 进入二层聚合接口视图: |
- |
配置网络端口 |
mac-forced-forwarding network-port |
缺省情况下,端口为用户端口 |
对MFF维护的网关进行定时探测,可以感知网关MAC地址的变化。
对网关进行定时探测的时间间隔为30秒。探测使用伪造ARP报文,其源IP地址为0.0.0.0,源MAC地址为设备桥MAC地址。
手工方式和自动方式都支持对网关的定时探测功能。
表1-3 配置对MFF维护的网关进行定时探测
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入VLAN视图 |
vlan vlan-id |
- |
开启网关定时探测功能 |
mac-forced-forwarding gateway probe |
缺省情况下,网关定时探测功能处于关闭状态 |
如果网络中部署了服务器,就需要在开启MFF功能的设备的服务器列表中添加此服务器的IP地址,否则,客户端与服务器之间不能进行通信。
服务器IP地址可以是DHCP服务器的IP地址,也可以是其他业务的服务器的IP地址或者是VRRP备份组中某个路由器的接口IP地址。
如果MFF设备的网络端口收到了源IP地址为服务器IP地址的ARP请求,则查询本设备记录的用户信息,利用查询到的用户信息代替客户端应答给服务器。即客户端发送给服务器的报文,都会通过网关进行转发,而服务器发送给客户端的报文,则不需经过网关转发。
MFF不检查服务器的IP地址和网关IP地址是否在同一个网段,只检查是否是全0或全1的IP地址,全0或全1的IP地址不能作为服务器IP地址进行配置。
在手工方式和自动方式下都可以配置本功能。
表1-4 配置网络中部署的服务器的IP地址
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入VLAN视图 |
vlan vlan-id |
- |
配置网络中部署的服务器的IP地址 |
mac-forced-forwarding server server-ip&<1-10> |
缺省情况下,未配置网络中部署的服务器的IP地址 |
为了防止MFF设备的网络接口拦截服务器发送的ARP报文,必须将服务器发送ARP报文时填充的源IP地址加入到MFF设备的服务器IP地址列表中。
在完成上述配置后,在任意视图下执行display命令可以显示配置后MFF的运行情况,通过查看显示信息验证配置的效果。
表1-5 MFF显示和维护
操作 |
命令 |
显示MFF端口配置信息 |
display mac-forced-forwarding interface |
显示指定VLAN的MFF信息 |
display mac-forced-forwarding vlan vlan-id |
如图1-2所示,Host A、Host B和Host C通过DHCP服务器动态获取IP地址,所有设备都在VLAN 100内。为了实现主机之间二层隔离,同时又可以通过Gateway进行三层互通,在Switch A和Switch B上开启自动方式MFF功能。Switch A和Switch B通过Switch C连接到Gateway。Gateway的IP地址为10.1.1.100/24,DHCP Server的IP地址为10.1.1.50/24。
(1) 如图1-2配置Gateway和DHCP服务器的静态IP地址
(2) 配置Switch A
# 开启DHCP Snooping功能。
<SwitchA> system-view
[SwitchA] dhcp snooping enable
# 在VLAN100上开启自动方式MFF功能。
[SwitchA] vlan 100
[SwitchA-vlan100] mac-forced-forwarding auto
# 配置网络中部署的DHCP服务器的IP地址为10.1.1.50。
[SwitchA-vlan100] mac-forced-forwarding server 10.1.1.50
[SwitchA-vlan100] quit
# 配置GigabitEthernet1/0/1为网络端口。
[SwitchA] interface gigabitethernet 1/0/1
[SwitchA-GigabitEthernet1/0/1] mac-forced-forwarding network-port
# 配置GigabitEthernet1/0/1为DHCP Snooping信任端口。
[SwitchA-GigabitEthernet1/0/1] dhcp snooping trust
(3) 配置Switch B
# 开启DHCP Snooping功能。
<SwitchB> system-view
[SwitchB] dhcp snooping enable
# 在VLAN100上开启自动方式MFF功能。
[SwitchB] vlan 100
[SwitchB-vlan100] mac-forced-forwarding auto
# 配置网络中部署的DHCP服务器的IP地址为10.1.1.50。
[SwitchB-vlan100] mac-forced-forwarding server 10.1.1.50
[SwitchB-vlan100] quit
# 配置GigabitEthernet1/0/2为网络端口。
[SwitchB] interface gigabitethernet 1/0/2
[SwitchB-GigabitEthernet1/0/2] mac-forced-forwarding network-port
# 配置GigabitEthernet1/0/2为DHCP Snooping信任端口。
[SwitchB-GigabitEthernet1/0/2] dhcp snooping trust
如图1-3所示,Host A、Host B和Host C通过DHCP服务器动态获取IP地址,网络中存在环路,所有设备都在VLAN 100内。为了实现主机之间二层隔离,同时又可以通过Gateway进行三层互通,在Switch A和Switch B上开启自动方式MFF功能。Switch A和Switch B通过Switch C连接到Gateway。Gateway的IP地址为10.1.1.100/24,DHCP Server的IP地址为10.1.1.50/24。
(1) 如图1-3配置Gateway和DHCP服务器的静态IP地址
(2) 配置Switch A
# 开启DHCP Snooping功能。
<SwitchA> system-view
[SwitchA] dhcp snooping enable
# 开启全局STP协议,保证接口下STP协议处于开启状态。
[SwitchA] stp global enable
# 在VLAN100上开启自动方式MFF功能。
[SwitchA] vlan 100
[SwitchA-vlan100] mac-forced-forwarding auto
# 配置网络中部署的DHCP服务器的IP地址为10.1.1.50。
[SwitchA-vlan100] mac-forced-forwarding server 10.1.1.50
[SwitchA-vlan100] quit
# 配置GigabitEthernet1/0/2为网络端口。
[SwitchA] interface gigabitethernet 1/0/2
[SwitchA-GigabitEthernet1/0/2] mac-forced-forwarding network-port
# 配置GigabitEthernet1/0/2为DHCP Snooping信任端口。
[SwitchA-GigabitEthernet1/0/2] dhcp snooping trust
[SwitchA-GigabitEthernet1/0/2] quit
# 配置GigabitEthernet1/0/3为网络端口。
[SwitchA] interface gigabitethernet 1/0/3
[SwitchA-GigabitEthernet1/0/3] mac-forced-forwarding network-port
# 配置GigabitEthernet1/0/3为DHCP Snooping信任端口。
[SwitchA-GigabitEthernet1/0/3] dhcp snooping trust
(3) 配置Switch B
# 开启DHCP Snooping功能。
<SwitchB> system-view
[SwitchB] dhcp snooping enable
# 开启全局STP协议,保证接口下STP协议处于开启状态。
[SwitchB] stp global enable
# 在VLAN100上开启自动方式MFF功能。
[SwitchB] vlan 100
[SwitchB-vlan100] mac-forced-forwarding auto
# 配置网络中部署的DHCP服务器的IP地址为10.1.1.50。
[SwitchB-vlan100] mac-forced-forwarding server 10.1.1.50
[SwitchB-vlan100] quit
# 配置GigabitEthernet1/0/1为网络端口。
[SwitchB] interface gigabitethernet 1/0/1
[SwitchB-GigabitEthernet1/0/1] mac-forced-forwarding network-port
# 配置GigabitEthernet1/0/1为DHCP Snooping信任端口。
[SwitchB-GigabitEthernet1/0/1] dhcp snooping trust
[SwitchB-GigabitEthernet1/0/1] quit
# 配置GigabitEthernet1/0/3为网络端口。
[SwitchB] interface gigabitethernet 1/0/3
[SwitchB-GigabitEthernet1/0/3] mac-forced-forwarding network-port
# 配置GigabitEthernet1/0/3为DHCP Snooping信任端口。
[SwitchB-GigabitEthernet1/0/3] dhcp snooping trust
(4) 配置Switch C
# 开启全局STP协议,保证接口下STP协议处于开启状态。
<SwitchC> system-view
[SwitchC] stp global enable
如图1-4所示,Host A、Host B和Host C配置静态IP地址,所有设备都在VLAN 100内。为了实现主机之间二层隔离,同时又可以通过Gateway进行三层互通,在Switch A和Switch B上开启手工方式MFF功能。为了实现主机与Server互通,需要手工配置网络中部署服务器的IP地址。Switch A和Switch B通过Switch C连接到Gateway。Gateway的IP地址为10.1.1.100/24,Server和网络相连的网卡的IP地址为10.1.1.200/24。
(1) 如图1-4配置客户端和Gateway的静态IP地址
(2) 配置Switch A
# 在VLAN 100上开启手工方式MFF功能。
[SwitchA] vlan 100
[SwitchA-vlan100] mac-forced-forwarding default-gateway 10.1.1.100
# 配置网络中部署的服务器的IP地址为10.1.1.200。
[SwitchA-vlan100] mac-forced-forwarding server 10.1.1.200
# 在VLAN 100上开启ARP Snooping功能。
[SwitchA-vlan100] arp snooping enable
[SwitchA-vlan100] quit
# 配置GigabitEthernet1/0/1为网络端口。
[SwitchA] interface gigabitethernet 1/0/1
[SwitchA-GigabitEthernet1/0/1] mac-forced-forwarding network-port
(3) 配置Switch B
# 在VLAN 100上开启手工方式MFF功能。
[SwitchB] vlan 100
[SwitchB-vlan100] mac-forced-forwarding default-gateway 10.1.1.100
# 配置网络中部署的服务器的IP地址为10.1.1.200。
[SwitchB-vlan100] mac-forced-forwarding server 10.1.1.200
# 在VLAN 100上开启ARP Snooping功能。
[SwitchB-vlan100] arp snooping enable
[SwitchB-vlan100] quit
# 配置GigabitEthernet1/0/2为网络端口。
[SwitchB] interface gigabitethernet 1/0/2
[SwitchB-GigabitEthernet1/0/2] mac-forced-forwarding network-port
如图1-5所示,Host A、Host B和Host C配置静态IP地址,网络中存在环路,所有设备都在VLAN 100内。为了实现主机之间二层隔离,同时又可以通过Gateway进行三层互通,在Switch A和Switch B上开启手工方式MFF功能。为了实现主机与Server互通,需要手工配置网络中部署服务器的IP地址。Switch A和Switch B通过Switch C连接到Gateway。Gateway的IP地址为10.1.1.100/24,Server和网络相连的网卡的IP地址为10.1.1.200/24。
(1) 如图1-5配置客户端和Gateway的静态IP地址
(2) 配置Switch A
# 开启全局STP协议,保证接口下STP协议处于开启状态。
[SwitchA] stp global enable
# 在VLAN 100上开启手工方式MFF功能。
[SwitchA] vlan 100
[SwitchA-vlan100] mac-forced-forwarding default-gateway 10.1.1.100
# 配置网络中部署的服务器的IP地址为10.1.1.200。
[SwitchA-vlan100] mac-forced-forwarding server 10.1.1.200
# 在VLAN 100上开启ARP Snooping功能。
[SwitchA-vlan100] arp snooping enable
[SwitchA-vlan100] quit
# 配置GigabitEthernet1/0/2和GigabitEthernet1/0/3为网络端口。
[SwitchA] interface gigabitethernet 1/0/2
[SwitchA-GigabitEthernet1/0/2] mac-forced-forwarding network-port
[SwitchA-GigabitEthernet1/0/2] quit
[SwitchA] interface gigabitethernet 1/0/3
[SwitchA-GigabitEthernet1/0/3] mac-forced-forwarding network-port
(3) 配置Switch B
# 开启全局STP协议,保证接口下STP协议处于开启状态。
[SwitchB] stp global enable
# 在VLAN 100上开启手工方式MFF功能。
[SwitchB] vlan 100
[SwitchB-vlan100] mac-forced-forwarding default-gateway 10.1.1.100
# 配置网络中部署的服务器的IP地址为10.1.1.200。
[SwitchB-vlan100] mac-forced-forwarding server 10.1.1.200
# 在VLAN 100上开启ARP Snooping功能。
[SwitchB-vlan100] arp snooping enable
[SwitchB-vlan100] quit
# 配置GigabitEthernet1/0/1和GigabitEthernet1/0/3为网络端口。
[SwitchB] interface gigabitethernet 1/0/1
[SwitchB-GigabitEthernet1/0/1] mac-forced-forwarding network-port
[SwitchB-GigabitEthernet1/0/1] quit
[SwitchB] interface gigabitethernet 1/0/3
[SwitchB-gigabitethernet 1/0/3] mac-forced-forwarding network-port
(4) 配置Switch C
# 开启全局STP协议,保证接口下STP协议处于开启状态。
<SwitchC> system-view
[SwitchC] stp global enable
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!