榆林市城乡建设规划局网站,网站开发结构有,wordpress图集主题,网站建设 后期维护学习防火墙之前#xff0c;对路由交换应要有一定的认识 NAT Server1.1.基本原理1.2.多出口场景下的NAT Server1.3.源进源出 ——————————————————————————————————————————————————
NAT Server
一般对用户提供一些可访问的… 学习防火墙之前对路由交换应要有一定的认识 NAT Server1.1.基本原理1.2.多出口场景下的NAT Server1.3.源进源出 ——————————————————————————————————————————————————
NAT Server
一般对用户提供一些可访问的服务这些服务器的地址一般都是私网地址公网用户是无法直接访问私网地址。源NAT是对私网用户访问公网的报文的源地址进行转换而服务器对公网提供服务时是公网用户向私网发起访问方向正好反过来了。于是NAT转换的目标也由报文的源地址变成目的地址。针对服务器地址转换称为NAT Server服务器映射。
——————————————————————————————————————————————————
1.1.基本原理
结合下图所示来看防火墙上的NAT Server是如何实现。
NAT Server也需要用到公网IP地址与源NAT不同的是NAT Server的公网IP地址不需要放到NAT地址池这个容器中直接使用即可。这里假设公网IP210.1.1.1。 配置的过程如下
[USG6000V2]nat server global 210.1.1.1 inside 192.168.100.1按照上述配置会将服务器上所有的服务项都发布到公网会带来严重风险华为防火墙支持配置指定协议的NAT Server只将服务器上特定的服务项对公网发布可以按照如下方式将服务器上的80端口映射为9980端口供公网用户使用。
nat server protocol tcp global 210.1.1.1 9980 inside 192.168.100.1 80这里将80端口转换成9980端口而不是转换成80端口是因为一些地区的运营商默认会阻断80、8000、8080端口业务而导致业务失败。
NAT Server配置完也会生成server-map但是是静态的不需要报文来触发只有配置被删除server-map才会清除。 Server-map表项和之前一样都存在正向和反向。不论是正向和反向都仅只是实现地址转换。而不像ASPF的Server-map表项打开一个可以绕过安全策略检查的通道。所以无论公网用户要访问私网服务器还是私网服务器主动访问公网时都需要配置安全策略。
这里有个经典的问题NAT Server场景下为了让公网用户能够访问私网服务器配置安全策略时策略的目的地址是服务器的私网地址还是公网地址
当公网用户通过210.1.1.19980访问私网服务器时防火墙收到报文的首包首先查找匹配到Server-map表项将报文的目的地址和端口转换为192.168.100.180。然后根据目的地址查找路由找到出接口。根据入接口和出接口所处的区域判断报文在那两个安全区域流动进行区域安全策略检查。
因此配置安全策略策略的目的地址应配置为服务器私网地址而不是服务器对外映射的公网地址。
安全策略配置
security-policyrule name Nat_Sersource-zone untrustdestination-zone trustdestination-address 192.168.100.0 mask 255.255.255.0service httpaction permit报文通过安全检查后会建立如下会话表并将报文转发到私网服务器。 之后服务器对公网用户的请求做出响应响应到达防火墙后匹配上面的会话表防火墙将报文的源地址和源端口转换为210.1.1.19980而后发送至公网。公网用户和私网服务器交互后续报文。防火墙都会直接根据会话表对其进行地址和端口转换而不会再去查找Server-map表项。
配置黑洞路由 NAT Server也需要配置黑洞路由
ip route-static 210.1.1.1 32 NULL 0——————————————————————————————————————————————————
1.2.多出口场景下的NAT Server
与源NAT相同NAT Server也面临多出口问题。如图通过ISP1和ISP2两条链路连接internet将私网服务器提供给Internet上的用户访问。 防火墙作为出口网关双出口、双ISP接入公网时NAT Server配置通常需要一分为二让一个私网服务器向两个ISP发布两个不同的公网地址供公网用户访问。一分为二方法有两种
方法1将接入不同ISP的公网接口规划在不同安全区域中配置NAT Server时带上Zone参数使同一个服务器向不同安全区域发布不同的公网地址。 配置过程假设私网服务器对ISP1发布公网地址110.1.1.1对ISP2发布的公网地址是210.1.1.1。
interface GigabitEthernet1/0/1 ip address 110.1.1.1 255.255.255.0
interface GigabitEthernet1/0/0ip address 210.1.1.1 255.255.255.0
interface GigabitEthernet1/0/2ip address 192.168.10.254 255.255.255.0firewall zone trustadd interface GigabitEthernet1/0/2firewall zone name ISP1set priority 10add interface GigabitEthernet1/0/1
firewall zone name ISP2 set priority 20add interface GigabitEthernet1/0/0配置带有zone参数的NAT Servernat server zone ISP1 protocol tcp global 110.1.1.1 9980 inside 192.168.10.2 80nat server zone ISP2 protocol tcp global 220.1.1.1 9980 inside 192.168.10.2 80基于不同域间关系配置两条安全策略
security-policyrule name ISP1source-zone ISP1destination-zone trustdestination-address 192.168.10.2 mask 255.255.255.255action permitrule name ISP2source-zone ISP2destination-zone trustdestination-address 192.168.10.2 mask 255.255.255.255action permit黑洞路由
ip route-static 110.1.1.1 255.255.255.255 NULL0
ip route-static 210.1.1.1 255.255.255.255 NULL0配置完成后防火墙会生成如下Server-map表项 从Server-map表项可以看出正向和反向表项都已生成Internet用户通过正向Server-map表项就可以访问私网服务器。私网服务器通过反向Server-map也可以主动访问Internet。
推荐在网络规划时把防火墙与ISP1和ISP2两个接口分别加入到不同的安全区域然后规划带有ZONE参数的NAT SERVER功能。
如果两个接口在同一区域如Untrust并且现实情况不允许调整那么还有另外一种配置方法。
方法二配置NAT Server时候带上No-revers参数使同一个服务器向外发布两个不同的公网地址。 为了保证可以正常配置NAT Server功能必须使用no-reverse参数。
nat server 0 protocol tcp global 110.1.1.1 9980 inside 192.168.10.2 www no-reverse
nat server 1 protocol tcp global 210.1.1.1 9980 inside 192.168.10.2 www no-reverse配置完成后防火墙生成如下Server-map表项 从会话看出只生成了正向表项Internet上的公网用户通过正向表项可以访问私网服务器。但是如果私网服务器想要主动访问Internet因为没有了反向表项就必须在Trunst------Untrust域间配置源NAT策略。
如果在同一区域不带No-reverse参数直接配置两条NAT SERVER命令压根就不能同时下发。 思考下假如这两条命令能同时下发分两次下发。 第一条反向表将报文源地址192.168.10.2转换为110.1.1.1第二条反向表将源地址192.168.10.2转换为210.1.1.1如果同时下发后防火墙既可以将报文源地址由192.168.10.2转换为110.1.1.1又可以将源地址192.168.10.2转换为210.1.1.1于是防护墙凌乱了。这就是命令不带No-reverse参数同时下发出现的问题。如果带上no-reverse参数就不会生成反向Server-map表项。
总结 多出口下两个接口分别配置两个区域配置NAT Server时配置zone参数生成静态server-map表项包含正向和反向能区分反向的区域。 多出口下两个接口同时配置一个区域配置NAT Server时配置no-reverse参数生成静态server-map表项只包含正向无法区分反向的区域。
——————————————————————————————————————————————————
1.3.源进源出
上面介绍了NAT Server一分为二的配置方法根据防火墙与ISP1和ISP2相连的2个接口是否加入到不同的安全区域选择带有ZONE参数或带有No-Reverse参数来配置NAT Server。除此之外双出口环境中还需要考虑两个ISP中的公网用户使用哪个公网地址访问私网服务器的问题。 例如ISP1网络中的公网用户如果通过防火墙发布了ISP2的公网地址来访问私网服务器或者ISP1的公网用户访问服务器后从ISP2回包的基本就属于绕路了。而且有时候两个ISP之间由于利益冲突可能会存在无法互通的情况就会导致访问过程很慢或干脆不通。
如第一种情况要求我们向两个ISP中的公网用户告知公网地址时避免两个ISP中的公网用户使用非本ISP的公网地址访问私网服务器。即对于ISP1的用户就让其使用防火墙发布给ISP1的公网地址来访问私网服务器对于ISP2的用户就让使用防火墙发布的ISP2公网地址来访问。
第二种情况就是上图情况ISP1中的公网用户通过防火墙发布给ISP1的公网地址访问私网服务器报文从防火墙G1/0/1进入私网服务器回应报文到达防火墙后虽然匹配了会话表并进行地址转换但还是要根据目的地之查找路由来确定出接口。如果防火墙没有配置到该公网用户的明细路由只配置了缺省路由就可能会导致回应报文从连接ISP2的链路G1/0/0接口发出该报文在ISP2的网络中传输时凶多吉少有可能会变慢也可能干脆就不能回到公网用户处访问就会中断。
为了解决这个问题可以在防火墙配置明细路由让防火墙严格按照ISP1和ISP2各自的公网地址来选路。但ISP1和ISP2的公网地址数量很大配置起来不太现实。为此防火墙提供了源进源回或源进源出功能即请求报文从某条路径进入响应报文依然沿着同样的路径返回而不用查找路由表来确定接口保证了报文从一个接口进出。
源进源回功能在接口上配置防火墙连接ISP1和ISP2的两个接口上都需要配置。假设ISP1提供的下一跳接口是110.1.1.254ISP2提供的下一跳接口210.1.1.254
interface GigabitEthernet1/0/1
redirect-reverse next-hop 110.1.1.254
interface GigabitEthernet1/0/0
redirect-reverse next-hop 210.1.1.254其他根据版本不同所使用的命令
reverse-route nexthop 110.1.1.254gateway 110.1.1.254
reverse-route enable