08-连接数限制配置
本章节下载: 08-连接数限制配置 (307.73 KB)
图1-1所示的组网环境中,通常会遇到以下两类网络问题:某内网用户在短时间内经过设备向外部网络发起大量连接,导致设备系统资源迅速消耗,其它内网用户无法正常使用网络资源;某内部服务器在短时间内接收到大量的连接请求,导致该服务器忙于处理这些连接请求,以至于不能再接受其它客户端的正常连接请求。
连接数限制通过对设备上建立的连接数进行统计和限制,能够有效解决以上问题,实现保护内部网络资源(主机或服务器)以及合理分配设备系统资源的目的。
(1) 创建连接数限制策略
(2) 配置连接数限制策略
(3) 应用连接数限制策略
(4) 配置连接数限制重复日志抑制功能
(1) 进入系统视图。
system-view
(2) 创建连接数限制策略,并进入连接数限制策略视图。
connection-limit { ipv6-policy | policy } policy-id
一个连接数限制策略中可定义多条连接数限制规则,每条连接数限制规则中指定一个连接数限制的用户范围,属于该范围的用户可建立的连接数将受到该规则中指定参数的限制。当某类型的连接数达到上限值(max-amount)时,设备将不接受该类型的新建连接请求并发送日志,直到设备上已有连接因老化而删除,使得当前该类型的连接数低于连接数下限(min-amount)后,才允许新建连接并发送日志。对于未匹配连接数限制规则的用户所建立的连接,设备不对其连接数进行限制。
目前,连接数限制支持根据ACL来限定用户范围,对匹配ACL规则的用户连接数进行统计和限制。
设备对于某一范围内的用户连接,可根据不同的控制粒度,按照如下各类型进行连接数限制:
· per-destination:按目的IP地址统计和限制,即到同一个目的IP地址的连接数目将受到指定阈值的限制。
· per-service:按服务统计和限制,即同一种服务(具有相同传输层协议和服务端口)的连接数目将受到指定阈值的限制。
· per-source:按源地址统计和限制,即同一个源IP地址发起的连接数目将受到指定阈值的限制。
如果在一条规则中同时指定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
(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
(4) (可选)配置连接数限制策略的描述信息。
description text
缺省情况下,未配置描述信息。
将已经配置好的连接数限制策略应用到全局或不同的接口上,实现对用户的连接数限制。接口上应用的连接数限制策略仅对本接口上处理的指定连接生效,全局应用的连接数限制策略对本设备处理的所有指定的连接生效。
如果在入接口、全局和出接口上分别应用了不同的连接数限制策略,则经过设备的连接将会依次受到入接口、全局、出接口连接数限制策略的多重限制,只要该连接的数目达到任何一处连接数上限,都不允许新建连接。
· 应用或修改连接数限制策略后,仅对新创建的连接生效,已经创建的连接不受此限制。
· 在双机热备组网环境中,从主设备切换到备份设备的会话,不受备份设备上连接数限制策略的限制。
(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连接数限制策略会覆盖已配置的对应类型的策略。
缺省情况下,每一条连接数限制规则被触发时,设备都会记录日志。当同一条连接数限制规则在短时间内被频繁匹配,设备将输出大量相同日志,影响管理员查看,本功能可以抑制重复日志的输出。
(1) 进入系统视图。
system-view
(2) 配置重复日志抑制时间间隔。
connection-limit log-suppress interval time-value
缺省情况下,不抑制连接数限制日志的输出。
在完成上述配置后,在任意视图下执行display命令可以显示连接数限制配置后的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令清除连接数限制的相关信息。
操作 |
命令 |
显示连接数限制策略的配置信息 |
display connection-limit { ipv6-policy | policy } { all | policy-id } |
显示连接数限制在全局或接口的统计信息 |
display connection-limit statistics { global | interface interface-type interface-number | user-id user-id } [ slot slot-number ] |
显示连接数限制在全局或接口的统计节点列表 |
display connection-limit ipv6-stat-nodes { global | interface interface-type interface-number } [ slot slot-number ] [ 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”。
# 创建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
# 在入接口Ten-GigabitEthernet3/0/1上应用连接数限制策略2。
[Router] interface ten-gigabitethernet 3/0/1
[Router-Ten-GigabitEthernet3/0/1] connection-limit apply policy 2
[Router-Ten-GigabitEthernet3/0/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 ACL
------------------------------------------------------------
1 1 -- 100000 95000 3000
2 Dst 10000 9800 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 ACL
------------------------------------------------------------
2 1 Src 100 90 3000
Applied list:
Ten-GigabitEthernet3/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-connection-limit-policy-1] limit 1 acl 2001 per-destination amount 10 5
[Device-connection-limit-policy-1] limit 2 acl 2002 per-destination amount 100 10
[Device-connection-limit-policy-1] quit
实际运行过程中,主机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的顺序重新安排,将两个规则的序号进行调换,即将限制粒度更细、限制范围更精确的规则置前。
图2-1所示的组网环境中,通常会遇到以下两类网络问题:某内网用户在短时间内经过设备向外部网络发起大量连接,导致设备系统资源迅速消耗,其它内网用户无法正常使用网络资源;某内部服务器在短时间内接收到大量的连接请求,导致该服务器忙于处理这些连接请求,以至于不能再接受其它客户端的正常连接请求。
连接数限制通过向上线用户下发User Profile来控制每一个用户的连接数以及连接速率,可以更为精确地分配系统资源,提高多用户连接时的访问效率。
用户通过身份认证后,设备首先会查找设备上对应的User Profile配置,若找到相应的User Profile且该其视图中存在具体的连接数限制设置,则设备将根据该设置对用户进行访问限制;若未找到相应的User Profile或者查找到的User Profile中无连接数限制配置,则用户正常上线,不受影响。
基于User Profile的连接数限制需要与认证服务器配合使用。
· 若用户采用远程认证,则需要在远程认证服务器上指定与该用户账户相关联的User Profile。
· 若用户采用本地认证,则需要在设备对应的本地用户视图中指定该用户的授权User Profile。关于本地用户的相关配置,请参见“BRAS业务配置指导”中的“AAA”。
(1) 进入系统视图。
system-view
(2) 创建User Profile并进入相应的User Profile视图。
user-profile profile-name
关于本命令的详细介绍,请参见“BRAS业务命令参考”中的“User Profile”。
(3) 配置最大连接数。
connection-limit amount amount
缺省情况下,不限制最大用户连接数。
多次执行本命令,以最后一次执行的命令生效。当配置的最大用户连接数小于当前数值时,需在TCP连接老化且剩余TCP连接个数小于配置的数值后,修改后的配置才生效。
(4) 配置最大用户新建连接速率。
connection-limit rate rate
缺省情况下,不限制最大用户新建连接速率。
(5) (可选)显示User Profile的配置信息和在线用户信息。
display user-profile [ name profile-name ] [ slot slot-number ]
关于本命令的详细介绍,请参见“BRAS业务命令参考”中的“User Profile”。
在某校园网络中,所有用户均需要通过AAA认证后才能访问外部网络。因为老师要上传/下载课件、网上视频教学和答疑,所以需要优先保证老师的连接需求,其次满足学生的连接需求。为满足以上需求,要求在接入设备上限制每个老师用户同一时间最多只能与外网建立100条连接,每个学生用户同一时间最多只能与外网建立10条连接。
图2-2 连接数限制配置组网图
· 配置认证服务器
配置老师账户和学生账户,并指定老师账户和学生账户的User Profile属性名分别为teacher和student,详细配置此处略。
· 配置Device
# 配置AAA认证。AAA认证相关的详细配置请结合具体的认证方式完成,此处略。
# 创建老师用户的User Profile,且配置连接数限制为100条,当老师用户认证成功上线后,最多只能与外网建立100条连接。
<Device> system-view
[Device] user-profile teacher
[Device-user-profile-teacher] connection-limit amount 100
[Device-user-profile-teacher] quit
# 创建学生用户的User Profile,且配置连接数限制为10条,当学生用户认证成功上线后,最多只能与外网建立10条连接。
[Device] user-profile student
[Device-user-profile-student] connection-limit amount 10
[Device-user-profile-student] quit
上述配置完成后,执行display user-profile命令显示User Profile连接数限制的配置情况,具体内容如下。
[Device] display user-profile
User-Profile: teacher
Connection-limit amount: 100
User-Profile: student
Connection-limit amount: 10
当老师和学生认证通过后,他们访问外网的连接数将受到设备上指定User Profile的限制。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!