关于nat的知识点我们在讲路由器的时候已经讲述过了,具体为啥配置NAT技术这里不再讲述,本篇讲述的关于ASA防火墙的各个NAT配置实例的分析,包括static NAT、network static NAT、static PAT、static NAT DNS rewrite、dynamic NAT、dynamic PAT、twice NAT。
dynamic NAT的转换采用object NAT 配置,具体用在一个组的真实地址映射到一组映射后的地址,即多对多的转换映射,映射后地址往往比真实地址数量少,遵循先来先服务的原则,只有真实的主机才可以发器连接,下面我们以实例介绍。
需求:
1:配置dynamic NAT转换inside网段(192.168.150.0/24)到outside地址池202.100.1.100-200。
(分析 :192.168.150.0/24网段访问外部地址时,源地址转换为202.100.1.100-200区域内,即多对多的转换)
2:修改转换槽位的闲置超时时间,从3个小时到1个小时。
环境(ASA防火墙一台,路由器若干,交换机若干)
底层配置,再不考虑防火墙的情况下,实现全网通信,即需配置路由。IP地址规划如上图。
成功telnet,且源地址为192.168.150.100
配置dynamic NAT地址转换命令:
ASA(config)# object network inside-outside //定义转换后的对象组
ASA(config-network-object)# range 202.100.1.100 202.100.1.200 //转换后的IP地址范围
ASA(config)# object network inside //定义转换前的对象组
ASA(config-network-object)# subnet 192.168.150.0 255.255.255.0 //转换前的IP地址范围
ASA(config-network-object)# nat (inside,outside) dynamic inside-outside //启用NAT
依旧可以telnet成功,但是很明显源地址发生变化,变成我们设定的转换后的IP地址。
Show xlate //查看NAT转换情况
这里可以清楚的看到源地址转换成为那个地址,且闲置默认时间为3个小时。
可以通过下面这条命令修改闲置超时时间,按需求改为1个小时。
ASA(config)# timeout xlate 1:00:00
注意修改后查看需clear xlate 后,再来查看。闲置超时时间改为1小时。
1.配置Dynamie PAT,转换Inside网段192.168.150.0/24,到DMZ区域地址 192.168.106.100
2配置Dymamic NAT,转换Inside网段192.168.150.0/24,到Outside区域址池202.100.1.100-101 当地址池耗尽后,PAT转换到Outside接口地址。
3.配置Dynamic PAT, PAT转换DMZ网段192.168.106.0/24, 到Outside区域PAT地址池202.100.1.200-210 (可选:循环使用地址池)。
需求1配置命令:
ASA(config)# object net inside-dmz
ASA(config-network-object)# subnet 192.168.231.0 255.255.255.0
ASA(config-network-object)# nat (inside,dmz) dynamic 172.16.1.100
配置完毕,测试R2 telnet R3。
可以发现,成功telnet,且源地址为192.168.106.100,正是转换后的IP地址。
再让R1telnet R3,查看转换情况:show xlate。
可以发现,每次转换的地址都是相同的,但是端口号不相同。即一对多。
需求2配置命令:
ASA(config)# object network outside-pool
ASA(config-network-object)# range 202.100.1.100 202.100.1.101 //定义转换后的地址池只有两个地址
ASA(config)# object network inside-outside
ASA(config-network-object)#subnet 192.168.150.0 255.255.255.0
ASA(config-network-object)#nat (inside,outside) dynamic outside-pool interface
测试,R1和R2与R7分别telnetR5。
可以发现,R1与R2telnetR5时,使用地址池当中的两个地址(100-101),IP地址耗尽之后,R7去telnetR5,就使用PAT转换成接口地址。
需求3配置命令:
需求所说的循环使用的意思是,在转换地址池中,出现多个转换IP地址,那么就会遵循设备与IP地址之间的循环使用,不会出现一个IP地址的多个接口使用,而其他的地址不使用的情况。而是每一个设备循环对应IP地址+接口的模式的循环。即假设当地址池中有三个公网地址时,那么第一台登陆的设备使用第一个公网地址+端口,第二台登陆的设备使用第二台公网地址+端口,那么第三台登陆的设备使用第三个公网地址+端口。而当第四台设备登陆时,会使用第一个公网地址+端口,如此类推。
ASA(config)# object network dmz-outside-pool
ASA(config-network-object)# range 202.100.1.200 202.100.1.210
ASA(config)# object network dmz
ASA(config-network-object)#subnet 192.168.106.0 255.255.255.0
ASA(config-network-object)#nat (dmz,outside) dynamic pat-pool dmz-outside-pool
配置完成,让R3,R4分别telnetR5,查看情况。
可以发现,当没有配置循环使用的命令时,虽然可以实现地址的转换,但是转换的源地址则会一直使用第一个IP+端口,直到把端口号用完,才会使用下一个公网地址。理论上一个IP地址有65535个接口,适用于数十台设备使用。
这里我们来配置循环使用命令:
ASA(config-network-object)#nat (dmz,outside) dynamic pat-pool dmz-outside-pool round-robin
可以发现,配置了循环使用的命令后,第二个登陆的设备用的是第二个公网地址+端口。
static NA则是一个持久的映射,映射一个真实的地址到一个映射后的地址,允许双向流量。
需求:
1、配置static NAT,转换位于dmz区域的telnet服务器192.168.106.3为outside区域的全局地址202.100.1.101。
2、放行源自于互联网(outside区域网络)访问服务器(192.168.106.3)的所有telnet流量。
需求1配置命令:
ASA(config)#object network dmz
ASA(config-network-object)#host 192.168.106.3
ASA(config-network-object)#nat (dmz,outside) static 202.100.1.101
配置完成,让R3 telnet R5,查看情况。
可以发现,成功telnet,且源地址转换为202.100.1.101。
需求2配置命令
ASA(config)#access-list outside-dmz-telnet extended permit tcp any host 192.168.106.3 eq 23
ASA(config)#access-group outside-dmz-telnet in interface outside
可以发现,成功telnet,不过这里注意telnet需telnet转换之前的IP地址,即R5telnetr3,需R5telnet202.100.1.101,原因是需求一配置中发现地址转换。
需求:
1:配置static NAT,转换inside网段192.168.150.0/24,到DMZ区域网段202.200.1.0/24。
环境(ASA防火墙一台,路由器若干,交换机若干)
底层配置,再不考虑防火墙的情况下,实现全网通信,即需配置路由。IP地址规划如上图。
可以发现,成功telnet,源地址为192.168.150.100。
配置dynamic NAT地址转换命令:
ASA(config)# object network inside-dmz //定义转换后的对象组
ASA(config-network-object)# subnet 202.200.1.0/24 //转换后的IP地址范围
ASA(config)# object network inside2 //定义转换前的对象组
ASA(config-network-object)# subnet 192.168.150.0 255.255.255.0 //转换前的IP地址范围
ASA(config-network-object)# nat (inside,dmz) static inside-dmz //启用NAT
可以看到,转换为对应的.2 .7 .8 .100,一一对应IP地址,原因是源IP地址与转换后的地址数目一致,所以能够一对一的转换。
需求:
1:配置static PAT,转换dmz区域的地址192.168.106.3:80到outside区域202.100.1.101:80
配置命令:
ASA(config)# object network dmz-outside
ASA(config-network-object)# host 192.168.106.3
ASA(config-network-object)# nat (dmz,outside) static 202.100.1.101 service tcp www www
ASA(config)# access-list dmz-outside extended permit tcp any object dmz-outsid eq www
ASA(config)# access-group dmz-outside in interface outside
可以发现,R3成功telnet80,查看转换情况,可看出明确的端口转换。
需求1:
当内部网络192.168.150.024。去往3.3.3.3(作为R5的环回接口)时.转换内部网络192.168.150.0/24到外部地址192.168.184.100
网络基本配置:省略。
注意需给ASA配置3.3.3.3的路由
ASA(config)# route outside 3.3.3.0 255.255.255.0 192.168.184.5
配置之前,我们先查看一下R1分别telnet 192.168.184.5 和3.3.3.3的情况。
可以发现,成功telnet,且源地址为R1(192.168.150.100)
配置命令:
ASA(config)# object network inside-network //定义内部地址
ASA(config-network-object)# subnet 192.168.150.0 255.255.255.0
ASA(config)# object network outside-network //定义外部目的地址
ASA(config-network-object)# host 3.3.3.3
ASA(config)# object network outside-transform //定义转换地址
ASA(config-network-object)# host 192.168.184.100
ASA(config)# nat (inside,outside) source dynamic inside-network outside-transform destination static outside-network outside-network //把源至于内动态的转换成外部地址,目的是不变的
配置完成,再来查看R1分别telnet 192.168.184.5 和3.3.3.3的情况。
可以看出,当192.168.150.0/24网段去往3.3.3.3地址时,发生地址转换,去往其他的地址就不变。
需求二:
当内部网络192.168.150.0/24,访问内部网络192.168.150.150时.目的地会被转送到192.168.184.5,并且源内部地址会转换为192.168.154.100
配置之前,我们先查看一下R1telnet 192.168.150.150情况。
可以看到,无法telnet,原因是改地址并不存在。
ASA:
ASA(config)# object network inside-network //定义内部转换前源
ASA(config-network-object)# subnet 192.168.150.0 255.255.255.0
ASA(config)# object network inside-destination //定义内部转换前目的
ASA(config-network-object)# host 192.168.150.150
ASA(config)# object network outside-source //定义外部转换后源
ASA(config-network-object)# host 192.168.184.100
ASA(config)# object network outside-destination //定义转换后目的
ASA(config-network-object)# host 192.168.184.5
ASA(config)# nat (inside,outside) source dynamic inside-network outside-source destination static inside-destination outside-destination //动态的转换内部源,静态的转换外部目的。
配置完成,再来查看R1telnet 192.168.150.150的情况。
成功telnet,原因是改地址发生转换,源和目的地址均已发生转换。
19
环境:R1(192.168.150.100)模拟http服务器,DNS服务器(192.168.184.184)
需求1:配置ASA监控和DNS域名解析,使得外部(outside)网络可以通过DNS服务器访问R1的域名www.cjc.com
需求2:配置DNS重写,使得内部(inside)网络可以访问www.cjc.com。
DNS服务器配置:
新建主机为192.168.184.150。
配置网络底层配置,注意需配置路由,这里不再介绍。
需求1配置:
R1(config)#ip name-server 192.168.184.184 //指定DNS服务器
R5(config)#ip domain-lookup //开启DNS外部查询功能。
R2(config)#ip domain-lookup //开启DNS外部查询功能。
ASA配置:
ASA(config)# object network inside-http-server
ASA(config-network-object)# host 192.168.150.100
ASA(config-network-object)# nat (inside,outside) static 192.168.184.150
ASA(config)# access-list out permit tcp any host 192.168.150.100 eq 80
ASA(config)# access-group out in interface outside
配置完成,让R5telnet www.lsj.com,查看情况
会发现。通过DNS域名解释回来的地址是192.168.184.150,并且成功的访问到内部网络。
再来看R2 telnet www.lsj.com,查看情况。
可以发现,无法telnet,原因是发生的地址转换,数据包从一个接口进,又从同一个接口出,直接丢包。
需求2配置:
ASA(config-network-object)# nat (inside,outside) static 192.168.184.150 dns //开启DNS重写功能。
配置完成,再来查看R2 telnet www.lsj.com情况。
可以发现,成功telnet上了,原因就是ASA会把DNS信息。重写到192.168.150.100.之后会重内部网络直接访问内部HTTP服务器。这样访问DNS服务器就不必去192.168.184.184,地址也无需发生地址变化。
到此,防火墙NAT到此结束,上面举例了多个实例,包含多方面的知识点内容,有错误的欢迎指教,感谢观看。