NAT介绍:
NAT(Network Address Translation,网络地址转换)是1994年提出的。当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但现在又想和因特网上的主机通信(并不需要加密)时,可使用NAT方法。
NAT功能:
NAT不仅能解决了lP地址不足的问题,而且还能够有效地避免来自网络外部的×××,隐藏并保护网络内部的计算机。
1.宽带分享:这是 NAT 主机的最大功能。
2.安全防护:NAT 之内的 PC 联机到 Internet 上面时,他所显示的 IP 是 NAT 主机的公共 IP,所以 Client 端的 PC 当然就具有一定程度的安全了,外界在进行 portscan(端口扫描) 的时候,就侦测不到源Client 端的 PC 。
NAT处理流程
一、基于源IP地址
a、一对一 NO-PAT
NAT中生产server-map表项的两中情况之一:配置NAT no-pat时防火墙会为已配置的多通道协议产生的有实际流量的数据建立serve-map表。
b、多对一 NAPT
ASPF功能的主要目的是通过对应用层协议的报文分析,为其放开相应的包过滤规则,而NAT ALG的主要目的,是为其放开相应的NAT规则。
由于NAT ALG和ASPF通常都是结合使用的,所有使用一条命令就能将两者同时开启,在域间配置一条命令即可detece protocol。
二、基于目的IP地址
a、nat server
NAT中生产server-map表项的两中情况之二:配置 NAT SERVER时防火墙会自动生产server-map表项,用于存放global地址与inside地址的映射关系。
b、高级目的nat
需求:CLIENT1(10.1.1.1)访问202.1.3.3,防火墙处理后将目的地址变更为202.1.3.2(CLIENT3)
#
acl number 3000
rule 25 permit ip source 10.1.1.1 0 destination 202.1.3.3 0
#
firewall zone trust
set priority 85
destination-nat 3000 address 202.1.3.2
add interface GigabitEthernet0/0/0
add interface GigabitEthernet0/0/1
#
policy interzone trust untrust outbound
policy 0
action permit
policy source 10.1.1.1 0
policy destination 202.1.3.2 0
#
------------------------------------------------------------
[SRG]display firewall session table verbose
icmp ×××:public --> public
Zone: trust--> untrust TTL: 00:00:20 Left: 00:00:00
Interface: GigabitEthernet0/0/3 NextHop: 202.1.1.1 MAC: 54-89-98-94-67-33
<--packets:0 bytes:0 -->packets:1 bytes:60
10.1.1.1:42131-->202.1.3.3:2048[202.1.3.2:2048]
------------------------------------------------------------
[SRG]display firewall server-map
空
c、SLB服务器负载均衡
三、双向NAT
a、NAT server+NAT inboud(域间)
需求:CLIENT3(202.1.3.2)通过FTP访问202.1.1.88的88端口,实际访问的是server1(10.1.3.1)的21端口,server1未配置网关。
#
firewall interzone dmz untrust
detect ftp
#
nat address-group 88 10.1.3.88 10.1.3.88
nat server 0 protocol tcp global 202.1.1.88 88 inside 10.1.3.1 ftp
#
policy interzone dmz untrust inbound
policy 0
action permit
policy source 202.1.3.2 0
policy destination 10.1.3.1 0
#
nat-policy interzone dmz untrust inbound
policy 0
action source-nat
policy source 202.1.3.2 0
policy destination 10.1.3.1 0
address-group 88
#
------------------------------------------------------------
[SRG]display firewall session table verbose
ftp ×××:public --> public
Zone: untrust--> dmz TTL: 00:10:00 Left: 00:09:58
Interface: GigabitEthernet0/0/2 NextHop: 10.1.3.1 MAC: 54-89-98-d1-4b-f6
<--packets:17 bytes:1276 -->packets:19 bytes:925
202.1.3.2:2067[10.1.3.88:2048]+->202.1.1.88:88[10.1.3.1:21]
ftp-data ×××:public --> public
Zone: dmz--> untrust TTL: 00:04:00 Left: 00:04:00
Interface: GigabitEthernet0/0/3 NextHop: 202.1.1.1 MAC: 54-89-98-94-67-33
<--packets:33 bytes:1324 -->packets:53 bytes:72608
10.1.3.1:20[202.1.1.88:20]-->10.1.3.88:15362[202.1.3.2:2070]
----------------------------------------------------------------
[SRG]display firewall server-map
Nat Server, any -> 202.1.1.88:88[10.1.3.1:21], Zone: ---
Protocol: tcp(Appro: unknown), Left-Time: --:--:--, Addr-Pool: ---
×××: public -> public
Nat Server Reverse, 10.1.3.1[202.1.1.88] -> any, Zone: ---
Protocol: any(Appro: ---), Left-Time: --:--:--, Addr-Pool: ---
×××: public -> public
ASPF, 10.1.3.1[202.1.1.88] -> 10.1.3.88:15361[202.1.3.2:2069], Zone: ---
Protocol: tcp(Appro: ftp-data), Left-Time: 00:00:12, Addr-Pool: ---
×××: public -> public
ASPF, 10.1.3.1[202.1.1.88] -> 10.1.3.88:15362[202.1.3.2:2070], Zone: ---
Protocol: tcp(Appro: ftp-data), Left-Time: 00:00:51, Addr-Pool: ---
×××: public -> public
b、NAT server+域内NAT(域内)
需求:CLIENT4(10.1.3.10)通过FTP访问202.1.1.88的88端口,实际访问的是server1(10.1.3.1)的21端口。
配置如下:
#
nat address-group 3 202.1.1.3 202.1.1.3
nat server 0 protocol tcp global 202.1.1.88 88 inside 10.1.3.1 ftp
#
nat-policy zone dmz
policy 0
action source-nat
policy source 10.1.3.10 0
policy destination 10.1.3.1 0
address-group 3
#
-----------------------------------------------------
[FW1]display firewall server-map
Nat Server, any -> 202.1.1.88:88[10.1.3.1:21], Zone: ---
Protocol: tcp(Appro: unknown), Left-Time: --:--:--, Addr-Pool: ---
×××: public -> public
Nat Server Reverse, 10.1.3.1[202.1.1.88] -> any, Zone: ---
Protocol: any(Appro: ---), Left-Time: --:--:--, Addr-Pool: ---
×××: public -> public
---------------------------------------------------------
[FW1]display firewall session table verbose
ftp ×××:public --> public
Zone: dmz--> dmz TTL: 00:10:00 Left: 00:09:58
Interface: GigabitEthernet0/0/2 NextHop: 10.1.3.1 MAC: 54-89-98-d1-4b-f6
<--packets:91 bytes:7567 -->packets:110 bytes:5497
10.1.3.10:2051[202.1.1.3:2048]-->202.1.1.88:88[10.1.3.1:21]
NAT有什么弊端?
在一个具有NAT功能的路由器下的主机并没有建立真正的端对端连接,并且不能参与一些因特网协议。一些需要初始化从外部网络建立的TCP连接,和使用无状态协议(比如UDP)的服务将被中断。除非NAT路由器作一些具体的努力,否则送来的数据包将不能到达正确的目的地址。(一些协议有时可以在应用层网关的辅助下,在参与NAT的主机之间容纳一个NAT的实例,比如FTP。)NAT也会使安全协议变的复杂。
原文地址:http://blog.51cto.com/13698083/2135118