防火墙的ISP选路与DNS透明代理

​ISP选路

ISP选路功能也称为运营商地址库选路功能,当FW作为出口网关设备连接多个ISP网络时,通过ISP选路功能可以使访问特定ISP网络的流量从相应出接口转发,保证流量转发使用最短路径,提高转发效率。

如下图所示,FW拥有两条属于不同ISP网络的出口链路。当内网用户访问ISP2中的Server2时,如果FW上存在等价路由,则FW可以通过路径1和路径2两条不同的路径到达Server2。其中,路径2显然不是最优路径,路径1才是用户所期望的路径。

配置ISP选路功能后,当内网用户访问Server1或Server2时,FW会根据目的地址所在ISP网络选择相应的出接口,从而使访问流量通过最短路径到达服务器。

ISP选路的原理

ISP选路是基于ISP路由的选路方式,通过批量生成到运营商网络的ISP路由实现访问特定ISP网络的报文都从相应的出接口转发。

ISP选路可以单独使用,也可以结合其他智能选路功能一起使用,具体的

使用场景分类如表1所示:

表1 ISP选路场景分类

分类

使用场景

ISP选路场景

如果用户希望访问特定ISP网络的流量从相应出接口转发,不会绕道其他ISP,可以配置ISP选路功能。

ISP选路+策略路由组合场景

如果用户希望根据报文目的地址所属ISP网络选择相应的出接口,并根据多出口策略路由进行智能的选路,实现链路资源的合理利用,可以使用该场景。

ISP选路+全局选路策略+DNS透明代理组合场景

当内网用户通过域名访问Web服务器时,可以使用该场景。通过配置DNS透明代理,可以使DNS请求报文根据选择的出接口,修改DNS请求报文的目的地址(DNS服务器地址)。通过配置ISP选路和全局选路策略,FW根据报文目的地址所属ISP网络选择相应的出接口,并根据全局选路策略,实现链路资源的合理利用。

ISP选路功能可以配合健康检查功能一起使用,保证流量不被转发到故障链路上。当健康检查的结果显示链路故障时,对应的ISP路由表项将被删除,所以流量不会命中该条路由,也就避免被转发到故障链路上。当链路状态恢复正常时,对应的ISP路由表项将重新生成,流量即可按此路由进行转发。

DNS透明代理

一般来讲,企业内网用户的客户端都会配置一个相同的DNS服务器地址,而DNS服务器通常会将域名解析成自己所在ISP内的Web服务器地址,这将导致内网用户的上网流量都集中在一个ISP的链路上转发,最终可能会造成链路拥塞,影响用户的上网体验。同时,由于其他ISP的链路资源没有被使用,也造成了资源的浪费。

为了解决上述问题,可以使用DNS透明代理功能。对于命中DNS透明代理策略的DNS请求报文,FW会根据DNS请求报文选择的出接口,修改请求报文的目的地址(DNS服务器地址),即将其修改为其他ISP内的DNS服务器地址,DNS请求被转发到不同的ISP,解析后的Web服务器地址也就属于不同的ISP,所以上网流量将通过不同的ISP链路转发,充分利用了所有链路资源。

DNS透明代理策略

管理员通过DNS透明代理策略来定义哪些DNS请求报文需要做DNS透明代理。DNS透明代理策略的具体规则如下:

  • 匹配条件只有DNS请求报文的源地址和目的地址,且均为可选,如果不选,默认为any,表示该DNS透明代理策略与任意DNS请求报文匹配,并执行配置的动作。

  • 各个匹配条件之间是“与”的关系,只有报文的属性与各个条件必须全部匹配,才认为该报文匹配这条规则。

  • 一个匹配条件中如果可以配置多个值,多个值之间是“或”的关系,报文的属性只要匹配任意一个值,就认为报文的属性匹配了这个条件。

  • FW存在多条DNS透明代理策略时,DNS请求报文将按照策略的配置顺序依次进行匹配。

  • 只要匹配到其中一条策略,就按照此策略的动作进行处理,不再继续匹配剩余的其他策略。

此外,系统默认存在一条缺省DNS透明代理策略default,default位于策略列表的最底部,优先级最低,所有匹配条件均为any,动作为不代理。如果所有配置的策略都未匹配,则将匹配缺省DNS透明代理策略。

DNS透明代理处理流程

当内网用户访问某个域名时,DNS透明代理功能处理报文的流程如下图所示。

处理流程的详细说明如下:

1.DNS请求报文命中DNS透明代理策略后,对于需要做DNS透明代理的报文,FW首先判断待解析的域名是否为排除域名。

  1. 如果是排除域名,FW就不会做DNS透明代理;

  2. 如果不是排除域名,FW会为报文做一个DNS透明代理标记,此标记用于后续流程的判断。

  3. 对于排除域名,如果需要更换DNS服务器来解析该域名,则FW会将DNS请求报文的目的地址修改为指定DNS服务器的地址。

2.DNS请求报文根据智能选路或者普通静态/动态路由选路选择出接口。

说明:

DNS请求报文使用以下几种方法进行选路:

  • DNS透明代理自身配置的智能选路方式

  • 策略路由智能选路或全局选路策略

  • 普通静态/动态路由选路

优先级关系为:DNS透明代理自身配置的智能选路方式> 策略路由智能选路 > 全局选路策略 > 普通静态/动态路由选路。

3.当出接口上绑定了DNS服务器,且报文有DNS透明代理标记时,FW才会做DNS透明代理。两个条件中有一个不满足时,FW都不会做DNS透明代理

说明:

FW在每个出接口上最多绑定2个DNS服务器,一个为首选DNS服务器,一个为备用DNS服务器,它们都属于该出接口直连的ISP网络。

当FW决定DNS请求报文的出接口后,DNS透明代理功能优先使用首选DNS服务器的地址替换DNS请求报文的目的地址,只有当首选DNS服务器的状态为DOWN时,才使用备用DNS服务器的地址进行替换。

通过在DNS透明代理中配置健康检查,可以判断出接口上绑定的DNS服务器是否可用,如果首选DNS服务器和备用DNS服务器都不可用,则DNS透明代理不生效。

下面以下图为例对DNS透明代理过程进行举例说明。

  1. 当DNS请求报文到达FW时,FW首先进行DNS透明代理策略的匹配。

  2. 报文命中DNS透明代理策略后,FW根据路由查询结果选择一个出接口。

  3. FW使用出接口上绑定的DNS服务器地址替换DNS请求报文的目的地址。

  4. DNS服务器将解析后的Web服务器地址返给用户,此Web服务器和DNS服务器属于同一个ISP网络。

  5. 用户根据返回的地址访问Web服务器。此时需要结合ISP选路(基于ISP路由的选路)功能,使用户能够通过Web服务器所属的ISP网络进行访问,防止发生跨ISP网络访问的情况。

配置举例

如下图所示,企业分别从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链路进行流量转发。

配置思路

由于企业希望上网流量能够根据带宽比例(2:1)进行分配,所以智能选路的方式设置为根据链路带宽负载分担的全局选路策略。通过在FW上配置DNS透明代理功能,可以使内网用户的DNS请求报文按照2:1的比例分配到ISP1与ISP2的DNS服务器上。

为了保证上网流量不会绕道其他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. 配置基本的安全策略,允许企业内网用户访问外网资源。

操作步骤

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

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

说明:

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

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

动作

允许

  • 1
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值