19-MFF配置
本章節下載: 19-MFF配置 (284.1 KB)
目 錄
在傳統的以太網組網方案中,為了實現不同客戶端主機之間的二層隔離和三層互通,通常采用在設備上劃分VLAN的方法。但是當彼此間需要二層隔離的用戶較多時,這種方式會占用大量的VLAN資源;同時,為實現客戶端之間三層互通,需要為每個VLAN規劃不同的IP網段,並配置VLAN接口的IP地址,因此劃分過多的VLAN會降低IP地址的分配效率。
為了改善這種現狀,MAC-Forced Forwarding(下文統一用“MFF”替代)為同一廣播域內實現客戶端主機間的二層隔離和三層互通,提供了一種解決方案。
MFF截獲用戶的ARP請求報文,通過ARP代答機製,回複網關MAC地址的ARP應答報文。通過這種方式,可以強製用戶將所有流量(包括同一子網內的流量)發送到網關,使網關可以監控數據流量,防止用戶之間的惡意攻擊,能更好的保障網絡部署的安全性。

如圖1-1所示,Device A和Device B作為以太網接入節點(Ethernet Access Nodes,EAN),提供了客戶端主機與彙聚節點(Device C)之間的連接。在以太網接入節點上配置MFF功能,可以使客戶端的數據報文交互全部通過網關轉發,實現了客戶端之間的三層互通,又保證了二層數據的隔離,即:客戶端主機不會了解相互的MAC地址。
MFF通常與DHCP Snooping、ARP Snooping、IP Source Guard、ARP Detection、VLAN映射等功能配合使用,在接入層設備上實現客戶端的流量過濾、二層隔離和三層互通,提高接入層網絡的安全性。
![]()
l 關於DHCP Snooping功能的介紹,請參見“三層技術-IP業務配置指導”中的“DHCP Snooping”。
l 關於ARP Snooping功能的介紹,請參見“三層技術-IP業務配置指導”中的“ARP Snooping”。
l 關於IP Source Guard功能的介紹,請參見“安全配置指導”中的“IP Source Guard”。
l 關於ARP Detection功能的介紹,請參見“安全配置指導”中的“ARP攻擊防禦”。
l 關於VLAN映射功能的介紹,請參見“二層技術-以太網交換配置指導”中的“VLAN映射”。
l 客戶端與配置了MFF功能的設備之間是隔離的,即不能ping通。
使能MFF功能的設備上存在兩種端口角色:用戶端口及網絡端口。
MFF的用戶端口是指直接接入網絡終端用戶的端口。
用戶端口上對於不同的報文處理如下:
l 允許組播報文和DHCP報文通過;
l 對於ARP報文則上送CPU進行處理;
l 若已經學習到網關MAC地址,則僅允許目的MAC地址為網關MAC地址的單播報文通過,其他報文都將被丟棄;若沒有學習到網關MAC地址,目的MAC地址為網關MAC地址的單播報文也被丟棄。
MFF的網絡端口是指連接其他網絡設備如接入設備、彙聚設備或網關的端口。
網絡端口上對於不同的報文處理如下:
l 允許組播報文和DHCP報文通過;
l 對於ARP報文則上送CPU進行處理;
l 拒絕其他廣播報文通過。
![]()
l 上行連接網關的端口,級聯組網(多個MFF設備連接在一起的組網)時連接下遊其他MFF設備的端口,或者環型組網時設備之間的端口,都應該配置為網絡端口。
l 網絡端口隻是一種端口角色,它和該端口在網絡拓撲中的位置沒有關係;換句話說,網絡端口不一定總是上行端口。
l 在使能MFF的VLAN中,所有端口不是網絡端口就是用戶端口,不存在二者之外的端口角色。
l 在使能MFF的VLAN中包含的所有端口中,隻有網絡端口支持鏈路聚合,用戶端口不支持鏈路聚合。即,網絡端口可以加入鏈路聚合組,而用戶端口不能加入鏈路聚合組。關於鏈路聚合的介紹請參見“二層技術-以太網交換配置指導”中的“以太網鏈路聚合”。
MFF有兩種運行模式:手工方式和自動方式。
手工方式應用於用戶靜態配置IP地址的場景中,這是因為在用戶靜態配置IP地址時,MFF無法通過DHCP報文來獲取網關信息。另外,在用戶靜態配置IP時,由於沒有依據進行用戶與網關的映射,因此僅維護缺省網關的MAC地址,即,一個VLAN下僅維護一個缺省網關MAC地址。
使能了手工方式後,MFF代答網關對用戶的ARP請求,以及偽造ARP請求探測網關MAC的依據都是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地址,或者沒有記錄在用戶綁定表項中,則自動方式會根據當前VLAN記錄的第一個網關作為用戶網關應答該用戶的ARP請求,除非其請求的是一個已知的網關地址。
同時,針對每一個網關IP地址,從第一個與其對應的用戶綁定表項中獲取用戶IP地址及MAC地址,封裝並偽造ARP請求,去探測網關的MAC地址。
![]()
l 自動方式下,一個VLAN內最多可以學習並維護20個網關信息,超過此限製的網關不再學習及處理。網關IP獲取之後不會進行更新,即網關信息一旦生成就不會老化,除非去使能MFF。
l 若在MFF學習到網關MAC地址後,收到來自網關的ARP報文,如果該ARP報文中攜帶的源MAC地址與記錄的網關MAC地址不同,則需要更新記錄的網關MAC地址。
MFF環境下的用戶之間的三層互通是通過ARP代答機製實現的,這種代答機製在一定程度上減少了網絡側和用戶側之間的廣播報文數量。
MFF設備對ARP報文進行如下處理:
l 代答用戶ARP請求。替代網關給用戶主機回應ARP報文,使用戶之間的報文交互都通過網關進行三層轉發。這裏,用戶主機的ARP請求,既包括對於網關的請求,也包括對於其他用戶IP的ARP請求。
l 代答網關ARP請求。替代用戶主機給網關回應ARP報文。如果網關請求的表項在MFF設備上存在,就根據表項進行代答。如果表項還沒有建立,則轉發請求。以便達到減少廣播的目的。
l 轉發用戶主機和網關發來的ARP應答。
l 監聽網絡中的ARP報文。更新網關IP地址和MAC地址對應表並廣播。
l RFC 4562:MAC-Forced Forwarding
l 自動方式下要求設備使能DHCP Snooping功能並配置相應的DHCP Snooping信任端口;
l 手動方式下要求設備使能ARP Snooping功能。
表1-1 使能MFF功能
|
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
進入VLAN視圖 |
vlan vlan-id |
- |
|
使能MFF功能,同時配置MFF的工作方式 |
mac-forced-forwarding { auto | default-gateway gateway-ip } |
必選 缺省情況下,MFF功能處於關閉狀態 |
表1-2 配置以太網端口為網絡端口
|
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
進入端口視圖 |
interface interface-type interface-number |
- |
|
配置端口為網絡端口 |
mac-forced-forwarding network-port |
必選 缺省情況下,端口為用戶端口 |
對MFF維護的網關進行定時探測,可以感知網關MAC地址的變化。手工方式和自動方式都支持對網關的定時探測功能。
對網關進行定時探測的時間間隔為30秒。探測使用偽造ARP報文,在自動方式下其源IP地址和源MAC地址來自於DHCP Snooping表,在手工方式下其源IP地址和源MAC地址來自於ARP Snooping表。其原則是選擇對應於探測網關的第一個用戶綁定表項。這個偽造報文的源IP地址和源MAC地址一經選擇,就會被記錄並持續使用,若該用戶表項被刪除,則需要重新選擇偽造偵聽報文的用戶信息。若用戶表項刪除之後網關沒有對應用戶,則清空網關探測信息。
表1-3 配置對MFF維護的網關進行定時探測
|
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
進入VLAN視圖 |
vlan vlan-id |
- |
|
配置對MFF維護的網關進行定時探測 |
mac-forced-forwarding gateway probe |
必選 缺省情況下,定時探測功能處於關閉狀態 |
如果網絡中部署了服務器,就需要在使能MFF功能的設備的服務器列表中添加此服務器的IP地址,否則,客戶端與服務器之間不能進行通信。
在手工方式和自動方式下都可以配置本功能。這裏的服務器IP地址可以是DHCP Server的IP地址,也可以是其他業務的服務器的IP地址或者是VRRP的實IP地址。
如果網絡側收到了源IP地址為服務器IP地址的ARP請求,則查詢本設備記錄的用戶信息,利用查詢到的用戶信息代替用戶應答給服務器。即,用戶發送給服務器的報文,都會通過網關進行轉發,而服務器發送給用戶的報文,則不需經過網關轉發。
表1-4 配置網絡中部署的服務器的IP地址
|
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
進入VLAN視圖 |
vlan vlan-id |
- |
|
配置網絡中部署的服務器的IP地址 |
mac-forced-forwarding server server-ip&<1-10> |
必選 缺省情況下,沒有配置網絡中部署的服務器的IP地址 |
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後MFF的運行情況,通過查看顯示信息驗證配置的效果。
表1-5 MFF顯示和維護
|
操作 |
命令 |
|
顯示MFF端口配置信息 |
display mac-forced-forwarding interface [ | { begin | exclude | include } regular-expression ] |
|
顯示指定VLAN的MFF信息 |
display mac-forced-forwarding vlan vlan-id [ | { begin | exclude | include } regular-expression ] |
如圖1-2所示,Host A、Host B和Host C通過DHCP服務器動態獲取IP地址,所有設備都在VLAN 100內。為了實現主機之間二層隔離,同時又可以通過Gateway進行三層互通,在WP A和WP B上啟用自動方式MFF功能。

