1.NAT简介
1.1 NAT概念
NAT(Network Address Translation)又称为网络地址转换,用于实现私有网络和公有网络之间的互访。
私有网络地址和公有网络地址
公有网络地址(以下简称公网地址)是指在互联网上全球唯一的IP地址。2019年11月26日,是人类互联网时代值得纪念的一天,全球近43亿个IPv4地址已正式耗尽。
私有网络地址(以下简称私网地址)是指内部网络或主机的IP地址,IANA(互联网数字分配机构)规定将下列的IP地址保留用作私网地址,不在Internet上被分配,可在一个单位或公司内部使用。
RFC1918中规定私有地址如下:
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
1.2 NAT功能
NAT不仅能解决了IP地址不足的问题,而且还能够有效地避免来自网络外部的入侵,隐藏并保护网络内部的计算机。
-
宽带分享:这是NAT主机的最大功能。
-
安全防护:NAT之内的PC联机到Internet上面时,他所显示的IP是NAT主机的公网IP,所以Client端的PC就具有一定程度的安全了,外界在进行 portscan(端口扫描)的时候,就侦测不到源Client端的PC 。
优点:
节省公有合法IP地址、处理地址重叠、增强灵活性、安全性
缺点:
延迟增大、配置和维护的复杂性、不支持某些应用(比如VPN).
1.3 NAT工作原理
-
NAT用来将内网地址和端口号转换成合法的公网地址和端口号,建立一个会话,与公网主机进行通信;
-
NAT外部的主机无法主动跟位于NAT内部的主机通信,NAT内部主机想要通信,必须主动和公网的一个IP通信,路由器负责建立一个映射关系,从而实现数据的转发;
2.NAT的分类
2.1 静态NAT
静态NAT实现私网地址和公网地址的一对一转换。有多少个私网地址就需要配置多少个公网地址。静态NAT不能节约公网地址,但可以起到隐藏内部网络的作用。
内部网络向外部网络发送报文时,静态NAT将报文的源IP地址替换为对应的公网地址;外部网络向内部网络发送响应报文时,静态NAT将报文的目的地址替换为相应的私网地址。
2.2 动态NAT
多个私网IP地址对应多个公网IP地址,基于地址池一对一映射.
-
配置外部网口和内部网口的IP地址
-
定义合法IP地址池
2.3 PAT
PAT端口多路复用,又称为NAPT(Network Address Port Translation),它实现一个公网地址和多个私网地址之间的映射,因此可以节约公网地址。PAT的基本原理是将不同私网地址的报文的源IP地址转换为同一公网地址,但他们被转换为该地址的不同端口号,因而仍然能够共享同一地址。
PAT有以下作用:
-
改变数据包的IP地址和端口号;
-
能够大量节约公网IP地址。
PAT有以下类型:
-
静态PAT:包括NAPT和Easy IP;
-
动态PAT:包括NAT Server。
2.3.1 NAPT
多个私网IP地址对应固定外网IP地址(比如200.1.1.10),配置方法与动态NAT类似.
-
配置外部网口和内部网口的IP地址
-
定义合法IP地址池
2.3.2 Easy_IP
多个私网IP地址对应路由器外网接口的公网IP地址(比如12.0.0.1)
-
配置外部网口和内部网口的IP地址
-
由于直接使用外网口IP地址,所以不用再定义IP地址池
2.3.3 Net Server
端口映射,将私网地址端口映射到公网地址,实现内网服务器供外网用户访问.
3.实验:NAT种类的应用场景
实验拓扑图如下所示:
实验要求及步骤如下所示:
(1)实现外网客户端Client3连接并访问内网服务器Server2;
给内网服务器Server2配置IP地址和网关;
给外网客户端Client3配置IP地址和网关;
在路由器R1上配置如下命令配置;
#
interface GigabitEthernet0/0/0
ip address 192.168.1.254 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 12.0.0.254 255.255.255.0
nat server protocol tcp global 12.0.0.120 8888 inside 192.168.1.3 www
#
此时,尝试用外网的主机和客户端连接内网的服务器;
尝试用外网的主机和客户端连接内网服务器映射的外网地址;
外网客户端此时依然能够与内网服务器的私有地址(192.168.1.3)建立HTTP的80端口连接;
尝试让外网客户端与内网服务器的映射外网地址(12.0.0.120)建立HTTP的8888端口连接;(后来百度了解到问题所在:ping是采用网络层的ICMP协议,而访问服务器采用的是传输层的HTTP协议,疑惑得到解答)。
问题与疑惑:!!!!!!!!!!!(HTTP能够访问,但无法连通)
此时外网客户端能够通过访问12.0.0.120的HTTP连接,却无法与内网服务器连通;
尝试外网主机能否与内网服务器建立连接;
分析可得:
应该是路由器模拟器出现了小失误导致的,外网能够通过HTTP与内网服务器访问,却无法与内网服务器互连,理论上已经出现错误,重启路由器,重新配置端口和命令;
此时尝试更改路由器与外网接口的出方向的IP地址作为,内网服务器的映射地址;
#
interface GigabitEthernet0/0/0
ip address 192.168.1.254 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 12.0.0.254 255.255.255.0
nat server protocol tcp global current-interface 8080 inside 192.168.3.1 www
#
再次尝试外网客户端与内网服务器的连接;(因为路由器外网出接口的IP地址不仅是内网服务器的映映射地址,也是外网客户端的网关地址)
(2)实现主机PC1和主机PC2采用NAT静态配置,访问外网服务器;
将主机PC1的IP地址(192.168.1.1)转换为外网地址(12.0.0.210);将主机PC2的IP地址(192.168.1.2)转换为外网地址(12.0.0.220);
[R1]nat static global 12.0.0.11 inside 192.168.1.1
[R1]int g0/0/1
[R1-GigabitEthernet0/0/1]nat static enable
[R1-GigabitEthernet0/0/1]q
[R1]int g0/0/1
[R1-GigabitEthernet0/0/1]nat static global 12.0.0.22 inside 192.168.1.2
[R1-GigabitEthernet0/0/1]q
通过抓取路由器左右两端的数据包进行查看,数据流在进出方向上是否实现NAT的转换;
通过数据包可以看出,经过路由器的NAT转换功能,数据包从内网发往外网时,NAT会将数据包源IP地址由私网地址转换成公网地址;当响应的数据包要从外网发给内网时,NAT会将数据包目的IP地址由公网IP转换成私网IP地址。
至此,该实验已圆满结束!
(3)为主机PC1设置地址池(12.0.0.30-12.0.0.34),与外网服务器访问,并设置ACL禁止该IP地址(12.0.0.35)的数据包,禁止连接外网服务器;
先不设置ACL源IP地址对外网服务器访问的限制,此时路由器的命令配置如下:
#
nat address-group 1 12.0.0.30 12.0.0.40
#
interface GigabitEthernet0/0/0
ip address 192.168.1.254 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 12.0.0.254 255.255.255.0
nat outbound 2000 address-group 1 no-pat
#
此时查看主机PC1连接外网服务器的数据包;
此时路由器的命令配置如下所示:
#
acl number 2000
rule 3 deny source 12.0.0.35 0
rule 5 permit
#
nat address-group 1 12.0.0.30 12.0.0.34
#
interface GigabitEthernet0/0/0
ip address 192.168.1.254 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 12.0.0.254 255.255.255.0
nat outbound 2000 address-group 1 no-pat
#
查看此时PC主机连接服务器的数据包,连通情况;
至此,该实验已圆满结束!
(4)主机PC1和主机PC2映射为同一个IP地址,不同的端口号,与外网服务器连接;
NAPT的用法:多个私网IP地址对应固定外网IP地址(比如12.0.0.100),路由器配置如下:
#
acl number 3000
rule 5 permit ip source 192.168.1.0 0.0.0.255
#
nat address-group 1 12.0.0.120 12.0.0.120
#
interface GigabitEthernet0/0/0
ip address 192.168.1.254 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 12.0.0.254 255.255.255.0
nat outbound 3000 address-group 1
#
查看此时路由器左右两端的数据包流向;文章来源:https://www.toymoban.com/news/detail-795772.html
EASY-IP的用法:多个私网IP地址对应路由器外网接口的公网IP地址(12.0.0.254)
#
acl number 3000
rule 5 permit ip source 192.168.1.0 0.0.0.255
#
#
interface GigabitEthernet0/0/0
ip address 192.168.1.254 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 12.0.0.254 255.255.255.0
nat outbound 3000
#
查看此时路由器左右两端的数据包流向;
文章来源地址https://www.toymoban.com/news/detail-795772.html
到了这里,关于【NAT】网络地址转换的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!