NAT(Network Address Translation,网络地址转换)是一种用于将私有(保留)IP地址转换为公有IP地址的技术。它允许多个设备在Internet上共享一个公共IP地址。NAT技术广泛应用于家庭、企业和小型企业网络中,以节省公有IP地址资源。
一、什么是NAT
1、NAT简介
NAT(Network Address Translation,网络地址转换)是1994年提出的。当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但又想和因特网上的主机通信(并不需要加密)时,可使用NAT方法。
这种方法需要在专用网(私网IP)连接到因特网(公网IP)的路由器上安装NAT软件。装有NAT软件的路由器叫做NAT路由器,它至少有一个有效的外部全球IP地址(公网IP地址)。这样,所有使用本地地址(私网IP地址)的主机在和外界通信时,都要在NAT路由器上将其本地地址转换成全球IP地址,才能和因特网连接。
另外,这种通过使用少量的全球IP地址(公网IP地址)代表较多的私有IP地址的方式,将有助于减缓可用的IP地址空间的枯竭。在RFC 2663中有对NAT的说明。
2、NAT内网地址的范围
A:10.0.0.0-10.255.255.255
B:172.16.0.0-172.31.255.255
C:192.168.0.0-192.168.255.255
3、主要应用方向:
.没有足够的公网P连接到Internet
.当更换ISP需要重新编址
.合并两个使用重叠地址空间的内部网络
.使用单个IP地址支持基本的负载分担
4. NAT的类型
NAT主要分为以下几种类型:
(1)静态NAT(Static NAT):将内部网络的某个特定设备的IP地址永久地映射到公有IP地址。这种类型的NAT适用于需要固定公有IP地址的设备,如Web服务器。
(2)动态NAT(Dynamic NAT):将内部网络的多个设备的IP地址动态地映射到公有IP地址池中的空闲地址。当内网设备断开连接时,公有IP地址会被回收并分配给其他设备。这种类型的NAT适用于大多数家庭和企业网络。
(3)端口地址转换(PAT,Port Address Translation):在动态NAT的基础上,为每个内部设备分配一个临时的公有IP地址和端口号组合。这样,多个内部设备可以共享一个公有IP地址,但通过不同的端口号进行区分。这种类型的NAT适用于同时需要多个内部设备访问Internet的场景。
2. NAT的优点
(1)节省公有IP地址资源:NAT技术使得多个内部设备可以共享一个公有IP地址,从而节省了公有IP地址资源。
(2)提高网络安全性:NAT技术隐藏了内部网络的真实IP地址,使得外部攻击者难以直接攻击内部设备。
(3)简化网络管理:NAT技术使得内部网络的设备可以自由地访问Internet,而无需管理员手动配置公有IP地址。
3. NAT的缺点
(1)无法实现端到端的通信:由于NAT技术会改变数据包的源和目的IP地址,因此可能导致某些应用程序无法正常工作,如VoIP通话、P2P文件共享等。
(2)可能影响网络性能:NAT技术会增加数据包的处理时间,从而影响网络性能。
NAT可以分为静态NAT和动态NAT两种类型。
静态NAT:
1. 首先,在路由器上配置内部网络的私有IP地址范围,例如192.168.0.0/24。
2. 然后,为内部网络上的每个设备分配一个静态的公有IP地址,以便外部网络可以访问这些设备。
3. 接下来,在路由器上配置NAT规则,将内部设备的私有IP地址映射到相应的公有IP地址。
4. 最后,测试连接以确保NAT规则已正确应用。
动态NAT:
1. 首先,在路由器上配置内部网络的私有IP地址范围,例如192.168.0.0/24。
2. 然后,为内部网络上的设备分配私有IP地址,并启用DHCP服务器以自动分配IP地址。
3. 接下来,在路由器上配置NAT规则,将内部设备的私有IP地址映射到公有IP地址池中的空闲地址。
4. 最后,测试连接以确保NAT规则已正确应用。
需要注意的是,动态NAT可能会导致端口冲突问题,因为多个设备可能会使用相同的公有IP地址和端口号进行通信。为了解决这个问题,可以使用端口转发或PAT(Port Address Translation)技术来为每个设备分配不同的端口号。
三、NAT类型的对应实验
出口路由器上需要配置默认路由
iproute0.0.0.0 0.0.0.0指向运营商对接的路由器IP
代码
R1:
[001]int g0/0/0//进入接口
[001-GigabitEthernet0/0/0]ip add 192.168.1.1 24//配置ip和子网掩码长度
[001-GigabitEthernet0/0/0]un shu//开启接口
[001-GigabitEthernet0/0/0]int g0/0/1//进入接口
[001-GigabitEthernet0/0/1]ip add 202.10.100.1 24//配置ip和子网掩码长度
[001-GigabitEthernet0/0/1]un shu//开启接口
[001-GigabitEthernet0/0/1]q
[001]ip route-static 0.0.0.0 0 202.10.100.2//配置默认路由,下一跳入接口 202.10.100.2
[001]int g0/0/1 //进入接口
[001-GigabitEthernet0/0/1]nat static global 15.0.0.10 inside 192.168.1.10 netmask 255.255.255.255 //添加PC1到15.0.0.10的IP映射
ISP服务商:
[ISP]int g0/0/0//进入接口
[ISP-GigabitEthernet0/0/0]ip add 202.10.100.2 24//配置ip和子网掩码长度
[ISP-GigabitEthernet0/0/0]un shu//开启接口
[ISP-GigabitEthernet0/0/0]q
[ISP]ip route-static 15.0.0.10 32 202.10.100.1//配置默认路由,下一跳入接口 202.10.100.1
重点部分
进入出接口nat static global出口公网IP地址(此地址必须不是外网口IP,是另外的租用的公网地址)inside 私网的某台PC的IP地址 netmask 255.255.255. 255
查看静态NAT映射情况
display nat static
ISP段:
[]ip route-static 15.0.0.10 32 202.10.100.1//ISP回执一条路由指向公司出口网关IP
PC机设置
pc1可以通,pc2是不通的。
2、动态NAT--PAT
代码
R1:
[001]int g0/0/0//进入接口
[001-GigabitEthernet0/0/0]ip add 192.168.1.1 24//配置ip和子网掩码长度
[001-GigabitEthernet0/0/0]un shu//开启接口
[001-GigabitEthernet0/0/0]int g0/0/1//进入接口
[001-GigabitEthernet0/0/1]ip add 202.10.100.1 24//配置ip和子网掩码长度
[001-GigabitEthernet0/0/1]un shu//开启接口
[001-GigabitEthernet0/0/1]q
[001]ip route-static 0.0.0.0 0 202.10.100.2//配置默认路由,下一跳入接口 202.10.100.2
[001]nat address-group 1 15.0.0.10 15.0.0.11//配置NAT外网地址池
[001]acl 2000//创建标准访问控制列表2000
[001-acl-basic-2000]rule permit source 192.168.1.0 0.0.0.255//配置ACL抓取内网地址段
[001]int g0/0/1//进入接口
[001-GigabitEthernet0/0/1]nat outbound 2000 address-group 1//在外网口调用acl2000
[001]dis nat outbound//查询出接口信息
NAT Outbound Information:
--------------------------------------------------------------------------
Interface Acl Address-group/IP/Interface Type
--------------------------------------------------------------------------
GigabitEthernet0/0/1 2000 1 pat
--------------------------------------------------------------------------
Total : 1
ISP服务商:
[ISP]int g0/0/0//进入接口
[ISP-GigabitEthernet0/0/0]ip add 202.10.100.2 24//配置ip和子网掩码长度
[ISP-GigabitEthernet0/0/0]un shu//开启接口
[ISP-GigabitEthernet0/0/0]q
[ISP]ip route-static 15.0.0.0 24 202.10.100.1//配置默认路由,下一跳入接口 202.10.100.1
重点部分
1.配置NAT地址池
全局下打nat address-group 1 15.0.0. 10 15.0.0. 11
2.配置ACL抓取内网地址段
acl 2000
rule permit source 192.168.10.0 0.0.0.255
3.外网口上调用
接口下打nat outbound 2000 address-group 1 (不加no-pat表示地址可重复使用,建议不加)
ISP[]ip route-static 15.0.0.0 32 202.10.100.1
[] display nat outbound
PC机设置
ping测试
两个都能测试成功