强叔侃墙_Nat_server 基本原理_实验
2017-08-27 10:00阅读:

(1) 配置NAT Server
[FW]nat server protocal tcp global 1.1.1.1 9980 inside 10.1.1.2
80
NAT Server
配置完成后,会生成Server-map表。不过与源NAT
生成的Server-map表不同的是。NAT Server
的Server-map表是静态的,不需要报文触发,配置了NAT Server后就会自动生成,只有当NAT
Server配置被删除时,对就的Server-map表项才会被删除.
NAT Server 的Server-map
display firewall server-map
10:27:09
2017/08/27
server-map item(s)
------------------------------------------------------------------------------
Nat Server, any -> 1.1.1.1:9980[10.1.1.2:80], Zone:
---
Protocol: tcp(Appro: unknown)
, Left-Time: --:--:--, Addr-Pool: ---
VPN: public -> public
Nat Server Reverse, 10.1.1.2[1.1.1.1] -> any, Zone:
---
Protocol: any(Appro: ---), Left-Time: --:--:--,
Addr-Pool: ---
VPN: public -> public
“Nat Server,any ->
1.1.1.1:9980[10.1.1.2:80]”为正向Server-map表项,记录着服务器私网地址和公网地址的映射关系。[]内为服务器私网地址和端口,[]外为服务器公网地址和端口。我们将表项翻译成文字是:任意客户端(any)向(->)1.1.1.1:9980发起访问时,报文的目的地址和端口都会被换成10.1.1.2:80,其作用是在公网用户
访问服务器时对报文的目的地址做转换。
'Nat Server Reverse, 10.1.1.2[1.1.1.1] -> any'
为反向Server-map表项,其作用为当私网服务器主动访问公网时,可以直接使用这个表项将报文的源地址由私网地址转换为公网地址,而不用单独配置源NAT策略。这就是防火墙NAT
Server 做得非常贴心的地方,一条命令同时打通了私网服务器和公网之间出入两个方向的地址转换通道。
这里强叔反复提到“转换”二字。没错,不论是正向还是反向Server-map表项,都仅能实现地址转换而已,并不能像ASPF的Server-map表项一样打开一个可以绕过安全策略检查的通道。因此,无论是公网用户要访问私网用户还是私网服务器要主动访问公网时,都需要配置相应的安全策略允许报文通过。
(2) 配置安全策略
这里有一个经 典问题,强叔回答了无数遍,但仍然有人不断在问:NAT Server
场景下,为了让公网用户能够访问私网服务器,配置安全策略的目的地址是服务器私网地址还是公网地址?先不忙告诉大家答案,我们先回顾一下公网用户访问私网服务器时防火墙的处理过程。
当公网用户通过1.1.1.1:9980访问私网服务器时,防火墙收到报文的首包后,首先是查找并匹配到Server-map表项,将报文的目的地址和端口转换为10.1.1.2:80.然后根据目的地址查找路由,找到出接口。根据入接口和出接口所处的安全区域,判断出报文在哪两个安全区域流动,进行域间安全策略检查。因此,配置安全策略时需要注意,策略的目的地址就配置为服务私网地址,而不是服务器对外映射的公网地址。
所以本例配置的安全策略为:
policy interzone dmz untrust inbound
policy 1
action permit
policy service service-set http
policy destination 10.1.1.2 0
报文通过安定检查后,防火墙会建立发如下的会话表,并将报文转发到私网服务器。
display firewall session table
10:48:16
2017/08/27
Current Total Sessions : 1
http
VPN:public --> public
1.1.1.2:2054-->1.1.1.1:9980[10.1.1.2:80]
之后,服务器对公网用户的请求做出响应。响应报文到达防火墙后匹配到上面的会话表,防火墙
将报文的源地址和端口转换为1.1.1.1:9980,而后发送到公网。公网用户和私网服务器交互的后续报文
,防火墙都会直接根据会话表对其进行地址和端口转换,而不会再去查找Server-map表项了。
(3)配置黑洞路由
[FW] ip route-static 1.1.1.1 32 NULL 0
————————————————————————————————————————————

[FW]display current-configuration
interface GigabitEthernet1/0/0
undo shutdown
ip address 192.168.1.1 255.255.255.0
service-manage ping permit
#
interface GigabitEthernet1/0/1
undo shutdown
ip address 202.1.1.1 255.255.255.0
service-manage ping permit
#
#
firewall zone trust
set priority 85
add interface GigabitEthernet0/0/0
add interface GigabitEthernet1/0/0
#
firewall zone untrust
set priority 5
add interface GigabitEthernet1/0/1
#
firewall zone dmz
set priority 50
#
#
ip route-static 0.0.0.0 0.0.0.0 202.1.1.4
#
#
nat server web 0 protocol tcp global
interface GigabitEthernet1/0/1 www inside
192.168.1.4 www
#
nat address-group nopataddress 0
mode no-pat global
route enable
section 0 202.1.1.2 202.1.1.3
#
nat address-group pat1 1
mode pat
route enable
section 0 202.1.1.1 202.1.1.1
#
multi-interface
mode proportion-of-weight
#
security-policy
rule name policy1
source-zone trust
destination-zone untrust
source-address 192.168.1.0 24
action permit
rule name policy2
source-zone untrust
destination-zone trust
destination-address 192.168.1.4 32
service http
//允许http访问
action permit
#
nat-policy
rule name nat1
source-zone trust
destination-zone untrust
source-address 192.168.1.0 24
action nat easy-ip
#
pcp-policy
#
验证
[FW]display firewall session table
Current Total Sessions : 1
http
VPN: public --> public
210.1.1.3:2052 --> 202.1.1.1:80[192.168.1.4:80]