上网高峰挤爆出口带宽服务器变卡?华为防火墙按公网地址分两档限速

出口带宽经常被两头挤:上班高峰内网员工集中上网,下行被占满,外面客户访问公司的 Web 服务器开始打不开网页、图片显示不全;反过来等到服务器访问量突发,员工的上网体验又掉下来。这种矛盾不一定要升级线路,可以先在防火墙上把带宽按用途切开——上网用户一档、对外服务器一档,各走各的带宽通道,互不侵占。华为官方文档有一套完整的 CLI 举例——配置基于公网地址的带宽控制,本篇按这套示例把两条带宽策略配起来,命令逐段给出,配置脚本一并附上方便整体核对。

本文的组网需求、配置思路与命令步骤,整理自华为官方发布的典型配置案例,参数可直接参考使用。

组网需求

在某企业组网环境中,员工通过源NAT方式访问互联网,企业申请了4个IP地址(1.1.1.2~1.1.1.5)作为转换后的公网地址。同时,企业中还存在Web服务器若干台,通过NAT Server方式为互联网上的用户提供Web访问,其中对外提供服务的公网IP地址为"1.1.1.6"。在上网高峰时段,由于上网用户多,占用的带宽较大,经常导致外部访问Web服务器时出现打不开网页、图片显示不全等问题。另一方面,在Web服务器访问量突发的时候,企业用户的上网体验也会下降很多。

企业管理员希望利用DeviceA提供的带宽管理功能,限制上网用户的总带宽以及Web服务器对外提供的总带宽,也就是对应源NAT转换后以及NAT Server转换前的公网IP地址进行限制,不基于每用户或单服务器的带宽占用情况进行控制。将从ISP处购买的100M带宽进行划分:上网用户下行带宽60M(untrust到trust的流量),外网用户访问内网服务器的下行带宽40M(dmz到untrust的流量)。

本例中interface1、interface2和interface3分别代表GE0/0/1、GE0/0/2和GE0/0/3。

配置思路

  • 配置接口IP地址和安全区域,完成网络基本参数配置。
  • 配置基于上网用户的带宽策略,并引用整体下行最大带宽为60Mbps的带宽通道。
  • 配置基于内网Web服务器的带宽策略,并引用整体下行最大带宽为40Mbps的带宽通道。

这套方案的关键在"按公网地址匹配":上网用户那条策略认的是源NAT转换后的公网IP段(1.1.1.2~1.1.1.5),服务器那条认的是NAT Server对外的公网地址(1.1.1.6),两档各挂各的带宽通道,100M 出口按 60M 加 40M 划开。

操作步骤

第一步,配置接口IP地址和安全区域。配置GE0/0/1接口IP地址,将接口加入untrust域:

<HUAWEI> system-view 
[HUAWEI] sysname DeviceA
[DeviceA] interface ge 0/0/1
[DeviceA-GE0/0/1] undo portswitch
[DeviceA-GE0/0/1] ip address 1.1.1.1 24
[DeviceA-GE0/0/1] quit
[DeviceA] firewall zone untrust
[DeviceA-zone-untrust] add interface ge 0/0/1
[DeviceA-zone-untrust] quit

配置GE0/0/3接口IP地址,将接口加入trust域:

[DeviceA] interface ge 0/0/3
[DeviceA-GE0/0/3] undo portswitch
[DeviceA-GE0/0/3] ip address 10.3.0.1 24
[DeviceA-GE0/0/3] quit
[DeviceA] firewall zone trust
[DeviceA-zone-trust] add interface ge 0/0/3
[DeviceA-zone-trust] quit

配置GE0/0/2接口IP地址,将接口加入dmz域:

[DeviceA] interface ge 0/0/2
[DeviceA-GE0/0/2] undo portswitch
[DeviceA-GE0/0/2] ip address 10.2.0.1 24
[DeviceA-GE0/0/2] quit
[DeviceA] firewall zone dmz
[DeviceA-zone-dmz] add interface ge 0/0/2
[DeviceA-zone-dmz] quit

第二步,配置安全策略,允许内网用户访问Internet和Internet用户访问内部服务器。实际配置中,建议根据组网需要配置精细化的安全策略:

[DeviceA] security-policy
[DeviceA-policy-security] rule name policy_sec1
[DeviceA-policy-security-rule-policy_sec1] source-zone trust
[DeviceA-policy-security-rule-policy_sec1] destination-zone untrust
[DeviceA-policy-security-rule-policy_sec1] action permit
[DeviceA-policy-security-rule-policy_sec1] quit
[DeviceA-policy-security] rule name policy_sec2
[DeviceA-policy-security-rule-policy_sec2] source-zone untrust
[DeviceA-policy-security-rule-policy_sec2] destination-zone dmz
[DeviceA-policy-security-rule-policy_sec2] action permit
[DeviceA-policy-security-rule-policy_sec2] quit

第三步,为上网用户配置带宽通道:

[DeviceA] bandwidth-policy
[DeviceA-policy-bandwidth] profile name profile_surf
[DeviceA-policy-bandwidth-profile-profile_surf] bandwidth maximum-bandwidth whole upstream 60000
[DeviceA-policy-bandwidth-profile-profile_surf] bandwidth maximum-bandwidth whole downstream 60000
[DeviceA-policy-bandwidth-profile-profile_surf] quit

第四步,针对上网用户开启公网IP地址匹配功能:

[DeviceA-policy-bandwidth] public-ip source match enable

第五步,为上网用户配置带宽策略:

