到这里大家可能会问了,没有配置黑洞路由时,报文最终也会被丢弃,没啥问题啊?上面我们只是用了一个ping报文来演示这个过程,试想一下,如果公网上的捣乱分子利用成千上万的PC主动向NAT地址池地址发起大量访问,无数的报文就会在防火墙和路由器之间循环转发,占用链路带宽资源,同时防火墙和路由器将会消耗大量的系统资源来处理这些报文,就可能导致无法处理正常的业务。 所以,当防火墙上NAT地址池地址和公网接口地址不在同一网段时,必须配置黑洞路由,避免在防火墙和路由器之间产生路由环路。 那么如果NAT地址池地址和公网接口地址在同一网段时,还会有这个问题吗?我们再来验证一下。 首先,将防火墙和路由器互联的两个接口的掩码修改为24位,这样接口地址和NAT地址池地址就在同一网段了,然后去掉黑洞路由的配置,接下来在防火墙的GE0/0/1接口抓包,在公网PC执行ping 202.1.1.10 -c 1命令,查看抓包信息: 我们发现,只抓到了三个ARP报文和一个ICMP报文,公网PC访问NAT地址池地址的报文没有在防火墙和路由之间相互转发。梳理整个过程: 1、路由器收到公网PC访问NAT地址池地址的报文后,发现目的地址属于自己的直连网段,发送ARP请求,防火墙会回应这个ARP请求,前两个ARP报文就是来完成了这一交互过程的。然后路由器使用防火墙告知的MAC地址封装报文,发送至防火墙。 2、防火墙收到报文后,发现报文的目的地址和自己的GE0/0/1接口在同一网段,直接发送ARP请求报文(第三个ARP报文),寻找该地址的MAC地址(防火墙依然没有意识到该报文的目的地址是自己的NAT地址池地址)。但是网络中其它设备都没有配置这个地址,肯定就不会回应,最终防火墙将报文丢弃。 所以说,在这种情况下不会产生路由环路。但是如果公网上的捣乱分子发起大量访问时,防火墙将发送大量的ARP请求报文,也会消耗系统资源。所以,当防火墙上NAT地址池地址和公网接口地址在同一网段时,建议也配置黑洞路由,避免防火墙发送ARP请求报文,节省防火墙的系统资源。 下面是配置黑洞路由后的抓包信息,可以看到,防火墙没有再发送ARP请求报文:
还有一种极端情况,我们配置源NAT时,可以直接把公网接口地址作为转换后地址(easy-ip方式),也可以把公网接口地址配置成地址池地址。这样,NAT转换使用的地址和公网接口地址就是同一个地址了。在这种情况下,需要配置黑洞路由吗?我们来分析一下整个流程:防火墙收到公网PC的报文后,发现是访问自身的报文,这时候就取决于公网接口所属安全区域和Local安全区域之间的安全策略,安全策略允许通过,就处理;安全策略不允许通过,就丢弃。不会产生路由环路,也不需要配置黑洞路由。
如果我们在防火墙上配置了一条粗犷型的NAT Server,将私网Server全部发布到公网,如:
(责任编辑:电脑知识大全) |
- 上一篇:怎么使用路由器查看每个电脑的流量
- 下一篇:如何创建宽带连接