18-連接數限製配置
本章節下載: 18-連接數限製配置 (289.56 KB)
圖1-1所示的組網環境中,通常會遇到以下兩類網絡問題:某內網用戶在短時間內經過設備向外部網絡發起大量連接,導致設備係統資源迅速消耗,其它內網用戶無法正常使用網絡資源;某內部服務器在短時間內接收到大量的連接請求,導致該服務器忙於處理這些連接請求,以至於不能再接受其它客戶端的正常連接請求。
連接數限製通過對設備上建立的連接數進行統計和限製,能夠有效解決以上問題,實現保護內部網絡資源(主機或服務器)以及合理分配設備係統資源的目的。
(1) 創建連接數限製策略
(2) 配置連接數限製策略
(3) 應用連接數限製策略
(1) 進入係統視圖。
system-view
(2) 創建連接數限製策略,並進入連接數限製策略視圖。
connection-limit { ipv6-policy | policy } policy-id
一個連接數限製策略中可定義多條連接數限製規則,每條連接數限製規則中指定一個連接數限製的用戶範圍,屬於該範圍的用戶可建立的連接數及新建連接速率將受到該規則中指定參數的限製。當某類型的連接數達到上限值(max-amount)或新建連接速率達到最大值(rate)時,設備將根據用戶配置的動作允許或拒絕該類型的新建連接請求。若動作配置為拒絕新建連接,則需要等到設備上已有連接因老化而刪除,使得當前該類型的連接數低於連接數下限(min-amount)或新建連接速率低於最大值後,才允許新建連接。連接數達到觸發限製閾值時,設備將記錄日誌;連接數下降到連接數下限時,隻有動作配置為拒絕新建連接時才會記錄日誌。對於未匹配連接數限製規則的用戶所建立的連接,設備不對其連接數進行限製。
目前,連接數限製支持根據ACL來限定用戶範圍,對匹配ACL規則的用戶連接數進行統計和限製。
設備對於某一範圍內的用戶連接,可根據不同的控製粒度,按照如下各類型進行連接數限製:
· per-destination:按目的IP地址統計和限製,即到同一個目的IP地址的連接數目將受到指定閾值的限製。
· per-service:按服務統計和限製,即同一種服務(具有相同傳輸層協議和服務端口)的連接數目將受到指定閾值的限製。
· per-source:按源地址統計和限製,即同一個源IP地址發起的連接數目將受到指定閾值的限製。
· per-dslite-b4:按DS-Lite隧道的B4設備來進行統計和限製,即每個B4設備連接的IPv4用戶連接數將受到指定閾值的限製。關於DS-Lite隧道的相關介紹,請參見“VPN配置指導”中的“隧道”。
如果在一條規則中同時指定per-destination、per-service、per-source類型中的多個,則多種統計和限製類型同時生效。例如,同時指定per-destination和per-service類型,則表示對到同一個目的地址的同一種服務的連接數進行統計和限製。若一條規則中不指定以上任何一種限製類型,則表示指定範圍內的所有用戶連接將整體受到指定的閾值限製。
對設備上建立的連接與某連接數限製策略進行匹配時,將按照規則編號從小到大的順序依次遍曆該策略中的所有規則,因此在配置連接限製規則時,需要從整體策略考慮,根據各規則的內容來合理安排規則的編號順序,推薦按照限製粒度和範圍由小到大的順序來設置規則序號。
(1) 進入係統視圖。
system-view
(2) 進入IPv4連接數限製策略視圖。
connection-limit policy policy-id
(3) 配置連接數限製規則。
¡ 配置基於目的IP地址、服務或源IP地址的連接數限製規則。
limit limit-id acl { acl-number | name acl-name } [ per-destination | per-service | per-source ] * { amount max-amount min-amount | rate rate } * [ description text | permit-new ] *
¡ 配置基於DS-Lite隧道的連接數限製規則。
limit limit-id acl ipv6 { acl-number | name acl-name } per-dslite-b4 { amount max-amount min-amount | rate rate } * [ description text | permit-new ] *
(4) (可選)配置連接數限製策略的描述信息。
description text
缺省情況下,未配置描述信息。
(1) 進入係統視圖。
system-view
(2) 進入IPv6連接數限製策略視圖。
connection-limit ipv6-policy policy-id
(3) 配置連接數限製規則。
limit limit-id acl ipv6 { acl-number | name acl-name } [ per-destination | per-service | per-source ] * { amount max-amount min-amount | rate rate } * [ description text | permit-new ] *
(4) (可選)配置連接數限製策略的描述信息。
description text
缺省情況下,未配置描述信息。
將已經配置好的連接數限製策略應用到全局或不同的接口上,實現對用戶的連接數限製。接口上應用的連接數限製策略僅對本接口上處理的指定連接生效,全局應用的連接數限製策略對本設備處理的所有指定的連接生效。
如果在入接口、全局和出接口上分別應用了不同的連接數限製策略,則經過設備的連接將會依次受到入接口、全局、出接口連接數限製策略的多重限製,隻要該連接的數目達到任何一處連接數上限,都不允許新建連接。
· 應用或修改連接數限製策略後,僅對新創建的連接生效,已經創建的連接不受此限製。
· 在雙機熱備組網環境中,從主設備切換到備份設備的會話,不受備份設備上連接數限製策略的限製。
· 在DS-Lite隧道組網環境中,若AFTR設備上采用了Endpoint-Independent Mapping模式的NAT配置,則要基於B4設備來限製從IPv4外網主動訪問IPv4內網的連接,配置了per-dslite-b4類型規則的連接數限製策略必須應用在DS-Lite隧道接口上或者應用在全局。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 在接口上應用連接限製策略。
connection-limit apply { ipv6-policy | policy } policy-id
缺省情況下,接口上未應用連接數限製策略。
同一個接口上同時隻能應用一個IPv4連接數限製策略和一個IPv6連接數限製策略,後配置的IPv4或IPv6連接數限製策略會覆蓋已配置的對應類型的策略。
(1) 進入係統視圖。
system-view
(2) 全局應用連接限製策略。
connection-limit apply global { ipv6-policy | policy } policy-id
缺省情況下,全局未應用連接數限製策略。
全局最多隻能應用一個IPv4連接數限製策略和一個IPv6連接數限製策略,後配置的IPv4或IPv6連接數限製策略會覆蓋已配置的對應類型的策略。
在完成上述配置後,在任意視圖下執行display命令可以顯示連接數限製配置後的運行情況,通過查看顯示信息驗證配置的效果。
在用戶視圖下執行reset命令清除連接數限製的相關信息。
操作 |
命令 |
顯示連接數限製策略的配置信息 |
display connection-limit { ipv6-policy | policy } { all | policy-id } |
顯示連接數限製在全局或接口的統計信息 |
display connection-limit statistics { global | interface interface-type interface-number } [ slot slot-number ] |
顯示連接數限製在全局或接口的IPv4統計節點列表 |
display connection-limit stat-nodes { global | interface interface-type interface-number } [ slot slot-number ] [ { deny-new | permit-new } | destination destination-ip | service-port port-number | source source-ip ] * [ count ] display connection-limit stat-nodes { global | interface interface-type interface-number } [ slot slot-number ] dslite-peer b4-address [ count ] |
顯示連接數限製在全局或接口的IPv6統計節點列表 |
display connection-limit ipv6-stat-nodes { global | interface interface-type interface-number } [ slot slot-number ] [ { deny-new | permit-new } | destination destination-ip | service-port port-number | source source-ip ] * [ count ] |
清除連接數限製在全局或接口的統計信息 |
reset connection-limit statistics { global | interface interface-type interface-number } [ slot slot-number ] |
某公司擁有202.38.1.1/24至202.38.1.5/24五個公網IP地址,內部網絡地址為192.168.0.0/16。通過配置NAT使得內部網絡主機可以訪問Internet,並提供兩台內部服務器供外網訪問。為保護內部網絡及網絡資源,需要進行以下限製:
· 192.168.0.0/24網段的全部主機總共最多隻能與外網建立100000條連接。
· 192.168.0.0/24網段的每台主機最多隻能與外網建立100條連接。
· 最多允許10000個DNS客戶端同時向DNS服務器發送查詢請求。
· 最多允許10000個Web客戶端同時向Web服務器發送連接請求。
圖1-2 基於接口的連接數限製配置組網圖
內網主機訪問外部網絡的NAT配置和內部服務器的配置請參見“NAT配置指導”中的“NAT”,此處不進行介紹,下麵僅對連接限製的配置步驟進行詳細描述。
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<Device> system-view
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] ip address 192.168.0.1 255.255.255.0
[Device-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 配置靜態路由
本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例假設到Internet的下一跳IP地址為202.38.1.254,實際使用中請以具體組網情況為準,具體配置步驟如下。
[Device] ip route-static 0.0.0.0 0 202.38.1.254
(3) 配置接口加入安全域
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[Device] security-zone name trust
[Device-security-zone-Trust] import interface gigabitethernet 1/0/1
[Device-security-zone-Trust] quit
[Device] security-zone name untrust
[Device-security-zone-Untrust] import interface gigabitethernet 1/0/2
[Device-security-zone-Untrust] quit
(4) 配置安全策略
# 配置名稱為trust-untrust的安全策略規則,使Host A可以正常訪問Internet,具體配置步驟如下。
[Device] security-policy ip
[Device-security-policy-ip] rule name trust-untrust
[Device-security-policy-ip-1-trust-untrust] source-zone trust
[Device-security-policy-ip-1-trust-untrust] destination-zone untrust
[Device-security-policy-ip-1-trust-untrust] source-ip-subnet 192.168.0.0 24
[Device-security-policy-ip-1-trust-untrust] action pass
[Device-security-policy-ip-1-trust-untrust] quit
# 配置名稱為untrust-trust的安全策略規則,使Host可以正常訪問內網服務器,具體配置步驟如下。
[Device-security-policy-ip] rule name untrust-trust
[Device-security-policy-ip-2-untrust-trust] source-zone untrust
[Device-security-policy-ip-2-untrust-trust] destination-zone trust
[Device-security-policy-ip-2-untrust-trust] destination-ip-subnet 192.168.0.0 24
[Device-security-policy-ip-2-untrust-trust] action pass
[Device-security-policy-ip-2-untrust-trust] quit
[Device-security-policy-ip] quit
(5) 配置ACL
# 創建ACL 3000,定義允許內網所有主機發送的報文通過,具體配置步驟如下。
[Device] acl advanced 3000
[Device-acl-ipv4-adv-3000] rule permit ip source 192.168.0.0 0.0.0.255
[Device-acl-ipv4-adv-3000] quit
# 創建ACL 3001,定義允許訪問Web Server和DNS Server的報文通過,具體配置步驟如下。
[Device] acl advanced 3001
[Device-acl-ipv4-adv-3001] rule permit ip destination 192.168.0.2 0
[Device-acl-ipv4-adv-3001] rule permit ip destination 192.168.0.3 0
[Device-acl-ipv4-adv-3001] quit
(6) 配置連接數限製策略
# 創建連接數限製策略1,允許匹配ACL 3000的全部主機總共最多隻能與外網建立100000條連接,超過100000時,需要等連接數恢複到95000以下才允許建立新的連接。允許匹配ACL 3001的服務器最多接受10000條連接請求,超過10000時,需要等連接數降到9800以下才允許建立新的連接,具體配置步驟如下。
[Device] connection-limit policy 1
[Device-connlmt-policy-1] limit 1 acl 3000 amount 100000 95000
[Device-connlmt-policy-1] limit 2 acl 3001 per-destination amount 10000 9800
[Device-connlmt-policy-1] quit
# 創建連接數限製策略2,允許匹配ACL 3000的每台主機最多隻能與外網建立100條連接,超過100時,需要等連接數恢複到90以下才允許建立新的連接,具體配置步驟如下。
[Device] connection-limit policy 2
[Device-connlmt-policy-2] limit 1 acl 3000 per-source amount 100 90
[Device-connlmt-policy-2] quit
(7) 應用連接數限製策略
# 在全局應用連接數限製策略1。
[Device] connection-limit apply global policy 1
# 在入接口GigabitEthernet1/0/1上應用連接數限製策略2。
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] connection-limit apply policy 2
[Device-GigabitEthernet1/0/1] quit
# 上述配置完成後,執行display connection-limit policy命令顯示連接數限製的配置情況,具體內容如下。
[Device] display connection-limit policy 1
IPv4 connection limit policy 1 has been applied 1 times, and has 2 limit rules.
Limit rule list:
Policy Rule StatType HiThres LoThres rate PermitNew ACL
-------------------------------------------------------------------------------
1 1 -- 100000 95000 0 No 3000
2 Dst 10000 9800 0 No 3001
Applied list:
Global
[Device] display connection-limit policy 2
IPv4 connection limit policy 2 has been applied 1 times, and has 1 limit rules.
Limit rule list:
Policy Rule StatType HiThres LoThres rate PermitNew ACL
--------------------------------------------------------------------------------
2 1 Src 100 90 0 No 3000
Applied list:
GigabitEthernet1/0/1
在Device上進行如下配置,希望限製主機192.168.0.100/24最多向某公網服務器發起100條連接請求,以及192.168.0.0/24網段的其他主機最多向某公網服務器發起10條連接請求。
<Device> system-view
[Device] acl basic 2001
[Device-acl-ipv4-basic-2001] rule permit source 192.168.0.0 0.0.0.255
[Device-acl-ipv4-basic-2001] quit
[Device] acl basic 2002
[Device-acl-ipv4-basic-2002] rule permit source 192.168.0.100 0
[Device-acl-ipv4-basic-2002] quit
[Device] connection-limit policy 1
[Device-connlmt-policy-1] limit 1 acl 2001 per-destination amount 10 5
[Device-connlmt-policy-1] limit 2 acl 2002 per-destination amount 100 10
實際運行過程中,主機192.168.0.100最多隻能同時向外部網絡的同一個目的地址發起10條連接,後續連接被拒絕。
在上述配置中,limit 1和limit 2中指定的源IP地址範圍存在包含關係,192.168.0.100發起的連接既符合limit 1又符合limit 2。由於在進行連接限製規則的匹配時,設備根據規則編號由小到大的順序進行匹配,且以匹配到的第一條有效規則為準,因此對192.168.0.100向外部網絡發起的連接將隻按照limit 1進行限製,而不會使用limit 2來限製。
為實現本需求,需要對limit 2與limit 1的順序重新安排,將兩個規則的序號進行調換,即將限製粒度更細、限製範圍更精確的規則置前。
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!