15-URPF配置
本章節下載: 15-URPF配置 (176.32 KB)
URPF(Unicast Reverse Path Forwarding,單播反向路徑轉發)的主要功能是用於防止基於源地址欺騙的網絡攻擊行為,例如基於源地址欺騙的DoS(Denial of Service,拒絕服務)攻擊和DDoS(Distributed Denial of Service,分布式拒絕服務)攻擊。
源地址欺騙攻擊為入侵者構造出一係列帶有偽造源地址的報文來產生攻擊,對於使用基於IP地址驗證的應用來說,此攻擊方法可以導致未被授權用戶以他人身份獲得訪問係統的權限,甚至是以管理員權限來訪問。即使響應報文不能達到攻擊者,同樣也會造成對被攻擊對象的破壞。
如圖1-1所示,在Switch A上偽造源地址為2.2.2.1的報文,以非常高的速率向服務器Switch B發起請求,Switch B響應請求時將向真正的“2.2.2.1”發送報文。這種非法報文對Switch B和Switch C都造成了攻擊。
URPF技術可以應用在上述環境中,對報文的源地址進行反查,並依據其合法性對報文進行過濾,阻止基於源地址欺騙的攻擊。
URPF檢查有嚴格(strict)型和鬆散(loose)型兩種,設備僅支持嚴格(strict)型檢查。
不僅檢查報文的源地址是否在FIB表中存在,而且檢查報文的入接口與FIB表是否匹配。
在一些特殊情況下(如非對稱路由),嚴格型檢查會錯誤的丟棄非攻擊報文。
一般將嚴格型檢查布置在ISP的用戶端和ISP端之間。
僅檢查報文的源地址是否在FIB表中存在,而不再檢查報文的入接口與FIB表是否匹配。
鬆散型檢查可以避免錯誤的攔截合法用戶的報文,但是也容易忽略一些攻擊報文。
一般將鬆散型檢查布置在ISP-ISP端。另外,如果用戶無法保證路由對稱,可以使用鬆散型檢查。
嚴格型URPF檢查中可以進行鏈路層檢查,即用源地址查FIB得到的下一跳地址再查一次ARP表,確保報文的源MAC地址和查到的ARP表項中的MAC地址一樣才允許報文通過。
鏈路層檢查功能對於運營商用單個三層以太網接口接入大量PC機用戶時部屬非常合適。
組播報文不進行URPF檢查。
URPF的處理流程如下:
(1) 如果報文的源地址在設備的FIB表中存在。
反向查找報文出接口,若其中至少有一個出接口和報文的入接口相匹配,則報文通過檢查;否則報文將被丟棄。(反向查找是指查找以該報文源IP地址為目的IP地址的報文的出接口)
(2) 如果報文的源地址在設備的FIB表中存在,且報文通過了檢查,則檢查鏈路層信息。
· 如果沒有配置參數link-check,則認為報文通過檢查,進行正常的轉發;
· 如果配置了參數link-check,則根據FIB表中的下一跳查詢ARP表,並比較IP報文源MAC地址與ARP表中的MAC地址是否一致,如果兩者一致,則報文通過檢查;如果查詢失敗或兩者不一致,則報文將被拒絕。
· 在以太網接口板上,若等價路由下一跳表項數超過8條,則設備不支持URPF檢查。等價路由的詳細介紹請參見“三層技術-IP路由”中的“IP路由基礎”。
· 對URPF的鏈路層檢查(參數link-check),不支持等價路由方式。如果存在等價路由,則不要啟用鏈路層檢查功能。
配置步驟 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
使能URPF檢查 |
ip urpf strict [ link-check ] |
必選 缺省情況下,沒有使能URPF檢查 |
· 在以太網接口板上,URPF檢查功能隻在VLAN接口上生效。
· URPF檢查僅對接口收到的報文有效。
· 當係統工作在標準模式下時,如果VPN實例沒有配置保留VLAN,則該VPN實例綁定的私網VLAN接口上不能配置URPF功能。關於係統工作模式的介紹,請參見“基礎配置指導”中的“設備管理”。關於保留VLAN的詳細介紹請參見“MPLS配置指導”中的“MPLS L3VPN”。
缺省情況下,以太網接口、VLAN接口及聚合接口處於DOWN狀態。如果要對這些接口進行配置,請先使用undo shutdown命令使接口狀態處於UP。
客戶交換機Switch A與ISP交換機Switch B直連,在Switch B的VLAN接口10上啟動URPF,要求嚴格檢查;在Switch A的VLAN接口10上啟動URPF,要求嚴格檢查。
圖1-2 URPF配置舉例組網圖
(1) 配置Switch B
# 創建VLAN 10。
<SwitchB> system-view
[SwitchB] vlan 10
[SwitchB-vlan10] quit
# 配置VLAN接口10的IP地址。
[SwitchB] interface vlan-interface 10
[SwitchB-Vlan-interface10] ip address 1.1.1.2 255.255.255.0
# 在VLAN接口10上使能嚴格URPF檢查。
[SwitchB-Vlan-interface10] ip urpf strict
(2) 配置Switch A
# 創建VLAN 10。
<SwitchA> system-view
[SwitchA] vlan 10
[SwitchA-vlan10] quit
# 配置VLAN接口10的IP地址。
[SwitchA] interface vlan-interface 10
[SwitchA-Vlan-interface10] ip address 1.1.1.1 255.255.255.0
# 在VLAN接口10上使能嚴格URPF檢查。
[SwitchA-Vlan-interface10] ip urpf strict
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!