NAT简介

NAT(Network Address Translation,网络地址转换)是1994年提出的。当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但又想和因特网上的主机通信(并不需要加密)时,可使用NAT方法。

NAT的作用

  1. 节约公网IP地址。

  2. 宽带分享:这是 NAT 主机(或路由器)的最大功能。

  3. 安全防护:NAT 之内的 PC 联机到 Internet 上面时,他所显示的 IP 是 NAT 主机的公共 IP。

NAT的实现方法

  1. 静态转换(Static Nat)一对一

  2. 动态转换(Dynamic Nat)多对多

  3. 端口多路复用(Port address Translation,PAT)多对一

静态NAT

静态NAT的工作原理很简单。NAT将网络分为内部网络(inside)和外部网络(outside),将内部网络的私有IP地址转换为公有IP地址,IP地址对是一对一的,是一成不变的不能节省外网IP地址,一般用于外部网络对内部网络中某些特定设备(如服务器)的访问

配置方法

端口模式下:

Ip nat inside 将某端口指定为内部端口

Ip nat outside 将端口指定为外部端口

全局模式下:

Ip nat inside source static inside_ip outside_ip

Inside_ip指的是内部IP地址

Outside_ip指的是翻译成的外部IP地址

动态NAT

  1. 首先还是要地址转换,内网地址转换成外网地址。
  2. 和静态的不同,是动态的转换。动态NAT是定义了一个地址池(pool),其中地址池中的地址是一组连续的外网IP地址,所有内网中允许的IP都可以使用地址池中的任意一个进行转换。根据访问控制列表的命令要求,允许的IP一般是某一个网段,如192.168.0.0/24等。
  3. 动态NAT的外网转换IP是动态的,不固定,当需要时从地址池随机选择。用完后(通信结束)就需要把这个地址放回地址池,供其他主机使用。这样就可以部分缓解外网IP地址压力。
  4. 注意,静态NAT和动态NAT可以共存。如果有需要内外网都访问的服务器,可以采用静态NAT,别的可以采用动态NAT。
  5. 因为内网主机访问出去的IP经常随机变化,增加了网络安全性。

配置方法

端口模式下:

Ip nat inside 将某端口指定为内部端口

Ip nat outside 将端口指定为外部端口

全局模式下

1、Ip nat pool name start_ip end_ip netmask netmask

其中:

name指的是地址池的名称

Start_ip end_ip指的是地址池的开始IP和结束IP

Netmask指的是地址池的IP地址的子网掩码

2、access_list number permit source wildcard

其中:

number指的是访问控制列表的号码,一般1-99

Permit 允许的意思

source wildcard指的是允许地址转换的地址段和对应的通配符,和OSPF路由的那个意思一样

3、ip nat inside source list number pool name

其中:

number还是那个第二条命令中的那个访问控制列表号

Name还是那个1号命令中地址池的名字

注意

用“sho ip nat translations”命令察看NAT表。刚设定好动态NAT,但没有在电脑上用Ping命令时,NAT表内容为空,因为还没建立连接,没有开始动态NAT。

PAT

实际上PAT和动态NAT几乎是一样的,只不过在地址转换的时候没有地址池,或说地址池内只有一个地址,所有的私有地址都转换成同一个公网IP地址,转换时对网关路由器的外网接口IP地址进行复用(overload)。复用技术是通过利用对话的端口号来实现的。

配置方法

端口模式下:

Ip nat inside 将某端口指定为内部端口

Ip nat outside 将端口指定为外部端口

全局模式下:

1、Ip nat pool name start_ip end_ip netmask

其中:

name指的是地址池的名称

Start_ip end_ip指的是地址池的开始IP和结束IP,在PAT时,这两个IP地址是一样的,但要写两个,不能省略。如100.0.0.1 100.0.0.1

Netmask指的是地址池的IP地址的子网掩码

2、access_list number permit source wildcard

其中:

number指的是访问控制列表的号码,一般1-99

Permit允许的意思

source wildcard指的是允许地址转换的地址段和对应的通配符,和OSPF路由的那个意思一样。

3、ip nat inside source list number pool name overload

其中:

number还是那个第二条命令中的那个访问控制列表号

Name还是那个1号命令中地址池的名字

overload是实现PAT的关键字,不能省略

和动态NAT对照比较可以看出,仅仅在IP地址池的地方换成一个IP地址和最后增加overload两处不同。