0 特别说明
之前博客分享过,但是没汇总到公众号,这里在发布下,虽然早期写的实战文章,有些技术、设备、配置代码现在更新了,但是对于常见的组网思路构建还是很有帮助的,希望对大家有帮助。(觉得有帮助可以点点赞、转发下)
某公司的网络架构,这样的架构在目前的网络中是在常见的,假设您接收一个这样的网络,应该如何部署,该实战系列,就是一步一步讲解,如何规划、设计、部署这样一个环境,这里会针对不同的情况给出不同的讲解,比如拓扑中有2个ISP,假设客户需求是,想实现主备的效果,又或者是想负载分担。DHCP部署在防火墙上面或者是单独的服务器上面又该如何配置部署。
2 源进源出功能
之前部署过NAT Server功能,但是存在这么一个问题,比如用户访问的联通的公网地址服务,通过映射到内网服务,服务器响应回包,达到防火墙的时候,防火墙会查询路由表,由于是两条默认路由,防火墙会随机选择一条发送出去,这样就有可能会导致,从联通的出口进来,从电信的出口出去,导致访问过慢或者直接丢包的情况发生。(注意模拟器的防火墙5500不支持该功能,USG6000V支持)
[USG-GW]int g0/0/1
[USG-GW-GigabitEthernet0/0/1] reverse-route nexthop 202.100.1.1
[USG-GW]int g0/0/2
[USG-GW-GigabitEthernet0/0/2] reverse-route nexthop 61.128.1.1
(该功能不依赖默认路由,它的作用就是当数据包从这个接口进来,它出去的时候还是从这个接口出去,源进源出)
3 NAT Server测试
说明:之前部署了NAT Server功能,并且转换了2个地址,提供了对应WWW服务与FTP服务。目前用外网进行测试。
没看之前的文章的童鞋,可以点击这里
10、【实战中提升自己】华为 华三中小型企业网络架构搭建 【防火墙篇之安全策略与NAT部署】
4 内网测试是否正常
说明:可以看到2个服务都已经正常了。
外网PC访问对应服务【电信】
防火墙是有对应的NAT会话信息了,
WEB正常 FTP访问不了
外网PC访问对应服务【网通】
还是以公网地址充当外网访问的角色。
一样无法打开。
5 问题:为什么HTTP访问,而FTP却访问失败。
说明:因为HTTP是单信道协议,而FTP则是多信道协议,而分为主动与被动模式,它会根据不同的模式在应用层动态的协商一个端口号与地址,所以导致NAT后,地址变化了,但是应用层的地址防火墙没有感知到,导致访问失败。
解决办法:【开启应用层网关功能 ALG】 [USG-GW]firewall interzone trust isp_dx [USG-GW-interzone-trust-isp_dx]detect ftp
[USG-GW]firewall interzone trust isp_lt [USG-GW-interzone-trust-isp_lt]detect ftp 说明:该配置就是开启了应用层网关功能,在trust到2个ISP之间。注意这个不区分方向的 双向开启。
可以看到开启后,2个地址都可以正常访问了。
扩展:如果映射了PPTP服务器的话,也会出现问题。 说明:PPTP服务器除了映射端口号以外,它还会封装GRE,如果不是一对一的转换,则会出现问题,所以解决办法还是跟上面一样,在里面监控PPTP即可。
6 工程中常见问题:如何使用公网IP或者域名访问内部服务器。
说明:在工作当中,往往需要访问服务器,并且又对外提供了服务,这样的话,会让客户记住2个IP,一个内网访问的,一个外网访问的,这样非常不方便,也对于不懂IT技术的人来说不可行。所以我们希望的是,通过外网IP或者域名直接访问。
默认情况下用内网地址访问是没任何问题的。
7 解决办法
1、定义地址池 [USG-GW]nat address-group 5 200.1.1.1 200.1.1.1
2、定义域内NAT [USG-GW]nat-policy zone trust
说明:地址池的地址可以随意定义的,然后调用在域内NAT里面。如果是平时的话这里就可以结束了,可以正常访问了,但是在这个环境中还不行。
3、在双ISP+策略路由的情况下特别需要注意的地方。 (1)问题:双ISP绑定了Zone 说明:上面那2个配置只适合没有绑定Zone的,也就是在输入时没有加入对应的Zone参数,没加的话属于任何一个Zone都可以,如果加了则只处理该Zone的数据包转换,而之前定义的都是绑定了出口ISP的,所以只能转换从2个ISP来的流量,而内部来的则不能正常转换。这样会导致失效。 解决办法:no-reverse
加了两条绑定Trust Zone的,这样的话就可以处理Trust来的转换了,实际就是在域内直接转换了。这里只给出了WWW的,FTP的就不演示了,注意同一个Zone是需要加no-reverse参数的,否则配置不上。 4、策略路由影响 分析:如果在平时的话,上面3个配置绝对可以解决问题了,但是,在这个环境下,我们还部署了一个策略路由,策略路由是优先于NAT转换的,也就是说,它会按照策略路由指定的下一跳转发,那么导致的情况是,本来已经转换成功了访问,但是策略路由交给的下一跳是丢给ISP的,而不是服务器。
8 解决办法:
1、定义新的ACL
[USG-GW]acl number 3001
[USG-GW-acl-adv-3001]rule deny ip source 192.168.0.0 0.0.255.255 destination 192.168.88.251 0
[USG-GW-acl-adv-3001]rule permit ip source 192.168.19.0 0.0.0.255
[USG-GW-acl-adv-3001]rule permit ip source 192.16.21.0 0.0.0.255
[USG-GW]acl number 3002
[USG-GW-acl-adv-3002]rule deny ip source 192.168.0.0 0.0.255.255 destination 192.168.88.251 0
[USG-GW-acl-adv-3002]rule permit ip source 192.168.20.0 0.0.0.255
说明:ACL从标准的变为了扩展的,可以看到先是deny掉了,当192.168.0.0访问服务器的时候做转换,平时肯定是直接通过三层交换机进行转换了,没经过防火墙,但是做域内NAT的话,其实就是在防火墙的入接口上面做了一下转换,但是在入接口上面又调用了策略路由,之前的话是匹配了直接交给ISP,这样的话导致本来正常转换了的数据包,想发送给服务器,但是由于策略路由的存在,就强行的发送给ISP了,所以这里deny掉,就是让它正常按路由表转发,而不受策略路由的控制。
2、策略路由改动【把ACL调用为修改后的】
3、应用入接口(不在演示)
4、FTP的需要注意的地方。 除了之前的NAT Server在Trust定义以外,还需要调用一个应用层监控,因为之前是在域间转换的,所以在域间调用了ALG功能,但是这次是域内转换,所以需要再次 监控。 [USG-GW]firewall zone trust [USG-GW-zone-trust]detect ftp
9 结果测试
可以看到通过IP地址可以正常访问了,当然通过域名的方式也是可以的,这里就不搭建环境测试了。
10 总结
可以看到策略、NAT 双ISP的情况出现,需要考虑的因素会非常多,比如策略需要考虑需求,要结合NAT、时间策略等因素进行部署,达到效果,源NAT没什么需要太多注意的地方,但是NAT Server的需要注意几点,如果是同一个zone的话,必须加no-resver参数,不同Zone可以不加。而双ISP的存在,需要考虑到路由的切换,检测机制,跟策略路由的部署,这里策略路由的ACL强烈建议用扩展ACL,因为可以看到如果需求有变化的话,标准ACL立马显得无奈,只有扩展的才能更好的匹配。最后是如果部署需要通过公网IP或者域名访问公司内部服务器的话,则必须部署域内NAT。但是有绑定Zone跟策略路由的情况下,需要非常注意。最后就是NAT的ALG功能,对于多信道的协议必须开启应用层监控功能,否则NAT识别不了,常见的比如FTP、PPTP、QQ等都有,如果发现该应用工作不正常,则加入ALG功能即可