简述静态NAT、动态NAT、PAT在配置命令有啥不同以及内网IP和外网IP对应关系上的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简述静态NAT、动态NAT、PAT在配置命令有啥不同以及内网IP和外网IP对应关系上的区别相关的知识,希望对你有一定的参考价值。

静态NAT就是一对一转换,也就是说一个局域网IP地址对应一个公网IP地址,这样做意义不大只不过是安全一点。而动态IP地址可以一对多,只不过不能同时转换,而是这个公网IP地址空闲时任何一个局域网IP地址都可以转换。而PAT就是一对多可复用转换,就是可以同时由多个私有IP地址转换。 参考技术A NAT术语
ØInside local address(内部本地地址):
一个Inside网络中的设备,在Inside的IP地址,即内部主机的实际地址
ØInside global address(内部全局地址):
一个Inside网络中的设备,在Outside的IP地址,即内部主机经NAT转换后去往外部的地址
ØOutside local address(外部本地地址):
一个Outside网络中的设备,在Inside的IP地址,即外部主机由NAT设备转换后的地址
ØOutside global address(外部全局地址):
一个Outside网络中的设备,在Outside的IP地址,即外部主机的真实地址
如果不是很清楚,可以看我写的这一篇文章吧:http://caijingjie.blog.51cto.com/5341985/1210654

在防火墙(ASA)上配置四种类型的NAT


    前面已经介绍了网络地址转换(NAT)的原理和基于路由器的配置,ASA上的NAT配置相对于路由器来说要复制一些,ASA上的NAT有动态NAT、动态PAT、静态NAT、静态PAT。下面的链接是我以前写的NAT原理,在路由器上配置NAT的命令http://yangshufan.blog.51cto.com/13004230/1959448


动态NAT

    动态NAT将一组IP地址转换为指定地址池中的IP地址,是动态一对一的轮询的关系;适合拥有多个公网IP、多个内网PC要访问互联网的环境使用(单向)

配置命令如下:

1.指定需要进行地址转换的内网网段

asa(config)# nat (interface_name) nat-id local-ip mask
asa(config)# nat (inside) 1 0 0           //表示转换所有内网地址

    其中nat-id这里必须大于等于1

2.定义全局地址池

asa(config)# global (interface_name) nat-id [global-ip]-[global-ip]

3.使用命令查看NAT转换表

asa# show xlate detail

案例:inside区域有两个网段,要求配置动态NAT实现网段192.168.1.0访问Internet时,进行地址转换,NAT地址池为202.106.2.100-202.106.2.200

技术分享

asa(config)# nat (inside) 1 192.168.1.0 255.255.255.0
asa(config)# global (outside) 1 202.106.2.100-202.106.2.200



动态PAT

    动态PAT使用IP和源端口号创建一个唯一的会话,是动态多对一的关系;适合只有一个公网IP、多个内网PC要访问互联网的环境使用(单向),与动态NAT唯一不同的就是全局地址只有一个

    在上图的案例中,如果要配置动态PAT,用于转换的IP地址是202.106.2.200,则配置命令如下:

asa(config)# nat (inside) 1 192.168.1.0 255.255.255.0
asa(config)# global (outside) 1 202.106.2.200

    如果在配置动态PAT时直接使用outside接口的IP地址进行转换,则配置命令如下:

asa(config)# nat (inside) 1 192.168.1.0 255.255.255.0
asa(config)# global (outside) 1 interface


静态NAT

    静态NAT创建了一个从真实地址到映射地址的一对一的固定转换,可用于双向通信;适合有多个公网IP且有多个内网服务器需要发布的环境使用(双向)

案例:在上图的案例中,DMZ内的服务器默认可以访问Internet,而在实际环境中,是允许所有地址访问内网服务器192.168.3.1,需要配置静态NAT,配置命令如下:

asa(config)# static (dmz,outside) 202.106.2.111 192.168.3.1        //配置静态NAT
asa(config)# access-list out_to_dmz permit ip any host 202.106.2.111
asa(config)# access-group out_to_dmz in int outside                //配置ACL

    注意:ACL中的目的地址应配置为映射地址202.106.2.111,而不是真实的地址192.168.3.1



静态PAT

    静态PAT允许为真实和映射地址指定TCP或UDP端口号;适合只有一个公网IP且要发布多个内网服务器的环境使用(双向)

