◆丁軍 盧啟明 余宙 袁錫文
(海南省地震局 海南 570203)
隨著網絡安全形勢的日益復雜,局域網內接收鏡像數據的安全設備越來越多,如全流量監控設備、安全審計設備、入侵檢測設備、網絡協議分析設備等。為了全面了解網絡狀態,這些安全設備往往都要接在核心交換機上,可是核心交換機的鏡像組數量有限,不一定都能滿足接入的所有安全設備的鏡像需求。例如海南地震局核心交換機組型號是華為CloudEngine 6850,該設備支持4 路鏡像,但是科來全流量監控系統的內、外網和進、出方向流量監控已經把核心交換機組的4 路鏡像資源全部用完,新的電子公文項目的安全審計設備和入侵檢測設備無法接入核心交換機組獲取鏡像數據。采用鏡像流量分流器可以解決鏡像端口不足的問題,但是高端分流器價格不菲,需要走采購流程,項目完成時間緊迫不被允許,而低端分流器性能無法滿足性能要求。采用增加交換機做遠程端口鏡像也可以解決這個問題,但是也要增加新的硬件設備。其實華為交換機有個端口內環回的功能,在不增加硬件設備的情況下,可以解決本地鏡像端口不足的問題,本文將介紹華為交換機的端口內環回功能接入多套鏡像設備的應用情況,H3C 交換機的端口也有類似功能,不過名稱叫端口反射,原理和功能是一樣的,也可以通過端口反射配置實現接入多套鏡像設備。
在華為交換機中,開啟端口loopback internal 配置,利用以太網端口環回檢測功能,從端口發出去的報文通過系統內部發回給該端口,把鏡像報文引入該端口和鏡像VLAN,關閉該端口的MAC 地址學習功能和stp 功能,退出VLAN 1,將報文在鏡像VLAN 內廣播到其他實際的鏡像觀察口,多套安全設備接在相應的實際鏡像觀察口上就可以獲取鏡像報文。
端口退出VLAN 1 是為了避免流量成環,因為默認情況下端口是允許VLAN1 報文通過的。關閉端口的MAC 地址學習功能,防止內部環回端口學習到外部的MAC 地址,將外部接收到的報文在內部環回轉發。環回端口上配置stp disable,是因為如果交換機在全局狀態下配置stp enable,而環回端口沒有配置stp disable,則端口接收到自己發出去的報文會將端口置為discarding 狀態,進而將端口堵塞。
由于是在核心交換機做配置,為了穩妥起見,配置之前先抓取當前配置保存,以便失敗后可以根據當前配置恢復,然后在華為核心交換機上使用display cpu 和display memory命令查詢內存和CPU 開銷,如果開銷太大或接近閾值就不宜再做端口內部環回配置。使用display observe-port 命令查看并記錄鏡像觀察端口,使用display port-mirroring 命令查看并記錄鏡像源端口。
華為 CloudEngine 6850 核心交換機組的原鏡像觀察口是10GE1/0/22 和10GE2/0/22 端口還是內、外網鏡像觀察口,在這兩個端口上配置端口內環回功能,之后這兩個端口不接鏡像設備,鏡像設備接到新配置的鏡像VLAN 相應的端口,例如科來全流量系統內網鏡像接到新配置的interface 10GE1/0/31,電子公文項目的內網入侵檢測系統鏡像接到interface 10GE1/0/33,科來全流量系統外網鏡像接到interface 10GE2/0/31,全網的安全審計系統鏡像接到 interface 10GE2/0/33。
新建VLAN 4002 為外網鏡像VLAN
[~HNDZJ-SW-6850]VLAN 4002
[~HNDZJ-SW-6850-VLAN4002]description WaiWang-mirror-observe VLAN
把10GE2/0/22 外網鏡像觀察口1 與鏡像VLAN 綁定
[~HNDZJ-SW-6850]observe-port 1 interface 10GE2/0/22 VLAN 4002
進入10GE2/0/22 鏡像觀察端口
[*HNDZJ-SW-6850]interface 10GE2/0/22
配置端口環回
[*HNDZJ-SW-6850-10GE2/0/22]loopback internal
關閉端口mac 地址學習
[*HNDZJ-SW-6850-10GE2/0/22]mac-address learning disable
關閉端口stp 功能
[*HNDZJ-SW-6850-10GE2/0/22]stp disable
配置端口類型為trunk
[*HNDZJ-SW-6850-10GE2/0/22]port link-type trunk
配置端口允許鏡像VLAN 通過
[*HNDZJ-SW-6850-10GE2/0/22]port trunk allow-pass VLAN 4002
配置端口不允許VLAN1 通過
[*HNDZJ-SW-6850-10GE2/0/22]undo port trunk allow-pass VLAN 1
結束外網鏡像觀察口環回配置,退出端口
[*HNDZJ-SW-6850-10GE2/0/22]quit
內網鏡像觀察端口環回配置如10GE2/0/22,不再贅述。由于鏡像觀察端口關閉了mac 地址學習功能,開啟了端口內環回,于是該端口將接收到的報文在鏡像VLAN 內廣播到其他若干個實際鏡像觀察端口,實際鏡像觀察口10GE2/0/31 配置如下:
進入10GE2/0/31 實際鏡像觀察端口,該端口接科來系統外網鏡像觀察設備
[~HNDZJ-SW-6850]interface 10GE1/0/31
[~HNDZJ-SW-6850-10GE2/0/31]description mirror-observe-kelai-waiwang
配置端口類型為trunk
[~HNDZJ-SW-6850-10GE2/0/31]port link-type trunk
配置端口允許外網鏡像VLAN 4002 通過
[~HNDZJ-SW-6850-10GE2/0/31]port trunk allow-pass VLAN 4002
配置端口不允許VLAN1 通過
[~HNDZJ-SW-6850-10GE2/0/31]undo port trunk allow-pass VLAN 1
結束端口配置,退出端口
[~HNDZJ-SW-6850-10GE2/0/31]quit
其他實際鏡像觀察口配配置如10GE2/0/31,需要接幾套鏡像觀察設備就配置幾個實際鏡像觀察口。
鏡像源端口配置如下:
進入10GE1/0/7 鏡像源端口配置
[~HNDZJ-SW-6850]int 10GE 1/0/7
[~HNDZJ-SW-6850-10GE1/0/7]description intrnet-line
配置到觀察口1 組的雙向鏡像
[~HNDZJ-SW-6850-10GE1/0/7]port-mirroring observe-port 1 both
退出鏡像源端口配置,提交配置,結束所有配置
[~HNDZJ-SW-6850-10GE1/0/7]commit
[~HNDZJ-SW-6850-10GE1/0/7]quit
配置完成后在科來系統的內網實時監控界面發現環回現象(如圖1),鏡像觀察口流量值瞬間上升到1G,但是科來系統外網實時監控沒有發現環回現象(如圖2),由于內網鏡像和外網鏡像是兩個不同的端口,外網鏡像沒有環回,說明端口環回和鏡像配置是正確的,問題在內網鏡像上,否則內外網鏡像都會有環回。

