配置DNS透明代理和全局选路策略实现上网流量的负载分担

发布时间 2023-11-10 15:24:04作者: 人生苦短,知足常乐!

Web举例:配置DNS透明代理和全局选路策略实现上网流量的负载分担

介绍通过DNS透明代理和全局选路策略实现上网流量负载分担的配置举例。

组网需求

图1所示,企业分别从ISP1和ISP2租用了一条链路,ISP1链路的带宽为100M,ISP2链路的带宽为50M。ISP1的DNS服务器地址为8.8.8.8和8.8.8.9,ISP2的DNS服务器地址为9.9.9.8和9.9.9.9。一般情况下,企业内网用户的客户端都会配置为一个相同的DNS服务器地址,此用例假设配置为10.2.0.70。

  • 企业希望10.3.0.0/24网段内网用户的上网流量按照2:1的比例分配到ISP1和ISP2链路,保证各条链路得到充分利用且不会发生拥塞,提升内网用户的上网体验。

  • 内网用户访问域名www.example.com时,不做DNS透明代理,但是要在指定的DNS服务器(8.8.8.10)上解析该域名对应的Web服务器地址。

  • 当一条ISP链路过载(阈值为90%)时,可以使用另一条ISP链路进行流量转发。

图1 企业内网用户访问DNS服务器

配置思路

通过在FW上配置DNS透明代理功能,可以使内网用户的DNS请求报文按照2:1的比例分配到ISP1与ISP2的DNS服务器上。DNS透明代理功能处理DNS请求报文时,使用出接口上绑定的DNS服务器地址替换报文的目的地址,出接口的选择需要利用智能选路功能,由于企业希望上网流量能够根据带宽比例(2:1)进行分配,所以智能选路的方式设置为根据链路带宽负载分担,本例中配置全局选路策略。为了保证上网流量不会绕道其他ISP,而是直接通过目的地址所在ISP网络到达Web服务器,需要配置ISP选路功能。

  1. 可选:配置健康检查功能,分别为ISP1和ISP2链路配置健康检查。
  2. 配置接口的IP地址、安全区域、网关地址、带宽和过载保护阈值,并在接口上应用健康检查。

  3. 配置ISP选路功能。制作isp1.csv和isp2.csv两个ISP地址文件,并上传到FW上。

  4. 配置DNS透明代理功能。在出接口上绑定DNS服务器地址,配置DNS透明代理策略来指定做DNS透明代理的流量,并配置要排除的域名。

  5. 配置全局选路策略。配置智能选路方式为根据链路带宽负载分担,并指定FW和ISP1、ISP2网络直连的出接口作为智能选路成员接口。

  6. 配置基本的安全策略,允许企业内网用户访问外网资源。

本例着重介绍智能选路相关的配置,其余配置如NAT请根据实际组网进行配置。

此场景下流量是否能进行过载切换,依赖DNS透明代理的DNS解析结果。