(1) 配置Gateway
# 配置接口的IP地址。
<Gateway> system-view
[Gateway] interface Vlan-interface 1
[Gateway-Vlan-interface1] ip address 10.1.1.100 24
(2) 配置DHCP服務器
# 使能DHCP服務並創建DHCP地址池。
<Device> system-view
[Device] dhcp enable
[Device] dhcp server ip-pool 1
[Device-dhcp-pool-1] network 10.1.1.0 mask 255.255.255.0
# 配置DHCP地址池為DHCP客戶端分配的網關地址。
[Device-dhcp-pool-1] gateway-list 10.1.1.100
[Device-dhcp-pool-1] quit
# 配置接口的IP地址。
[Device] interface Vlan-interface 1
[Device-Vlan-interface1] ip address 10.1.1.50 24
(3) 配置WP A
# 使能DHCP Snooping功能。
<WPA> system-view
[WPA] dhcp-snooping
# 使能自動方式MFF功能。
[WPA] vlan 100
[WPA-vlan-100] mac-forced-forwarding auto
[WPA-vlan-100] quit
# 配置網絡端口。
[WPA] interface ethernet 1/0/2
[WPA-Ethernet1/0/2] mac-forced-forwarding network-port
# 配置DHCP Snooping信任端口。
[WPA-Ethernet1/0/2] dhcp-snooping trust
(4) 配置WP B
# 使能DHCP Snooping功能。
<WPB> system-view
[WPB] dhcp-snooping
# 使能自動方式MFF功能。
[WPB] vlan 100
[WPB-vlan-100] mac-forced-forwarding auto
[WPB-vlan-100] quit
# 配置網絡端口。
[WPB] interface ethernet 1/0/6
[WPB-Ethernet1/0/6] mac-forced-forwarding network-port
# 配置DHCP Snooping信任端口。
[WPB-Ethernet1/0/6] dhcp-snooping trust
如圖1-3所示,Host A、Host B和Host C通過DHCP服務器動態獲取IP地址,網絡中存在環路,所有設備都在VLAN 100內。為了實現主機之間二層隔離,同時又可以通過Gateway進行三層互通,在WP A和WP B上啟用自動方式MFF功能。