圖1 啟用端口環回功能后科來系統內網實時流量監控出現環回現象

圖2 啟用端口環回功能后科來系統的外網實時流量監控正常
華為核心交換機組的內網鏡像總共有39 個鏡像源端口做inboud、outbound 雙向鏡像,為了排查環回現象,先把內網的源鏡像端口的鏡像配置都刪除,然后一個一個端口添加鏡像配置,先添加inboud鏡像,確認沒有環回后再添加outbound 鏡像,最后發現對端是交換機端口的outbound 鏡像,添加進來后,內網鏡像VLAN 就產生環回。
Inbound 方向的鏡像沒有產生環回,說明環回不是對端設備產生的,應重點排查本端設備的配置情況,尤其是接口對端是交換機的那些端口配置。檢查發現華為核心交換機組連接交換機的端口都配置了trunk 口,允許所有VLAN通過,也就是包含了內網鏡像VLAN 4003,當華為核心交換機內網鏡像觀察口配置loopback internal 后,內網鏡像VLAN 的環回報文又包含了VLAN 4003,因此引入outbound 方向的鏡像后就產生了環回現象。外網鏡像沒有產生環回,是因為外網鏡像的源端口是access 口,只允許互聯網VLAN 通過,華為核心交換機外網鏡像觀察口配置loopback internal 后,外網鏡像VLAN 的環回報文只有互聯網VLAN,所以不會產生環回。找到原因后,我們就在華為核心交換機組的trunk 口都設置了不允許鏡像VLAN 4002、4003 通過(建議各trunk 口配置僅允許相關VLAN 通過,不要配置允許所有VLAN 通過),如上例中的interface 10GE1/0/7 端口更改后配置如下:
interface 10GE1/0/7
description S5700-1_NeiWang
port link-type trunk
port trunk allow-pass VLAN 2 to 4001 4004 to 4094
port-mirroring observe-port 2 inbound
port-mirroring observe-port 2 outbound
然后再配置鏡像端口的環回功能,就不會產生環回現象,實現了在華為CloudEngine 6850 交換機組上接入科來系統內、外網、入侵檢測設備內網和安全審計設備內外全網進出流量鏡像。
H3C 交換機也可以使用端口反射功能,利用鏡像報文在遠程鏡像VLAN 中廣播的原理,實現本地鏡像支持多套鏡像觀察設備,具體如下:
創建遠程源鏡像組1
[device]mirroring-group 1 remote-source
將端口加入源鏡像組1,并配置端口鏡像方向為進出雙向
[device]mirroring-group 1 mirroring-port 1 GigabitEthernet1/0/1 both
將交換機上某未使用的端口(此處為GigabitEthernet1/0/52 置為鏡像組1 的反射口
[device]mirroring-group 1 reflector-port GigabitEthernet 1/0/52
This operation may delete all settings made on the interface.Continue? [Y/N]:y
創建VLAN 4003,并把鏡像觀察設備的端口加入VLAN 4003
[device]VLAN 4003
[device-VLAN4003]port GigabitEthernet 1/0/2 GigabitEthernet 1/0/3
配置VLAN 4003 作為鏡像組1 的遠程鏡像VLAN,然后鏡像觀察設備接入VLAN 4003 的端口就可以獲取到鏡像數據。
[device]mirroring-group 1 remote-probe VLAN 4003
故障排除后,截止至2021 年1 月底,華為CloudEngine 6850 核心交換機組的端口內環回功能后接入3 套鏡像設備,4 路雙向鏡像,經過2 個多月的平穩運行,累計鏡像數據流量達66TB,沒有出現故障,這證明利用端口環回功能接多套鏡像設備是可靠的。理論上只要交換機背板帶寬和內存、CPU 支持,想要接入幾套鏡像觀察設備,就將幾個觀察端口劃入鏡像VLAN,這樣就能實現在一臺交換機上接入多套鏡像設備,解決交換機鏡像觀察口的規格限制。但是鏡像觀察端口配置loopback internal 后,需要退出VLAN 1,關閉MAC 地址學習和關閉stp 功能,鏡像源端口如果是trunk 口,要配置不允許鏡像VLAN 通過,避免報文在鏡像VLAN 內形成環回。