[DeviceA-policy-bandwidth] rule name policy_surf
[DeviceA-policy-bandwidth-rule-policy_surf] source-zone trust
[DeviceA-policy-bandwidth-rule-policy_surf] destination-zone untrust
[DeviceA-policy-bandwidth-rule-policy_surf] source-address range 1.1.1.2 1.1.1.5
[DeviceA-policy-bandwidth-rule-policy_surf] action qos profile profile_surf
[DeviceA-policy-bandwidth-rule-policy_surf] quit

第六步,为内网Web服务器配置带宽通道:

[DeviceA-policy-bandwidth] profile name profile_websvr
[DeviceA-policy-bandwidth-profile-profile_websvr] bandwidth maximum-bandwidth whole upstream 40000
[DeviceA-policy-bandwidth-profile-profile_websvr] bandwidth maximum-bandwidth whole downstream 40000
[DeviceA-policy-bandwidth-profile-profile_websvr] quit

第七步,针对内网Web服务器开启公网IP地址匹配功能:

[DeviceA-policy-bandwidth] public-ip destination match enable

第八步,为内网Web服务器配置带宽策略:

[DeviceA-policy-bandwidth] rule name policy_websvr
[DeviceA-policy-bandwidth-rule-policy_websvr] source-zone untrust
[DeviceA-policy-bandwidth-rule-policy_websvr] destination-zone dmz
[DeviceA-policy-bandwidth-rule-policy_websvr] destination-address 1.1.1.6 32
[DeviceA-policy-bandwidth-rule-policy_websvr] action qos profile profile_websvr
[DeviceA-policy-bandwidth-rule-policy_websvr] quit

检查配置结果

在DeviceA上执行命令display bandwidth-policy statistic查看带宽策略统计信息,其中Rcv-Rate,Pass-Rate分别为限流前每秒接收到的报文字节数和限流后每秒接收到的报文字节数:

<DeviceA> display bandwidth-policy statistic bandwidth whole upstream rule policy_websvr
Bandwidth Statistic:                                               
Codes: PP(Passed Packets), PB(Passed Bytes), DP(Drop Packets), DB(Drop Bytes)    
------------------------------------------------------------------------------------ 
Policy          Profile       PP     PB    DP     DB     Rcv-Rate    Pass-Rate             
------------------------------------------------------------------------------------ 
policy_websvr  profile_websvr 3141  34480  63321   815088   2592704   38905           
------------------------------------------------------------------------------------ 

判读要点:表中 Rcv-Rate 与 Pass-Rate 分别对应限流前、限流后每秒的报文字节数,两个数一对比就能看出这一档策略压掉了多少流量;DP、DB 则是已被丢弃的报文数和字节数。

配置脚本

#                                                                               
sysname DeviceA           
#                                                                               
interface GE0/0/1 
 ip address 1.1.1.1 255.255.255.0
#                                                                               
interface GE0/0/2
 ip address 10.2.0.1 255.255.255.0
#                                                                               
interface GE0/0/3
 ip address 10.3.0.1 255.255.255.0
#                                                                               
firewall zone trust                                                             
 set priority 85                                                                
 add interface GE0/0/3
#                                                                               
firewall zone untrust                                                           
 set priority 5                                                                 
 add interface GE0/0/1
#        
firewall zone dmz    
 set priority 50     
 add interface GE0/0/2
#                                                                               
security-policy
 rule name policy_sec1
  source-zone trust 
  destination-zone untrust
  action permit
 rule name policy_sec2
  source-zone untrust 
  destination-zone dmz
  action permit
#                                                                               
bandwidth-policy                                                                  
 public-ip destination match enable                                     
 public-ip source match enable
 profile name profile_surf                                                           
  bandwidth maximum-bandwidth whole upstream 60000   
  bandwidth maximum-bandwidth whole downstream 60000                          
 profile name profile_websvr                                                         
  bandwidth maximum-bandwidth whole upstream 40000    
  bandwidth maximum-bandwidth whole downstream 40000                         
 rule name policy_surf                                                          
  source-zone trust                                                             
  destination-zone untrust
  source-address range 1.1.1.2 1.1.1.5                                          
  action qos profile profile_surf                                               
 rule name policy_websvr                                                        
  source-zone untrust                                                           
  destination-zone dmz                                                          
  destination-address 1.1.1.6 255.255.255.255                                                
  action qos profile profile_websvr                                             

命令行侧的对应关系很直观:public-ip source match enablepublic-ip destination match enable 是按公网地址匹配的两个开关,bandwidth maximum-bandwidth whole upstream/downstream 就是每个通道的上下行上限,action qos profile 把策略和通道挂到一起。

注意事项

  • 限制的是整体带宽:两条带宽通道配的都是 whole(整体)上限,所有命中该策略的流量共享这一档,不是按单个用户或单台服务器限速——这正是"基于公网地址"的控制粒度。
  • 上下行同限:profile_surf 上下行都配 60000、profile_websvr 上下行都配 40000,对应配置思路里 60Mbps 与 40Mbps 两档。
  • 先放行再限速:带宽策略作用在安全策略放行的流量上,policy_sec1、policy_sec2 两条放行规则是前提,实际组网中按需做更细的放行控制。
  • 接口归属:GE0/0/1 归 untrust(出口)、GE0/0/2 归 dmz(Web 服务器区)、GE0/0/3 归 trust(内网用户),在既有 NAT 组网上直接叠加这套带宽策略即可。

出口带宽这种事配一次不等于管到底,线路升速、业务变化都要回头调整分档,没有专人盯网络的贵州企业,可以把这项工作挂给诚鑫致达科技当例行运维项来跑。各厂商设备的命令与默认参数存在差异,本文步骤与命令均出自华为官方文档,操作前请核对你的设备型号与软件版本。

源:华为USG防火墙6000F-S官方文档