防火墙智能选路结合DNS透明代理实现流量负载分担

2018年11月06日讲师:张老师浏览:8462次

实验需求: 某公司在网络边界部署了一台防火墙,为了实现互联网访问,并且保证出口链路冗余,在边界处连接了两个不同的运营商。 现要求在防火墙上通过策略实现将流量负载分担到每条链路上。并对于不同运营商的流量,实现就近选路分别从各运营商链路发送。对于目的不明的流量通过全局智能选路方式将流量分担到各运营商,并在实现DNS解析时,能够实现将流量负载分担到不同运营商。 实验拓扑: 实验步骤: 1、 按上图所示,在路由器上将所有基础配置包括IP地址及路由协议,防火墙上包括IP地址及安全区域进行配置。防火墙上不需要配置OSPF。 2、 路由优化,在R1、R2上分别配置静态路由指向公司内网,并且将此静态路由引入到ospf中(此处因为没有在防火墙上配置NAT技术,所以需要在SP侧配置静态路由实现到内网的连通性)。 3、 为了实现不同运营商流量分别进入不同的运营商,此处通过ISP选路来实现。 如图所示,导入不同的运营商地址。 按照自己的需求分别导入不同的运营商地址池。 在出接口下配置SP选路策略,针对不同的出接口做不同的配置 配置完成以后会在防火墙路由表中多出两条UNR路由: 此时在pc1上进行测试: 发现去往不同运营商的流量负载到不同的链路上: 到此完成第一个需求。 4、 对于目的不明的流量,需要通过智能选路负载到不同的运营商。此处需要在防火墙上配置两条静态的默认路由分别指向isp1和isp2. 此处通过权重值选路方式进行流量负载。 在三台pc1上分别去ping R3的3.3.3.3地址,查看流量的负载情况。 与此同时,我们分别在SP链路上重新进行抓包,查看流量负载情况。 通过上图发现,流量的均衡比与我们前面设置的权重值比一致,两条链路流量分担比为2:1。实现我们的需求。 5、 对于去往不同运营商的web流量,我们要实现负载分担,分担方式与智能选路权重比一致。 我们先在R1和R2上配置DNS。 R1配置命令如下: dns resolve ##开启DNS功能 dns proxy enable ##开启DNS代理功能 ip host www.ruitong.com 3.3.3.3 ##配置DNS记录,将www.ruitong.com映射到3.3.3.3这个地址。 R2配置命令如下: dns resolve ##开启DNS功能 dns proxy enable ##开启DNS代理功能 ip host www.ruitong.com 33.33.33.33 ##配置DNS记录,将www.ruitong.com映射到33.33.33.33这个地址。 在没有开启DNS代理时,我们在PC上进行测试。(测试前,在防火墙上要放行DNS流量) 在不同的PC上指定不同的DNS地址,测试发现DNS解析结果完全与DNS地址指定的结果相一致。 6、 接下来开启DNS代理功能,对所有流量都做DNS代理。 配置DNS服务器地址,当从不同的出接口发送流量时,会进行DNS地址的替换。 接下来,分别在PC上重新配置DNS地址。这里的地址可以是任意的地址。 6.6.6.6地址是一个不存在的地址,因为我们在防火墙上配置了默认路由,所以在防火墙路由时,会查看默认路由进行选路。 在不同的pc上进行测试,可以看到去往www.ruitong.com这个域名,最终依据权重比分别解析到了不同的地址上。 DNS报文分担情况结果如下: 并且根据报文发现,原本指向的DNS6.6.6.6,在经过防火墙转发后,DNS地址分别被替换成各出接口所对应的DNS地址。 到此,所有需求已经实现。 结论: 1、 防火墙可以通过ISP选路方法来实现在多出口选路时,将去往不同运营商的流量精确发送到各SP链路中,实现就近选路。 2、 在智能选路时,可以依据多种方式来进行选路,此实验中,使用的是权重比的方式。 3、 透明DNS可以结合智能选路,实现将去往运营商的DNS流量,负载分担到不同的运营商进行解析。负载比与智能选路方式有关。 注意: 文中在查看ICMP报文时,为什么只看ICMP-Request流量呢?因为此处我们主要解决的是多出口选路的问题,即流量在发送时如何选路。而ping工具发送的报文包含ICMP-request和ICMP-reply两种,出去的流量就是ICMP-request,所以只需要查看ICMP-request报文即可。
分享 32

您已经赞过了!