NAT简介
NAT(Network Address Translation,网络地址转换)是1994年提出的。当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但又想和因特网上的主机通信(并不需要加密)时,可使用NAT方法。
NAT的作用
-
节约公网IP地址。
-
宽带分享:这是 NAT 主机(或路由器)的最大功能。
-
安全防护:NAT 之内的 PC 联机到 Internet 上面时,他所显示的 IP 是 NAT 主机的公共 IP。
NAT的实现方法
-
静态转换(Static Nat)一对一
-
动态转换(Dynamic Nat)多对多
-
端口多路复用(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
- 首先还是要地址转换,内网地址转换成外网地址。
- 和静态的不同,是动态的转换。动态NAT是定义了一个地址池(pool),其中地址池中的地址是一组连续的外网IP地址,所有内网中允许的IP都可以使用地址池中的任意一个进行转换。根据访问控制列表的命令要求,允许的IP一般是某一个网段,如192.168.0.0/24等。
- 动态NAT的外网转换IP是动态的,不固定,当需要时从地址池随机选择。用完后(通信结束)就需要把这个地址放回地址池,供其他主机使用。这样就可以部分缓解外网IP地址压力。
- 注意,静态NAT和动态NAT可以共存。如果有需要内外网都访问的服务器,可以采用静态NAT,别的可以采用动态NAT。
- 因为内网主机访问出去的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两处不同。
Comments | NOTHING