(1) 配置Gateway
# 配置接口的IP地址。
<Gateway> system-view
[Gateway] interface Vlan-interface 1
[Gateway-Vlan-interface1] ip address 10.1.1.100 24
(2) 配置DHCP服務器
# 使能DHCP服務並創建DHCP地址池。
<Device> system-view
[Device] dhcp enable
[Device] dhcp server ip-pool 1
[Device-dhcp-pool-1] network 10.1.1.0 mask 255.255.255.0
# 配置DHCP地址池為DHCP客戶端分配的網關地址。
[Device-dhcp-pool-1] gateway-list 10.1.1.100
[Device-dhcp-pool-1] quit
# 配置接口的IP地址。
[Device] interface Vlan-interface 1
[Device-Vlan-interface1] ip address 10.1.1.50 24
(3) 配置WP A
# 使能DHCP Snooping功能。
<WPA> system-view
[WPA] dhcp-snooping
# 啟動STP協議。
[WPA] stp enable
# 使能自動方式MFF功能。
[WPA] vlan 100
[WPA-vlan-100] mac-forced-forwarding auto
[WPA-vlan-100] quit
# 配置網絡端口。
[WPA] interface ethernet 1/0/2
[WPA-Ethernet1/0/2] mac-forced-forwarding network-port
# 配置DHCP Snooping信任端口。
[WPA-Ethernet1/0/2] dhcp-snooping trust
[WPA-Ethernet1/0/2] quit
# 配置網絡端口。
[WPA] interface ethernet 1/0/3
[WPA-Ethernet1/0/3] mac-forced-forwarding network-port
# 配置DHCP Snooping信任端口。
[WPA-Ethernet1/0/3] dhcp-snooping trust no-user-binding
(4) 配置WP B
# 使能DHCP Snooping功能。
<WPB> system-view
[WPB] dhcp-snooping
# 啟動STP協議。
[WPB] stp enable
# 使能自動方式MFF功能。
[WPB] vlan 100
[WPB-vlan-100] mac-forced-forwarding auto
[WPB-vlan-100] quit
# 配置網絡端口。
[WPB] interface ethernet 1/0/4
[WPB-Ethernet1/0/4] mac-forced-forwarding network-port
# 配置DHCP Snooping信任端口。
[WPB-Ethernet1/0/4] dhcp-snooping trust no-user-binding
[WPB-Ethernet1/0/4] quit
# 配置網絡端口。
[WPB] interface ethernet 1/0/6
[WPB-Ethernet1/0/6] mac-forced-forwarding network-port
# 配置DHCP Snooping信任端口。
[WPB-Ethernet1/0/6] dhcp-snooping trust
(5) 配置WP C
# 啟動STP協議。
<WPC> system-view
[WPC] stp enable
如圖1-4所示,Host A、Host B和Host C配置靜態IP地址,所有設備都在VLAN 100內。為了實現主機之間二層隔離,同時又可以通過Gateway進行三層互通,在WP A和WP B上啟用手工方式MFF功能。為了實現主機與Server互通,需要手工配置網絡中部署服務器的IP地址。

