防火墙NAT策略

防火墙NAT策略

NAT概述

NAT技术是用来解决当今IP地址资源枯竭的一种技术,同时也是IPv4到IPv6的过渡技术,绝大多数网络环境中在使用NAT技术。
网络又分公网IP和私网IP之分,在公网中是不能存在私网IP路由的,因此NAT技术又能起到一定的安全特性

私网IP段有:
A类:10.0.0.0 - 10.255.255.255
B类:172.16.0.0 - 172.31.255.255
C类:192.168.0.0 - 192.168.255.255

NAT分类

在内外网的边界,流量有出、入两个方向,所以NAT技术包含源地址转换和目标地址转换两类。一般情况下,源地址转换主要用于解决内部局域网计算机访问Internet的场景;而目标地址转换主要用于解决Internet用户访问局域网服务器的场景,目标地址通常被称为服务器地址映射。

NAT No-PAT 类似于Cisco的动态转换,只转换IP地址,不转换端口号,属于一对一转换,不能节约公网IP地址,实际情况基本不用
NAPT(Network Address and Port Translation) 网络地址和端口转换,类似于Cisco的PAT转换,NAPT既转换源IP地址又转换源端口,转换后的IP不能是外网接口的IP,属于多对一转换,主要场景适用于内网大量用户需要上网,同时公网IP数量少的情况下
Easy IP 和NAPT一样,既转换源IP,又转换源端口,区别是只能此模式只能转换成公网出接口的公网IP地址,属于多对已转换,主要适用于没有额外的公网地址可用,看他的名字就知道配置非常简单
NAT Server 目标地址转换,可用根据目的IP地址转换也可以根据目的IP + Port来转换,主要适用于将内网服务器映射到公网上,使其公网用户可以访问到此服务器

因为NAT No-PAT使用场景及其少,这里就不在配置了,我也懒,少弄一个是一个!!!

配置NAPT策略

在这里插入图片描述
将trust区域的PC1、 PC2能访问到untrust区域的PC3、 PC4并且在untrust区域不能有私网IP路由

交换机LSW1配置

vlan batch 10 20 100	#创建VLAN
#配置接口类型并划入相应VLAN
interface GigabitEthernet0/0/1
 port link-type access
 port default vlan 10
interface GigabitEthernet0/0/2
 port link-type access
 port default vlan 20
interface GigabitEthernet0/0/3
 port link-type access
 port default vlan 100
 #配置PC网关 vlanif
interface Vlanif10
 ip address 172.16.1.254 255.255.255.0
interface Vlanif20
 ip address 172.16.2.254 255.255.255.0
interface Vlanif100
 ip address 192.168.100.2 255.255.255.252
 
 #交换机配置一条默认路由指向防火墙直连接口
 ip route-static 0.0.0.0 0.0.0.0 192.168.100.1

路由器 R配置

interface GigabitEthernet0/0/0
 ip address 200.1.1.2 255.255.255.0
interface GigabitEthernet0/0/1
 ip address 100.1.1.254 255.255.255.0

防火墙FW1

#配置接口IP地址以及放行 ping 包
interface GigabitEthernet1/0/0
 undo shutdown
 ip address 192.168.100.1 255.255.255.252
 service-manage ping permit
interface GigabitEthernet1/0/1
 undo shutdown
 ip address 200.1.1.1 255.255.255.0
 service-manage ping permit
 
#配置静态路由
ip route-static 172.16.1.0 24 192.168.100.2	#指向内部网络vlan10的路由 下一跳交换机直连接口
ip route-static 172.16.2.0 24 192.168.100.2	#指向内部网络vlan20的路由 下一跳交换机直连接口
ip route-static 0.0.0.0 0.0.0.0 200.1.1.2 #指向外网路由 下一跳路由器直连接口

#将接口划入相应的安全区域
firewall zone trust
	add interface GigabitEthernet 1/0/0
firewall zone untrust
	add interface GigabitEthernet 1/0/1

以上配置之后路由就打通了,测试一哈子,使用PC1 PING一下防火墙出口IP
在这里插入图片描述
防火墙配置NAPT策略

#配置NAT公网地址池
nat address-group test_nat 0
 mode pat
 section 0 222.1.1.1 222.1.1.1  #做NAPT之后转换的公网IP 
#配置NAT策略
nat-policy
 rule name snat		
  source-zone trust		#源安全区域
  destination-zone untrust	#目安全区域
  source-address 172.16.1.0 mask 255.255.255.0	#需要转换的内网IP
  source-address 172.16.2.0 mask 255.255.255.0
  action source-nat address-group test_nat	   #进行源地址转换,使用公网地址池IP
#配置安全策略,使trust区域能访问到untrust区域;
security-policy
 rule name trust_untrust  
  source-zone trust		#源zone  
  destination-zone untrust	#目zone
  source-address 172.16.1.1 mask 255.255.255.255 
  source-address 172.16.2.1 mask 255.255.255.255
  service icmp  		#测试环境,单独放行icmp协议 
  action permit			#执行动作为允许

