把交換機一個或多個端口(VLAN)的數據鏡像到一個或多個端口的方法。
爲什麼需要端口鏡像 ?
通常爲了部署 IDS 產品需要監聽網絡流量(網絡分析儀同樣也需要),但是在目前廣泛採用的交換網絡中監聽所有流量有相當大的困難,因此需要通過配置交換機來把一個或多個端口(VLAN)的數據轉發到某一個端口來實現對網絡的監聽。
端口鏡像的別名
端口鏡像通常有以下幾種別名:
●Port Mirroring 通常指允許把一個端口的流量複製到另外一個端口,同時這個端口不能再傳輸數據。
●Monitoring Port 監控端口
●Spanning Port 通常指允許把所有端口的流量複製到另外一個端口,同時這個端口不能再傳輸數據。
●SPAN port 在 Cisco 產品中,SPAN 通常指 Switch Port ANalyzer。某些交換機的 SPAN 端口不支持傳輸數據。
●Link Mode port
支持端口鏡像的交換機
大多數中檔以上的交換機都支持端口鏡像功能,但支持程度不同。
端口鏡像配置方法
下面是幾種交換機的端口鏡像配置方法,主要來自於 Talisker Security Wizardry (http://www.securitywizardry.com/) 的 Switch Port Mirroring (http://www.securitywizardry.com/switch.htm)
Cisco 交換機
特點:
● Cisco 2900 和 Cisco 3500XL 系列交換機
● Cisco 2950、Cisco 3550 和 Cisco 3750 系列交換機 Cisco catylist 2550 Cisco catylist 3550 支持2組monitor session en password config term Switch(config)#monitor session 1 destination interface fast0/4(1爲session id,id範圍爲1-2) Switch(config)#monitor session 1 source interface fast0/1 , fast0/2 , fast0/3 (空格,逗號,空格) Switch(config)#exit Switch#copy running-conf startup-conf Switch#show port-monitor
Cisco 5000 系列交換機
使用 CatOS 的 Cisco 4000 和 Cisco 6000 系列交換機
使用 IOS 的 Cisco 4000 和 Cisco 6000 系列交換機
Extreme 交換機
特點:
●只能創建多對一或者一對一的鏡像端口
●可以監聽 VLAN 的流量
●Extreme 會鏡像 IN 和 OUT 的流量。這就意味着在鏡像 VLAN 的時候,會看到一個報文至少兩次— —從 VLAN 的某個端口出來,並且進入 VLAN 的另一個端口。 版本高於4.1的 Extreme 交換機端口鏡像配置方法 {enable | disable} mirroring on port 開啓/關閉端口鏡像功能,並且指定鏡像流量從何端口流出,port-no 只能是一個端口 configure mirroring { add | delete } { vlan | port } 指定鏡像哪個或哪些 VLAN 或端口的流量 { vlan | port } 部分可以重複多次 版本低於 4.1 的 Extreme 交換機端口鏡像配置方法 enable mirror to port port-no 開啓端口鏡像功能,並且指定鏡像流量從何端口流出,port-no 只能是一個端口 disable mirror 關閉端口鏡像功能 config mirror add port 鏡像端口 port-no 的流量,如果這個端口包含多個 VLAN 這些流量都會被鏡像到目的端口 config mirror add port vlan 鏡像端口 port-no 中指定 VLAN 的流量 config mirror add vlan 鏡像端口中指定 VLAN 的所有端口的流量 config mirror del port 取消對 port-no 的端口鏡像 config mirror del vlan 取消對指定 VLAN 的端口鏡像 show mirror
顯示端口鏡像情況
Foundry 交換機
特點:
●可以創建多對多的端口鏡像 Foundry 交換機端口鏡像配置方法 在配置模式中(Configuration Mode): interface port monitor { { rx | tx | both}} 確定鏡像流量從哪個端口流出,修改此端口配置 指定要鏡像哪些端口的哪些流量(rx 指接收的流量,tx 指發送的流量,both 指雙向流量),{ { rx | tx | both}} 部分可以重複
Juniper 交換機
特點:
●每交換機只能有一個監聽端口
●只能鏡像 IPv4 的流量
●只能鏡像發送(transit only)的流量,不能鏡像接收的流量 Juniper M 系列和 T 系列端口鏡像配置方法 usen@router# show forwarding-options port- mirroring { input {family inet; rate ; run- length ;} output interface {next-hop ;} no-filter-check;} }
選擇將抽樣的流量發送到哪個目的端口 user@router# show firewall filter mirror-sample from {...} then {sample; accept;} 定義抽樣過濾器,選擇感興趣的流量 user@router# show interface unit 0 family inet filter {input mirror-sample;} 選擇將抽樣的過濾器應用到某個端口 端口鏡像的風險 加重交換機負載,造成設備不穩定 在某些情況下會丟包,不能保證 100% 鏡像流量。例如,由於多個源端口鏡像到一個目的端口,目的端口無法處理造成丟包
端口鏡像配置
『環境配置參數』
- PC1接在交換機E0/1端口,IP地址1.1.1.1/24
- PC2接在交換機E0/2端口,IP地址2.2.2.2/24
- E0/24爲交換機上行端口
- Server接在交換機E0/8端口,該端口作爲鏡像端口
『組網需求』 - 通過交換機端口鏡像的功能使用server對兩臺pc的業務報文進行監控。
- 按照鏡像的不同方式進行配置:
1) 基於端口的鏡像
2) 基於流的鏡像
2.數據配置步驟『端口鏡像的數據流程』
基於端口的鏡像是把被鏡像端口的進出數據報文完全拷貝一份到鏡像端口,這樣來進行流量觀測或者故障定位。
【3026等交換機鏡像】
S2008/S2016/S2026/S2403H/S3026等交換機支持的都是基於端口的鏡像,有兩種方法:
方法一 - 配置鏡像(觀測)端口
[SwitchA]monitor-port e0/8 - 配置被鏡像端口
[SwitchA]port mirror Ethernet 0/1 to Ethernet 0/2
方法二 - 可以一次性定義鏡像和被鏡像端口
[SwitchA]port mirror Ethernet 0/1 to Ethernet 0/2 observing-port Ethernet 0/8
【8016交換機端口鏡像配置】 - 假設8016交換機鏡像端口爲E1/0/15,被鏡像端口爲E1/0/0,設置端口1/0/15爲端口鏡像的觀測端口。
[SwitchA] port monitor ethernet 1/0/15 - 設置端口1/0/0爲被鏡像端口,對其輸入輸出數據都進行鏡像。
[SwitchA] port mirroring ethernet 1/0/0 both ethernet 1/0/15
也可以通過兩個不同的端口,對輸入和輸出的數據分別鏡像 - 設置E1/0/15和E2/0/0爲鏡像(觀測)端口
[SwitchA] port monitor ethernet 1/0/15 - 設置端口1/0/0爲被鏡像端口,分別使用E1/0/15和E2/0/0對輸入和輸出數據進行鏡像。
[SwitchA] port mirroring gigabitethernet 1/0/0 ingress ethernet 1/0/15
[SwitchA] port mirroring gigabitethernet 1/0/0 egress ethernet 2/0/0
『基於流鏡像的數據流程』
基於流鏡像的交換機針對某些流進行鏡像,每個連接都有兩個方向的數據流,對於交換機來說這兩個數據流是要分開鏡像的。
【3500/3026E/3026F/3050】
〖基於三層流的鏡像〗
- 定義一條擴展訪問控制列表
[SwitchA]acl num 100 - 定義一條規則報文源地址爲1.1.1.1/32去往所有目的地址
[SwitchA-acl-adv-101]rule 0 permit ip source 1.1.1.1 0 destination any - 定義一條規則報文源地址爲所有源地址目的地址爲1.1.1.1/32
[SwitchA-acl-adv-101]rule 1 permit ip source any destination 1.1.1.1 0 - 將符合上述ACL規則的報文鏡像到E0/8端口
[SwitchA]mirrored-to ip-group 100 interface e0/8
〖基於二層流的鏡像〗
- 定義一個ACL
[SwitchA]acl num 200 - 定義一個規則從E0/1發送至其它所有端口的數據包
[SwitchA]rule 0 permit ingress interface Ethernet0/1 egress interface Ethernet0/2 - 定義一個規則從其它所有端口到E0/1端口的數據包
[SwitchA]rule 1 permit ingress interface Ethernet0/2 egress interface Ethernet0/1 - 將符合上述ACL的數據包鏡像到E0/8
[SwitchA]mirrored-to link-group 200 interface e0/8
【5516/6506/6503/6506R】
目前該三款產品支持對入端口流量進行鏡像
- 定義鏡像端口
[SwitchA]monitor-port Ethernet 3/0/2 - 定義被鏡像端口
[SwitchA]mirroring-port Ethernet 3/0/1 inbound
【補充說明】
- 鏡像一般都可以實現高速率端口鏡像低速率端口,例如1000M端口可以鏡像100M端口,反之則無法實現
- 8016支持跨單板端口鏡像
3.測試驗證在觀測端口上通過工具軟件可以看到被鏡像端口的相應的報文,可以進行流量觀測或者故障定位。