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