此实验是将防火墙出口IP和NAT转换之后的公网IP不在同网段,所以路由器R需要加条明细静态路由到指向防火墙出接口的下一跳即可

 #给公网 R 路由器添加静态路由
  ip route-static 222.1.1.1 32 200.1.1.1

基本配置已经完毕,在防火墙出接口进行抓包测试看看是否napt策略执行成功
在这里插入图片描述
在这里插入图片描述
使用PC1能成功PING通PC3,并且抓包可以看到源IP已经成功转换到了 222.1.1.1的公网IP,大功告成!!!

还有二个小问题,如果外网用户去PING我们NAT公网地址池的这个地址,会形成三层环路。
抓包看一下,使用公网PC3ping一下我们的 222.1.1.1
在这里插入图片描述
在这里插入图片描述
看抓包情况,瞬间生成了600多个左右的ICMP报文,是因为在防火墙做了默认路由指向公网的,如果外网用户访问 222.1.1.1抵达防火墙后,防火墙会查询路由表,没有此路由的明细路由条目,则会根据我们配置的默认静态路由进行转发,又回去了,因此造成了三层路由环路现象。

还有一种现象是如果公网地址池配置的IP和公网出口IP在同网段,则公网用户访问地址池IP会生成无效的ARP广播报文
在这里插入图片描述
解决办法: 生成黑洞路由,在抵达防火墙后,在防火墙本地终结这条路由,不让其进行转发,让他有来无回
以上的两个问题,相同的解决办法!!!

[USG6000V1]nat address-group test_nat
 	mode pat
 	section 0 222.1.1.1 222.1.1.1	#与公网出接口不同网段的公网IP
 	section 1 200.1.1.10 200.1.1.10	#与公网出接口相同网段的公网IP
 	route enable	#添加此参数 自动生成黑洞路由

我们来查看一下防火墙路由表
在这里插入图片描述
可以看到有一条 222.1.1.1的路由条目(黑洞路由),他的Proto类型为Unr,指向下一跳为自己
也叫做User Network Route 用户网络路由

NAT Server 配合 Easy IP

在前面拓扑基础上添加一台Server和一台Client,看下图
在这里插入图片描述
将NAPT策略删除,使用easyIP地址转换技术,并将内网Server1的HTTP服务发布到外网,可以让client1访问到

防火墙配置EasyIP

#删除napt
nat policy 
	undo rule all	#先删除nat策略
undo nat address-group test_nat	#再删除nat地址池

#配置easyip
nat-policy
rule name test-easyip 
  source-zone trust  		#源zone
  egress-interface GigabitEthernet1/0/1  #指定公网IP的出接口
  source-address172.16.1.0 mask 255.255.255.0  
  source-address 172.16.2.0 mask 255.255.255.0
  service icmp 
  action source-nat easy-ip	#使用源IP转换 easy模式:共享出接口的公网IP地址进行转换

以上配置完成就实现了NAPT一样差不多的效果,可以抓包看到转换后的IP和出接口IP是相同的,也不会存在NAPT的三层环路和无效ARP情况
在这里插入图片描述
将Server划入到服务器区域并配置映射
在配置安全策略时,因为NAT Server是目的地址转换,防火墙在检查时,是先进行NAT目的地址转换,在进行安全策略检查。也就是说转换之后为私网IP,在进行安全策略检查,写安全策略时写私网IP即可

#配置Server网关防火墙IP
[USG6000V1]int GigabitEthernet 1/0/2
 ip address 10.1.1.254 24
 service-mange ping permit

#划分安全区域
[USG6000V1]firewall zone dmz
[USG6000V1-zone-dmz]add int GigabitEthernet 1/0/2
#配置安全策略  由Untrust访问DMZ
security-policy security
 rule name untrust-dmz
  source-zone untrust
  destination-zone dmz
  destination-address 10.1.1.1 mask 255.255.255.255
  service http
  action permit

#配置NAT Server 映射到公网
[USG6000V1]nat server 0 zone untrust protocol tcp global 200.1.1.1 www inside 10.1.1.1 www no-reverse unr-route #将10.1.1.1的tcp协议的80端口转换成222.1.1.1的80端口可以由untrust区域的用户访问
unr-route:#生成黑洞路由,和NAPT解决环路一样,natserver也有同样问题
no-reverse:#不生成servermap反向条目,在同安全区域并且是双出口场景时必须配置此参数!出现逻辑上错误问题

在Server开启HTTP服务,使用Client访问测试
在这里插入图片描述
查看Server-Map表项
在这里插入图片描述

NAT Server双出口

在这里插入图片描述
主题:实验不同安全区域和跟防火墙出口公网IP地址不同网段的NAT Server映射
IP跟接口、安全区域都在图中写了,这里就不配置了,直接上主题

