很多人都知道公有地址分到个人或者企业及用户,必须向IPO申请还要缴纳一笔费用。那么申请到的地址如何和我们设定地址之间转化,这里需要NAT实现我们设定地址可以访问互联网所有数据。NAT简单来说就是内部地址转化为公有地址,进行通信的技术。NAT(Networ Address Translation),即网络地址转换或网络地址翻译。
NAT技术实现方式
①静态内部源地址转换
所谓静态内部源地址转换是指将一个内部本地的IP地址转换成为惟一的内部全局地址,即私有地址和合法地址之间的静态一一映射。这种转换IP地址对是一对一的,某个私有IP地址只转换为某个公有IP地址,通常用在内部网上的主机需要对外提供服务(如Web、E-mail服务等)的情况下。
②动态内部源地址转换
在动态内部源地址转换的方式下,一组内部本地地址与一个内部全局地址池之间建立起一种动态的一一映射关系。这种地址转换形式下,内部主机可以访问外部网络,外部主机也能对内部网络进行访问,但必须是在内网IP地址与内部全局地址之间存在映射关系时才能成功,并且这种映射关系是动态的。当ISP提供的合法IP地址略少于网络内部的计算机数量时。可以采用动态转换的方式。
③端口多路复用(Port address Translation,PAT)
端口多路复用可以把内部全局地址进行复用性的转换,从而实现内部本地地址对内部全局地址的多对一的映射。地址复用被启用时,路由器在高层协议(如TCP或UDP端口号)维持有关的信息,将全局地址转换为本地地址。当多个内部本地地址映射到同一个全局地址时,端口号将用来区别不同的本地地址。内部网络的所有主机均可共享一个合法外部IP地址实现对Internet的访问,从而可以最大限度地节约IP地址资源。同时,又可隐藏网络内部的所有主机,有效避免来自internet的攻击。因此,目前网络中应用最多的就是端口多路复用方式。
实现实验
某公司内部网络包括服务器和若干办公用机器,通过路由器与公网路由器连接。因业务需要,申请到202.96.128.1~4四个公网IP地址,计划分配一个IP地址给内部服务器,并对外提供Web、FTP等服务,同时将剩余三个IP地址做为办公用机连接公网所用。要求使用静态NAT和动态NAT结合的方式实现以上要求。请按以下网络拓扑连接网络并配置相关设备。 (小企业或者是个人都是由路由器进为网关进行操作,这里选择实验设备有Router 2811 2 台; Switch 2960 1台;PC 4台;Server 2 台;直通线、交叉线)
注:此处为模拟公网。
在Packer Tracer上面的操作,进行网络规划和设备选择。
、
下表所列参数设置计算机IP地址、子网掩码、网关。
port | ip | submask | Gateway | |
server0 | F0/1 | 192.168.1.100 | 255.255.255.0 | 192.168.1.254 |
server1 | F0/21 | 202.96.127.88 | 202.96.127.254 | |
pc0-pc3 | F0/1-F0/3 | 192.168.1.1-192.168.1.4 | 192.168.1.254 |
按照下表对路由器进行参数设定和配置
port | IP | Submask | |
R1 | F0/0 | 192.168.1.254 | 255.255.255.0 |
F0/1 | 202.96.128.,1 | ||
R2 | F0/0 | 202.96.127.254 | |
F0/1 | 202.96.128.100 |
配置每台机器的静态地址
对R1路由器进行配置
R1(config)#interface f0/0
R1(config-if)#ip address 192.168.1.254 255.255.255.0
R1(config-if)#no shutdown
R1(config-if)#interface f0/1
R1(config-if)#ip address 202.96.128.1 255.255.255.0
R1(config-if)#no shutdown
对R2路由器进行配置
R2(config-if)#interface f0/0
R2(config-if)#ip address 202.96.127.254 255.255.255.0
R2(config-if)#no shutdown
R2(config-if)#interface f0/1
R2(config-if)#ip address 202.96.128.100 255.255.255.0
R2(config-if)#no shutdown
配置NAT
R1(config)#ip route 0.0.0.0 0.0.0.0 f0/1 配置默认路由指向出口
R1(config)#interface f0/0
R1(config-if)#ip nat inside 指定内部网络接口
R1(config-if)#interface f0/1
R1(config-if)#ip nat outside 指定外部网络接口
R1(config-if)#exit
R1(config)#ip nat inside source static 192.168.1.100 202.96.128.1 建立地址静态映射
R1(config)#ip nat pool kjzz 202.96.128.2 202.96.128.4 netmask 255.255.255.0 全局地址池
R1(config)#access-list 1 permit 192.168.1.0 0.0.0.255 通过ACL定义内网上网条件
R1(config)#ip nat inside source list 1 pool kjzz 建立全局地址池与ACL映射
验证
NAT的转化表
从终端上也能ping通公网以外的服务器地址
此方法展示静态NAT的配置,但是实际情况往往如前面所说,运营商可提供一个公网地址需要费用,我们需要多个公网地址也要提供许多费用,不切实际,所以我们想在一个公网地址下设置多台机器上网的话,就需要NAT另一个NAPT配置。(网络端口多路复用技术)
NAPT(Network Address Port Translation),即网络端口地址转换,就是将多个内部地址映射为一个合法公网地址,但以不同的协议端口号与不同的内部地址相对应。也就是<内部地址+内部端口>与<外部地址+外部端口>之间的转换。NAPT普遍用于接入设备中,它可以将中小型的网络隐藏在一个合法的IP地址后面。NAPT也被称为“多对一”的NAT,或者叫PAT(Port Address Translations,端口地址转换)、NAPT(Network Address Port Translations,网络端口地址转换)、地址超载(address overloading)。
在Internet中使用NAPT时,所有不同的信息流看起来好像来源于同一个IP地址。这个优点在小型办公室内非常实用,通过从ISP处申请的一个IP地址,将多个连接通过NAPT接入Internet。实际上,许多SOHO远程访问设备支持基于PPP的动态IP地址。这样,ISP甚至不需要支持NAPT,就可以做到多个内部IP地址共用一个外部IP地址上Internet,虽然这样会导致信道的一定拥塞,但考虑到节省的ISP上网费用和易管理的特点,用NAPT还是很值得的。
NAPT使得一组主机可以共享唯一的外部地址,当位于内部网络中的主机通过NAT设备向外部主机发起会话请求时,NAT设备就会查询NAT表,看是否有相关会话记录,如果有相关记录,就会将内部IP地址及端口同时进行转换,再转发出去;如果没有相关记录,进行IP地址和端口转换的同时,还会在NAT表增加一条该会话的记录。外部主机接收到数据包后,用接受到的合法公网地址及端口作为目的IP地址及端口来响应,NAT设备接收到外部回来的数据包,再根据NAT表中的记录把目的地址及端口转换成对应的内部IP地址及端口,转发给该内部主机。
在此基础上,使用TCP/UDP端口NAT映射,可以将不同的TCP端口绑定至不同的内部IP地址,从而只使用一个合法的IP地址,即可在允许内部所有服务器被Internet访问。
实现实验
公司内部网络包括服务器和办公网两个子网,通过内部路由器相互通信并与公网路由器连接。现申请到一个公网IP地址,计划使用内部服务器,对外提供Web、FTP服务,同时保证办公网所有主机同时能否访问公网。请按以下网络拓扑连接网络并配置相关设备。
(实验设备: Router 2811 2 台; Switch 2960 2台;PC 2台;Server 3 台;NM-4A/S模块;直通线、交叉线、DCE串口线 )
在Packer Tracer上面的操作,进行网络规划和设备选择。
按照下面表格设置计算机和服务器IP地址,子网掩码、网关
port | IP | submask | Gateway | |
server2 | F0/1 | 10.0.0.1 | 255.0.0.0 | 10.0.0.254 |
server3 | F0/2 | 10.0.0.2 | 255.0.0.0 | 10.0.0.254 |
PC6-PC10 | F0/1-F0/4 | 192.168.0.1-4 | 255.255.255.0 | 192.168.0.254 |
server4 | F0/0 | 202.96.128.88 | 255.255.255.0 | 202.96.128.254 |
按照下表所列参数对路由器进行配置
Port | IP | Submask | |
R1 | F0/0 | 10.0.0.254 | 255.0.0.0 |
F0/1 | 192.168.0.254 | 255.255.255.0 | |
S1/0 | 202.96.128.254 | ||
R2 | F0/0 | 202.96.128.254 | |
S1/0 | 202.96172.2 |
路由器R1配置
R1(config)#interface f0/0
R1(config-if)#ip address 10.0.0.254 255.0.0.0
R1(config-if)#no shutdown
R1(config-if)#interface f0/1
R1(config-if)#ip address 192.168.0.254 255.255.255.0
R1(config-if)#no shutdown
R1(config-if)#interface s1/0
R1(config-if)#ip address 202.96.172.1 255.255.255.0
R1(config-if)#clock rate 64000
R1(config-if)#no shutdown
路由器R2配置
R2(config)#interface f0/0
R2(config-if)#ip address 202.96.128.254 255.255.255.0
R2(config-if)#no shutdown
R2(config-if)#interface s1/0
R2(config-if)#ip address 202.96.172.2 255.255.255.0
R2(config-if)#no shutdown
配置NAPT
路由器R1配置
R1(config)#ip route 0.0.0.0 0.0.0.0 s1/0 配置默认路由指向出口
R1(config)#interface f0/0
R1(config-if)#ip nat inside 指定内部网络接口
R1(config-if)#interface f0/1
R1(config-if)#ip nat inside 指定内部网络接口
R1(config-if)#interface s1/0
R1(config-if)#ip nat outside 指定外部网络接口
R1(config-if)#exit
R1(config)#access-list 1 permit 10.0.0.0 0.255.255.255 ACL定义内网上网条件
R1(config)#access-list 1 permit 192.168.0.0 0.0.0.255
R1(config)#ip nat inside source list 1 interface s1/0 overload 配置NAPT
R1(config)#ip nat inside source static tcp 10.0.0.1 80 202.96.172.1 80 配置静态TCP端口映射
R1(config)#ip nat inside source static tcp 10.0.0.2 21 202.96.172.1 21 配置静态TCP端口映射
验证:
展示NAT的地址转化表
从PC主机上PING公网服务器和内部另一个网段地址验证联通性,性能是通的。
总结:NAPT用处很多,在中小型企业里面用的最多,比如我们常用路由器在家用时,就用到NAPT和DHCP两个协议。不过企业有时候也会专门拉专线专有公网地址单独给业务平台使用,依据业务平台的访问量和带宽等网络因素取决。
总之,现在很多平台都上阿里云系统了,未来越来越多平台走向云,涉及到本地部署的方式基本很少,但是我们也当知道这个方式,因为相对而言,阿里云那边也是需要NAPT这个协议进行网络配置。