静态PAT的命令语法如下:

asa(config)# static (local_if_name,global_if_name) {tcp |udp} {global-ip | interface} global-port local-ip local-port [netmask mask]

案例:如下图所示,DMZ有两台服务器,要求使用一个单一的映射地址202.106.2.111提供不同的服务

技术分享

配置命令如下:

asa(config)# static (dmz,outside) tcp 202.106.2.111 http 192.168.3.1 http     //配置静态PAT
asa(config)# static (dmz,outside) tcp 202.106.2.111 smtp 192.168.3.2 smtp
asa(config)# access-list out_to_dmz permit ip any host 202.106.2.111
asa(config)# access-group out_to_dmz in int outside                //配置ACL


NAT控制

   我们知道,默认高安全级别是可以访问低安全级别的,也就是说,即使我们不做NAT,PC1也可以访问Internet;而在真实环境中,PC1访问Internet时,可以通过ASA将源地址是自己IP的请求包发送出去,但是确不会接收到回应包,因为私网地址在互联网上是不合法的,因此我们还是需要做NAT,将私网地址映射为公网地址来访问互联网或被互联网访问

    ASA从7.0开始提供了一个NAT控制的开关,即nat-control命令,当我们开启NAT后,简单的配置中,PC1不能再访问Internet了,必须做NAT转换才能进行访问

   默认情况下,是禁用NAT控制(no nat-control),但在实际环境中,我们一般启用NAT控制方便管理;在启用NAT控制时,NAT规则是必须的;即发起的每一个连接都需要一个相应的NAT规则


禁用NAT控制no nat-control

    这是默认的情况,在禁用NAT控制是,NAT规则并不是必须的:它允许匹配NAT规则的网段进行地址转换通信;也允许不匹配NAT规则的网段通信,只是不经过地址转换

启用NAT控制nat-control

    如果启用了NAT控制,NAT的规则就是必须的:它允许匹配NAT规则的网段进行地址转换通信;禁止不匹配NAT规则的网段通信


NAT豁免

    当启用NAT控制时,每个发起的连接都需要一个相应的NAT规则,但是在某些应用场合(例如配置VPN)需要绕过NAT规则。绕过NAT规则有很多种方法,NAT豁免就是其中一种,NAT豁免允许双向通信

    配置NAT豁免首先需要定义一个ACL,用于指定需要绕过NAT规则的流量,然后进行配置,配置命令如下:

asa(config)# nat (interface_name) 0 access-list acl_name

案例:如下图所示,在ASA上启用NAT控制,要求为192.168.1.0网段配置动态PAT,映射地址为outside接口地址,为192.168.2.0网段配置NAT豁免

技术分享

配置命令如下:

asa(config)# nat-control            //启用NAT控制
asa(config)# nat (inside) 1 192.168.1.0 255.255.255.0        //配置动态PAT
asa(config)# global (outside) 1 interface

asa(config)# access-list nonat extended permit ip 192.168.2.0 255.255.255.0 202.106.2.0 255.255.255.0
asa(config)# nat (inside) 0 access-list nonat           //启用NAT豁免


查看和删除NAT的命令

asa# show xlate           //查看NAT转换表摘要
asa#show xlate detail          //查看NAT转换表详细信息
asa#show run nat           // 查看指定NAT
asa#show run global           //查看指定全局地址
asa(config)# no global (outside) 1 172.16.1.200      //删除指定的全局地址池,在定义全局命令前加no
asa(config)# clear xlate         //清除NAT转换表
asa(config)# clear configure stat         //删除静态NAT
asa(config)# clear configure nat           //删除动态NAT
asa(config)# clear configure global        //清空全局地址池




本文出自 “杨书凡” 博客,请务必保留此出处http://yangshufan.blog.51cto.com/13004230/1966098

以上是关于简述静态NAT、动态NAT、PAT在配置命令有啥不同以及内网IP和外网IP对应关系上的区别的主要内容,如果未能解决你的问题,请参考以下文章

Cisco ASA 应用NAT配置详解

在防火墙(ASA)上配置四种类型的NAT

静态一对一NAT全局地址同时用于PAT

静态NAT和动态PAT技术

ASA防火墙配置NAT

华为PAT端口地址映射配置详解