【NAT】网络地址转换

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 
#

在这里插入图片描述

查看此时路由器左右两端的数据包流向;

在这里插入图片描述

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
#

在这里插入图片描述

查看此时路由器左右两端的数据包流向;

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/cailirong123/article/details/129720575