(1) 如上圖在客戶端配置靜態IP地址
(2) 配置Gateway
# 配置接口的IP地址。
<Gateway> system-view
[Gateway] interface Vlan-interface 1
[Gateway-Vlan-interface1] ip address 10.1.1.100 24
(3) 配置WP A
# 使能手工方式MFF功能。
[WPA] vlan 100
[WPA-vlan-100] mac-forced-forwarding default-gateway 10.1.1.100
# 配置網絡中部署的服務器的IP地址為10.1.1.200。
[WPA-vlan-100] mac-forced-forwarding server 10.1.1.200
# 使能ARP Snooping功能。
[WPA-vlan-100] arp-snooping enable
[WPA-vlan-100] quit
# 配置網絡端口。
[WPA] interface ethernet 1/0/2
[WPA-Ethernet1/0/2] mac-forced-forwarding network-port
(4) 配置WP B
# 使能手工方式MFF功能。
[WPB] vlan 100
[WPB-vlan-100] mac-forced-forwarding default-gateway 10.1.1.100
# 配置網絡中部署的服務器的IP地址為10.1.1.200。
[WPB-vlan-100] mac-forced-forwarding server 10.1.1.200
# 使能ARP Snooping功能。
[WPB-vlan-100] arp-snooping enable
[WPB-vlan-100] quit
# 配置網絡端口。
[WPB] interface ethernet 1/0/6
[WPB-Ethernet1/0/6] mac-forced-forwarding network-port
如圖1-5所示,Host A、Host B和Host C配置靜態IP地址,網絡中存在環路,所有設備都在VLAN 100內。為了實現主機之間二層隔離,同時又可以通過Gateway進行三層互通,在WP A和WP B上啟用手工方式MFF功能。為了實現主機與Server互通,需要手工配置網絡中部署服務器的IP地址。

(1) 如上圖在客戶端配置靜態IP地址
(2) 配置Gateway
# 配置接口的IP地址。
<Gateway> system-view
[Gateway] interface Vlan-interface 1
[Gateway-Vlan-interface1] ip address 10.1.1.100 24
(3) 配置WP A
# 啟動STP協議。
[WPA] stp enable
# 使能手工方式MFF功能。
[WPA] vlan 100
[WPA-vlan-100] mac-forced-forwarding default-gateway 10.1.1.100
# 配置網絡中部署的服務器的IP地址為10.1.1.200。
[WPA-vlan-100] mac-forced-forwarding server 10.1.1.200
# 使能ARP Snooping功能。
[WPA-vlan-100] arp-snooping enable
[WPA-vlan-100] quit
# 配置網絡端口。
[WPA] interface ethernet 1/0/2
[WPA-Ethernet1/0/2] mac-forced-forwarding network-port
[WPA-Ethernet1/0/2] quit
[WPA] interface ethernet 1/0/3
[WPA-Ethernet1/0/3] mac-forced-forwarding network-port
(4) 配置WP B
# 啟動STP協議。
[WPB] stp enable
# 使能手工方式MFF功能。
[WPB] vlan 100
[WPB-vlan-100] mac-forced-forwarding default-gateway 10.1.1.100
# 配置網絡中部署的服務器的IP地址為10.1.1.200。
[WPB-vlan-100] mac-forced-forwarding server 10.1.1.200
# 使能ARP Snooping功能。
[WPB-vlan-100] arp-snooping enable
[WPB-vlan-100] quit
# 配置網絡端口。
[WPB] interface ethernet 1/0/4
[WPB-Ethernet1/0/4] mac-forced-forwarding network-port
[WPB-Ethernet1/0/4] quit
[WPB] interface ethernet 1/0/6
[WPB-Ethernet1/0/6] mac-forced-forwarding network-port
(5) 配置WP C
# 啟動STP協議。
<WPC> system-view
[WPC] stp enable
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!