#配置安全策略
[USG6000V1]security-policy
 rule name isp_dmz
  source-zone ISP_1	#源zone
  source-zone ISP_2 #源zone
  destination-zone dmz #目zone
  destination-address 172.16.1.1 mask 255.255.255.255 #目的IP
  service http  #放行的流量HTTP 80
  action permit  
#配置路由
[USG6000V1]ip route-static 0.0.0.0 0.0.0.0 100.1.1.2  #防火墙配置默认路由去往ISP_1
[USG6000V1]ip route-static 0.0.0.0 0.0.0.0 200.1.1.2  #防火墙配置默认路由去往ISP_2
[R1]ip route-static 111.1.1.1 255.255.255.255 100.1.1.1	#R1路由器配置静态路由去往防火墙
[R2]ip route-static 222.1.1.1 255.255.255.255 200.1.1.1	#R2路由器配置静态路由去往防火墙
#配置NAT Server 映射
 nat server 0 zone ISP_1 protocol tcp global 111.1.1.1 www inside 172.16.1.1 www
 unr-route  #去往10.1.1.0网段  追加unr-route参数 解决三层环路问题
 nat server 1 zone ISP_2 protocol tcp global 222.1.1.1 www inside 172.16.1.1 www
 unr-route	##去往20.1.1.0网段 追加unr-route参数 解决三层环路问题

主题:实验相同安全区域和跟防火墙出口公网IP地址相同网段的NAT Server映射
在这里插入图片描述
上主题

#配置安全策略
[USG6000V1]security-policy
 rule name isp_dmz
  source-zone ISP_1	#源zone
  destination-zone dmz #目zone
  destination-address 172.16.1.1 mask 255.255.255.255 #目的IP
  service http  #放行的流量HTTP 80
  action permit  
#配置NAT Server 映射
 nat server 0 protocol tcp global 100.1.1.10 www inside 172.16.1.1 www unr-route
 nat server 1 protocol tcp global 200.1.1.10 www inside 172.16.1.1 www no-revers
e unr-route

在配置此实验NAT映射时,双出口的相同区域场景下必须配置 no-reverse参数:不生成ServerMap反向条目
因为,在命中反向条目之后,防火墙无法判断私网IP转换成那一条公网IP,是100.1.1.10 or 200.1.1.10 ?
如果是在不同区域,可以根据区域参数判断转换的公网IP地址!nat server也是可以匹配五元组。

Nat Server,  ANY -> 200.1.1.10:80[172.16.1.1:80]  #ServerMap正向条目
Nat Server Reverse,  172.16.1.1[200.1.1.10] -> ANY   #ServerMap反向条目

所以在相同区域必须有一条nat server追加 no-reverse参数,或者两条都配置,不然配置时会报错误!!!

域间双向NAT
域间: 源目在不同的安全区之间
双向NAT: NAT Server + 源NAT
主要场景就是服务器不需要再配置网关,将服务器映射到公网上,再将公网用户源IP转换成服务器同网段IP
在这里插入图片描述
上配置 Server没有网关 注意!!!
在配置安全策略匹配源IP地址时,由于源地址转换顺序在安全策略之后,所以配置时,配置公网用户的IP地址(实验环境)

#配置防火墙IP以及区域
[USG6000V1]int GigabitEthernet 1/0/1
[USG6000V1-GigabitEthernet1/0/1]ip addr 100.1.1.1 24
[USG6000V1]int GigabitEthernet 1/0/0
[USG6000V1-GigabitEthernet1/0/1]ip addr 192.168.1.254 24
[USG6000V1]firewall zone trust 
[USG6000V1-zone-trust]add int GigabitEthernet 1/0/0
[USG6000V1]firewall zone untrust 	
[USG6000V1-zone-untrust]add int GigabitEthernet 1/0/1
[USG6000V1]ip route-static 0.0.0.0 0.0.0.0 100.1.1.2  #防火墙添加默认路由

#配置 路由器
[R1]int GigabitEthernet0/0/0
[R1-GigabitEthernet0/0/0]ip addr 100.1.1.2 24
[R1]int GigabitEthernet0/0/1
[R1-GigabitEthernet0/0/0]ip addr 10.1.1.254 24


#配置防火墙安全策略
[USG6000V1]security-policy
rule name untrust-trust
  source-zone untrust
  destination-zone trust
  source-address 10.1.1.1 mask 255.255.255.255 
  destination-address 192.168.1.1 mask 255.255.255.255
  service http
  action permit

#配置NAT Server映射   目的IP转换
[USG6000V1]nat server zone untrust protocol tcp global 100.1.1.10 80 inside 192.
168.1.1 80 unr-route 

#配置NAPT 源地址转换
[USG6000V1]nat address-group test  #创建NAPT地址池
	mode pat
 	section 0 192.168.1.10 192.168.1.10
[USG6000V1]nat-policy			  #创建NAT策略
  rule name test
  source-zone untrust
  destination-zone trust
  source-address 10.1.1.1 mask 255.255.255.255
  destination-address 192.168.1.1 mask 255.255.255.255
  action source-nat address-group test

OK,配置完成,抓包测试一哈!
在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值