17-连接数限制配置
本章节下载: 17-连接数限制配置 (188.11 KB)
图1-1所示的组网环境中,通常会遇到以下两类网络问题:某内网用户在短时间内经过设备向外部网络发起大量连接,导致设备系统资源迅速消耗,其它内网用户无法正常使用网络资源;某内部服务器在短时间内接收到大量的连接请求,导致该服务器忙于处理这些连接请求,以至于不能再接受其它客户端的正常连接请求。
连接数限制通过对设备上建立的连接数进行统计和限制,能够有效解决以上问题,实现保护内部网络资源(主机或服务器)以及合理分配设备系统资源的目的。
目前,设备支持基于接口的连接数限制,即通过将已经配置好的连接数限制策略应用到全局或指定的接口上,对指定接口或所有接口上的用户连接数进行限制。
表1-1 基于接口的连接数限制配置任务简介
配置任务 |
说明 |
详细配置 |
创建连接数限制策略 |
必选 |
|
配置连接数限制策略 |
必选 |
|
应用连接数限制策略 |
必选 |
连接数限制策略用于定义具体的连接数限制规则,其中的规则规定了策略生效的范围和实施的参数。
表1-2 创建连接数限制策略
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建连接数限制策略,并进入连接数限制策略视图 |
connection-limit { ipv6-policy | policy } policy-id |
缺省情况下,不存在连接数限制策略 |
一个连接数限制策略中可定义多条连接数限制规则,每条连接数限制规则中指定一个连接数限制的用户范围,属于该范围的用户可建立的连接数及新建连接速率将受到该规则中指定参数的限制。当某类型的连接数达到上限值(max-amount)时,设备将不接受该类型的新建连接请求并发送日志,直到设备上已有连接因老化而删除,使得当前该类型的连接数低于连接数下限(min-amount)后,才允许新建连接并发送日志。对于未匹配连接数限制规则的用户所建立的连接,设备不对其连接数进行限制。也可以选择对新建连接的速率进行限制(rate),每秒新建的连接数不能超过限制值。
目前,连接数限制支持根据ACL来限定用户范围,对匹配ACL规则的用户连接数进行统计和限制。
设备对于某一范围内的用户连接,可根据不同的控制粒度,按照如下各类型进行连接数限制:
· per-destination:按目的IP地址统计和限制,即到同一个目的IP地址的连接数目将受到指定阈值的限制。
· per-service:按服务统计和限制,即同一种服务(具有相同传输层协议和服务端口)的连接数目将受到指定阈值的限制。
· per-source:按源地址统计和限制,即同一个源IP地址发起的连接数目将受到指定阈值的限制。
· per-dslite-b4:按DS-Lite隧道的B4设备来进行统计和限制,即每个B4设备连接的IPv4用户连接数将受到指定阈值的限制。关于DS-Lite隧道的相关介绍,请参见“三层技术-IP业务配置指导”中的“隧道”。
如果在一条规则中同时指定per-destination、per-service、per-source类型中的多个,则多种统计和限制类型同时生效。例如,同时指定per-destination和per-service类型,则表示对到同一个目的地址的同一种服务的连接数进行统计和限制。若一条规则中不指定以上任何一种限制类型,则表示指定范围内的所有用户连接将整体受到指定的阈值限制。
对设备上建立的连接与某连接数限制策略进行匹配时,将按照规则编号从小到大的顺序依次遍历该策略中的所有规则,因此在配置连接限制规则时,需要从整体策略考虑,根据各规则的内容来合理安排规则的编号顺序,推荐按照限制粒度和范围由小到大的顺序来设置规则序号。
表1-3 配置IPv4连接数限制策略
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入IPv4连接数限制策略视图 |
connection-limit policy policy-id |
- |
配置连接数限制规则 |
limit limit-id acl { acl-number | name acl-name } [ per-destination | per-service | per-source ] * { amount max-amount min-amount | rate rate } * [ description text ] limit limit-id acl ipv6 { acl-number | name acl-name } per-dslite-b4 { amount max-amount min-amount | rate rate } * [ description text ] |
缺省情况下,不存在连接数限制规则 |
(可选)配置连接数限制策略的描述信息 |
description text |
缺省情况下,未配置描述信息 |
表1-4 配置IPv6连接数限制策略
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入IPv6连接数限制策略视图 |
connection-limit ipv6-policy policy-id |
- |
配置连接数限制规则 |
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 ] |
缺省情况下,不存在连接数限制规则 |
(可选)配置连接数限制策略的描述信息 |
description text |
缺省情况下,未配置描述信息 |
将已经配置好的连接数限制策略应用到全局或不同的接口上,实现对用户的连接数限制。接口上应用的连接数限制策略仅对本接口上处理的指定连接生效,全局应用的连接数限制策略对本设备处理的所有指定的连接生效。
如果在入接口、全局和出接口上分别应用了不同的连接数限制策略,则经过设备的连接将会依次受到入接口、全局、出接口连接数限制策略的多重限制,只要该连接的数目达到任何一处连接数上限,都不允许新建连接。
需要注意的是:
· 应用连接数限制策略后,仅对新创建的连接生效,已经创建的连接不受此限制。
· 在双机热备组网环境中,从主设备切换到备份设备的会话,不受备份设备上连接数限制策略的限制。
· 在DS-Lite隧道组网环境中,若AFTR设备上采用了Endpoint-Independent Mapping模式的NAT配置,则要基于B4设备来限制从IPv4外网主动访问IPv4内网的连接,配置了per-dslite-b4类型规则的连接数限制策略必须应用在DS-Lite隧道接口上或者应用在全局。
表1-5 在接口上应用连接数限制策略
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
在接口上应用连接限制策略 |
connection-limit apply { ipv6-policy | policy } policy-id |
缺省情况下,接口上未应用连接数限制策略 同一个接口上同时只能应用一个IPv4连接数限制策略和一个IPv6连接数限制策略,后配置的IPv4或IPv6连接数限制策略会覆盖已配置的对应类型的策略 |
表1-6 全局应用连接限制策略
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
全局应用连接限制策略 |
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 } |
显示连接数限制在全局或接口的的统计节点列表 |
display connection-limit { ipv6-stat-nodes | stat-nodes } { global | interface interface-type interface-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 } dslite-peer b4-address [ count ] |
清除连接数限制在全局或接口的统计信息 |
reset connection-limit statistics { global | interface interface-type interface-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配置和内部服务器的配置请参见“三层技术-IP业务配置指导”中的“NAT”,此处不进行介绍,下面仅对连接限制的配置步骤进行详细描述。
# 创建ACL 3000,定义允许内网所有主机发送的报文通过。
<Router> system-view
[Router] acl advanced 3000
[Router-acl-ipv4-adv-3000] rule permit ip source 192.168.0.0 0.0.0.255
[Router-acl-ipv4-adv-3000] quit
# 创建ACL 3001,定义允许访问Web Server和DNS Server的报文通过。
[Router] acl advanced 3001
[Router-acl-ipv4-adv-3001] rule permit ip destination 192.168.0.2 0
[Router-acl-ipv4-adv-3001] rule permit ip destination 192.168.0.3 0
[Router-acl-ipv4-adv-3001] quit
# 创建连接数限制策略1。
[Router] connection-limit policy 1
# 配置连接数限制规则1,允许匹配ACL 3000的全部主机总共最多只能与外网建立100000条连接,超过100000时,需要等连接数恢复到95000以下才允许建立新的连接。
[Router-connection-limit-policy-1] limit 1 acl 3000 amount 100000 95000
# 配置连接数限制规则2,允许匹配ACL 3001的服务器最多接受10000条连接请求,超过10000时,需要等连接数降到9800以下才允许建立新的连接。
[Router-connection-limit-policy-1] limit 2 acl 3001 per-destination amount 10000 9800
[Router-connection-limit-policy-1] quit
# 创建连接数限制策略2。
[Router] connection-limit policy 2
# 配置连接数限制规则1,允许匹配ACL 3000的每台主机最多只能与外网建立100条连接,超过100时,需要等连接数恢复到90以下才允许建立新的连接。
[Router-connection-limit-policy-2] limit 1 acl 3000 per-source amount 100 90
[Router-connection-limit-policy-2] quit
# 在全局应用连接数限制策略1。
[Router] connection-limit apply global policy 1
# 在入接口Gigabitethernet0/1上应用连接数限制策略2。
[Router] interface gigabitethernet 0/1
[Router-GigabitEthernet0/1] connection-limit apply policy 2
[Router-GigabitEthernet0/1] quit
上述配置完成后,执行display connection-limit policy命令显示连接数限制的配置情况,具体内容如下。
[Router] 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 ACL
------------------------------------------------------------
1 1 -- 100000 95000 0 3000
2 Dst 10000 9800 0 3001
Applied list:
Global
[Router] 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 ACL
------------------------------------------------------------
2 1 Src 100 90 0 3000
Applied list:
GigabitEthernet0/1
在Router上进行如下配置,希望限制主机192.168.0.100/24最多向某公网服务器发起100条连接请求,以及192.168.0.0/24网段的其他主机最多向某公网服务器发起10条连接请求。
<Router> system-view
[Router] acl basic 2001
[Router-acl-ipv4-basic-2001] rule permit source 192.168.0.0 0.0.0.255
[Router-acl-ipv4-basic-2001] quit
[Router] acl basic 2002
[Router-acl-ipv4-basic-2002] rule permit source 192.168.0.100 0
[Router-acl-ipv4-basic-2002] quit
[Router] connection-limit policy 1
[Router-connection-limit-policy-1] limit 1 acl 2001 per-destination amount 10 5
[Router-connection-limit-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保留在没有任何通知或提示的情况下对资料内容进行修改的权利!