示例:使用监管器管理超额订阅
您可能希望在接口超额订阅时使用监管器,并且您希望控制发生拥塞时会发生什么情况。例如,您可能将服务器连接到交换机,如 中 表 1所列。
服务器类型 |
连接 |
IP地址 |
---|---|---|
网络应用服务器 |
1 千兆接口 |
10.0.0.1 |
身份验证服务器 |
1 千兆接口 |
10.0.0.2 |
数据库服务器 |
10 千兆接口 |
10.0.0.3 |
在此示例中,用户访问网络应用程序服务器提供的服务,网络应用程序服务器根据需要从数据库服务器请求信息。当网络应用程序服务器收到来自用户的请求时,它首先与认证服务器联系以验证用户的凭据。对用户进行认证并且网络应用程序服务器提供所请求的服务时,从数据库服务器发送到应用程序服务器的所有数据包都必须通过连接到应用程序服务器的 1 千兆以太网接口两次 — 一次在入口到应用程序服务器时,另一次在出口到用户时。
用户会话的事件顺序如下:
用户连接到应用程序服务器并请求服务。
应用程序服务器请求用户的凭证并将其中继到认证服务器。
如果认证服务器验证了凭证,那么应用程序服务器将启动请求的服务。
应用程序服务器从数据库服务器请求满足用户请求所需的文件。
数据库服务器将请求的文件发送到应用程序服务器。
应用程序服务器在其对用户的响应中包含请求的文件。
从数据库服务器到应用程序服务器的流量可能会拥塞应用程序服务器连接到的 1 千兆位接口。此拥塞可能会阻止服务器响应用户的请求并为其创建新会话。您可以使用监管来确保不会发生这种情况。
要创建此防火墙配置,请在数据库服务器上执行以下步骤:
创建一个监管器,以便在流量超过特定限制时丢弃从数据库服务器到应用程序服务器的流量:
[edit firewall] user@switch# set policer Database-Egress-Policer if-exceeding bandwidth-limit 400 burst-size-limit 500m user@switch# set policer Database-Egress-Policer then discard
创建过滤器以检查从数据库服务器到应用程序服务器的流量:
[edit firewall] user@switch# edit family inet filter Database-Egress-Filter
配置过滤器以将监管器应用于从数据库服务器出口并发往应用程序服务器的流量:
[edit firewall family inet filter Database-Egress-Filter] user@switch# set term term-1 from destination-address 10.0.0.1 user@switch# set term term-1 then policer Database-Egress-Policer
如果需要,请配置一个术语以允许从数据库服务器到其他目标的流量(否则,隐式拒绝语句将丢弃该流量):
[edit firewall family inet filter Database-Egress-Filter] user@switch# set term term-2 then accept
请注意,省略
from
语句会导致术语匹配所有数据包,这是所需的行为。将出口过滤器作为输出过滤器安装在连接应用程序服务器的数据库服务器接口上:
[edit interfaces] user@switch# set xe-0/0/3 unit 0 family inet filter output Database-Egress-Filter
以下是最终配置的显示方式:
firewall { policer Database-Egress-Policer { if-exceeding { bandwidth-limit 400; burst-size-limit 500m; } then discard; } family inet { filter Database-Egress-Filter { term term-1 { from { destination-address { 10.0.0.1/24; } } then policer Database-Egress-Policer; } term term-2 { # If required, include this term so that traffic from the database server to other destinations is allowed. then accept; } } } ]