操作步骤

  1. 配置ISP1和ISP2链路的健康检查功能。

     

    选择对象 > 健康检查”,在“健康检查列表”区域单击“新建”,完成下图配置。

     

    DNS透明代理功能和智能选路一起配合使用且需要同时启用DNS透明代理的健康检查和智能选路接口下的健康检查时,智能选路接口下的健康检查探测目的地址需要配置为接口绑定的DNS服务器地址,探测协议配置为DNS,以确保两处健康检查结果一致,接口链路在正常状态下可以始终支持DNS代理,避免因为DNS请求失败导致业务访问失败。

    如果健康检查配置完后,状态一直为down,请检查健康检查的配置。

     

  2. 配置接口的IP地址和网关地址,以及接口所在链路的带宽和过载保护阈值,并应用对应的健康检查。

     

    选择网络 > 接口”,单击待配置的接口所在行的,并做如下配置。





     

  3. 配置DNS透明代理。

     

    1. 选择网络 > DNS > DNS”,单击“DNS透明代理”页签,并做如下配置。

       

      接口绑定DNS服务器时,启用“健康检查”。

       

       

       

    2. 单击“应用”。
    3. 配置内网用户访问域名www.example.com时,不做DNS透明代理,但是要在指定的DNS服务器(8.8.8.10)上解析该域名对应的Web服务器地址。
    4. 配置DNS透明代理策略。

     

  4. 配置ISP选路。

     

    1. 选择网络 > 路由 > 智能选路”,单击“运营商地址库”页签,上传ISP地址文件到FW。

    2. 选择网络 > 路由 > ISP路由”,单击“新建”页签,配置ISP选路。

       

     

  5. 配置全局选路策略,流量根据链路带宽负载分担。并将GigabitEthernet 0/0/1和GigabitEthernet 0/0/5加入出接口列表。

     

    选择网络 > 路由 > 智能选路”,在“全局选路策略列表”区域,单击“配置”。

     

     

  6. 配置安全策略。

     

    1. 选择策略 > 安全策略 > 安全策略”。

    2. 单击“新建安全策略”,按如下参数配置从trust到untrust方向的安全策略,允许业务报文通过。配置完成后单击“确定”。

      名称

      service

      源安全区域

      trust

      目的安全区域

      untrust

      源地址/地区

      10.3.0.0/24

      动作

      允许

     

配置脚本

#
 isp name isp1 set filename isp1.csv 
 isp name isp2 set filename isp2.csv 
#
healthcheck enable
healthcheck name isp1_health
 destination 8.8.8.8 interface GigabitEthernet 0/0/1  protocol dns 
 destination 8.8.8.9 interface GigabitEthernet 0/0/1  protocol dns 
healthcheck name isp2_health
 destination 9.9.9.8 interface GigabitEthernet 0/0/5  protocol dns
 destination 9.9.9.9 interface GigabitEthernet 0/0/5  protocol dns 
#
interface GigabitEthernet 0/0/1
 ip address 1.1.1.1 255.255.255.0
 healthcheck isp1_health
 gateway 1.1.1.254
 bandwidth ingress 100000 threshold 90
 bandwidth egress 100000 threshold 90
#
interface GigabitEthernet 0/0/5
 ip address 2.2.2.2 255.255.255.0
 healthcheck isp2_health
 gateway 2.2.2.254
 bandwidth ingress 50000 threshold 90
 bandwidth egress 50000 threshold 90
#                             
interface GigabitEthernet 0/0/3                  
 ip address 10.3.0.1 255.255.255.0
#
firewall zone trust
 set priority 85
 add interface GigabitEthernet 0/0/3
#
firewall zone untrust
 set priority 5
 add interface GigabitEthernet 0/0/1
 add interface GigabitEthernet 0/0/5
#
 ip route-isp isp1 interface GigabitEthernet 0/0/1 nexthop 1.1.1.254
 ip route-isp isp2 interface GigabitEthernet 0/0/5 nexthop 2.2.2.254
#
security-policy
 rule name service
  source-zone trust
  destination-zone untrust
  source-address 10.3.0.0 mask 255.255.255.0
  action permit
#
multi-interface
 mode proportion-of-bandwidth
 add interface GigabitEthernet 0/0/1
 add interface GigabitEthernet 0/0/5
#
dns-transparent-policy
 rule name dns-transparent-policy
  source-address 10.3.0.0 mask 255.255.255.255
  action tpdns
 dns transparent-proxy enable
 dns server bind interface GigabitEthernet 0/0/1 preferred 8.8.8.8 alternate 8.8.8.9 health-check enable
 dns server bind interface GigabitEthernet 0/0/5 preferred 9.9.9.8 alternate 9.9.9.9 health-check enable
 dns transparent-proxy exclude domain www.example.com server preferred 8.8.8.10
 mode based-on-multi-interface
#
return

此文章转自:https://support.huawei.com/hedex/hdx.do?docid=EDOC1100149311&id=ZH-CN_TASK_0189686382