培训Cisco 200-125 CCNA v3.0。 第29天。PAT和NAT

今天,我们将研究PAT(端口地址转换)和NAT(网络地址转换),NAT是使用端口转换IP地址的技术,NAT是转换传输数据包IP地址的技术。 PAT是NAT的特例。 我们将涵盖三个主题:

-私有或内部(内部网,本地)IP地址以及公共或外部IP地址;
-NAT和PAT;
-配置NAT / PAT。

让我们从私有IP地址开始。 我们知道它们分为三类:A,B和C。



A类内部地址占据从10.0.0.0到10.255.255.255的十个范围,外部地址占据从1.0.0.0到9的范围。255.255.255和11.0.0.0到126.255.255.255。

B类内部地址的范围是172.16.0.0至172.31.255.255,外部地址的范围是128.0.0.0至172.15.255.255和172.32.0.0至191.255.255.255。

C类内部地址的范围是192.168.0.0至192.168.255.255,外部地址的范围是192.0.0至192.167.255.255和192.169.0.0至223.255.255.255。



A类地址是地址/ 8,8 B-/ 12和C-/ 16。 因此,不同类别的外部和内部IP地址占据不同的范围。

我们已经反复讨论了私有IP地址和公共IP地址之间的区别。 一般而言,如果我们有一台路由器和一组内部IP地址,则当它们尝试访问Internet时,路由器会将它们转换为外部IP地址。 内部地址专用于本地网络,而不是Internet。

如果使用命令行查看计算机的网络参数,则将在其中看到我的内部LAN IP地址192.168.1.103。



为了找出您的公共IP地址,您可以使用Internet服务,例如“什么是我的IP”? 如您所见,计算机78.100.196.163的外部地址与其内部地址不同。



在任何情况下,外部IP地址都可以在Internet上准确地看到我的计算机。 因此,我计算机的内部地址是192.168.1.103,外部地址是78.100.196.163。 内部地址仅用于本地通信,您不能使用它访问Internet,为此您需要一个公共IP地址。 您可以通过回顾视频教程第3天来记住为什么将分隔分为私人和公共地址。

考虑什么是NAT。 NAT有三种类型:静态,动态和重载NAT或PAT。



思科中有4个描述NAT的术语。 正如我所说,NAT是一种将内部地址转换为外部地址的机制。 如果连接到Internet的设备从本地网络接收到来自另一设备的数据包,则它会简单地丢弃此数据包,因为内部地址的格式与全球Internet上使用的地址的格式不匹配。 因此,设备必须接收公共IP地址才能访问Internet。
因此,第一个术语是“ Inside Local”,即内部LAN上主机的IP地址。 简而言之,这是类型192.168.1.10的主要源地址。 第二个术语,“ Inside Global”,是本地主机的IP地址,在该地址下,它在外部网络上可见。 在我们的情况下,这是路由器200.124.22.10的外部端口的IP地址。



您可以说Inside Local是一个私有IP地址,Inside Global是一个公共IP地址。 请记住,术语“内部”用于指代流量来源,而“外部”用于指代流量的目的。 本地外部是外部网络上主机的IP地址,内部网络在该IP地址下可见。 简而言之,这是从内部网络可见的收件人地址。 这种地址的一个示例是位于Internet上的设备的IP地址200.124.22.100。



全局外部是在外部网络上可见的主机IP地址。 在大多数情况下,“外部本地”和“外部全局”地址看起来相同,因为即使在转换之后,源的目标IP地址也与转换之前相同。



考虑什么是静态NAT。 静态NAT表示内部IP地址到外部的一对一转换,或一对一的转换。 当设备将流量发送到Internet时,其内部内部内部地址将转换为内部内部内部地址。



我们的局域网中有3台设备,当它们要上网时,每台设备都有自己的Inside Global地址。 这些地址静态分配给流量源。 一对一原则意味着,如果本地网络上有100个设备,则它们将接收100个外部地址。

NAT似乎可以保存Internet,而Internet以公共IP地址结尾。 多亏了NAT,许多公司,许多网络可以拥有一个公共的外部IP地址,访问Internet时,本地设备地址将转换为该地址。 可以说,在静态NAT的情况下,地址数量没有节省,因为为100台本地计算机分配了100个外部地址,这是绝对正确的。 但是,静态NAT仍然具有几个优点。

例如,我们有一台内部IP地址为192.168.1.100的服务器。 如果来自Internet的某些设备想要与他联系,则他将无法使用内部目标地址来执行此操作,为此,他需要使用服务器200.124.22.3的外部地址。 如果在路由器中配置了静态NAT,则发往200.124.22.3的所有流量都会自动转发到192.168.1.100。 这样可以提供对本地网络上设备的外部访问,在这种情况下,可以访问公司的Web服务器,在某些情况下可能是必需的。

考虑动态NAT。 它与静态非常相似,但是不会为每个本地设备分配永久的外部地址。 例如,我们有3个本地设备,只有2个外部地址。 如果第二台设备要上网,则将为其分配第一个免费IP地址。 如果之后Web服务器希望联机,则路由器将为其分配第二个可用的外部地址。 如果在那之后第一台设备要转到外部网络,则将没有可用的IP地址,路由器将丢弃其数据包。



我们可以有数百个具有内部IP地址的设备,并且每个设备都可以联机。 但是,由于我们没有静态分配的外部地址,因此,由于我们只有两个动态分配的外部地址,因此一百个设备中最多只能有2个设备能够访问Internet。

默认情况下,Cisco设备的固定地址转换时间为24小时。 您可以随时将其更改为1,2,3,10分钟。 在此时间之后,将释放外部地址,并自动将其返回到地址池。 如果此时第一台设备想上网并且任何外部地址可用,那么它将收到它。 路由器包含一个动态更新的NAT表,并且在转换时间到期之前,设备将保存分配的地址。 简而言之,动态NAT的工作原理是:“谁先来,他们服务”。

考虑什么构成过载的NAT或PAT。 这是最常见的NAT类型。 您的家庭网络可以有许多设备-PC,智能手机,笔记本电脑,平板电脑,并且所有设备都连接到具有一个外部IP地址的路由器。 因此,PAT允许具有内部IP地址的许多设备在一个外部IP地址下同时联机。 这是可能的,因为每个私有内部IP地址在通信会话期间都使用特定的端口号。
假设我们有一个公共地址200.124.22.1和许多本地设备。 因此,当访问Internet时,所有这些主机将收到相同的地址200.124.22.1。 唯一可以将它们区分开的是端口号。
如果您还记得有关传输层的讨论,则知道传输层包含端口号,而源端口号是一个随机数。



假设外部网络上有一个主机,其IP地址为200.124.22.10,该主机已连接到Internet。 如果计算机192.168.1.11要联系计算机200.124.22.10,它将创建一个随机源端口51772。在这种情况下,外部网络上计算机的目标端口将为80。

路由器收到发送到外部网络的本地计算机数据包时,会将其本地本地地址转换为内部全局地址200.124.22.1并将端口23556分配给该端口,该数据包将到达计算机200.124.22.10,并且必须根据握手过程将响应发送回去,目的地将是地址200.124.22.1和端口23556。

路由器具有NAT转换表,因此,从外部计算机接收到数据包后,它将确定与内部全局地址相对应的内部本地地址为192.168.1.11:51772,并将数据包转发给它。 之后,可以认为两台计算机之间已建立连接。
同时,您可以有数百个使用相同地址200.124.22.1进行通信的设备,但是使用不同的端口号,因此它们都可以同时联机。 这就是为什么PAT是这么流行的翻译方法的原因。

让我们看一下配置静态NAT。 对于任何网络,首先必须确定输入和输出接口。 该图显示了一个路由器,通过该路由器,流量从端口G0 / 0传输到端口G0 / 1,即从内部网络传输到外部网络。 因此,我们有一个输入接口192.168.1.1和一个输出接口200.124.22.1。



要配置NAT,我们转到G0 / 0接口并设置ip addres 192.168.1.1 255.255.255.0 ip参数,并指示使用ip nat inside命令输入此接口。



同样,我们通过指定IP地址200.124.22.1,子网掩码255.255.255.0和外部IP nat在G0 / 1输出接口上配置NAT。 请记住,动态NAT转换始终是从内部到外部,从输入到输出接口。 自然地,对于动态NAT,答案通过输出接口到达输入接口,但是在启动流量时,将触发进出方向。 对于静态NAT,流量启动可以在任何方向上进行-进出或出入。

接下来,我们需要创建一个静态NAT表,其中每个本地地址都对应一个单独的全局地址。 在我们的例子中,有3个设备,因此该表将由3个条目组成,这些条目指示源的内部本地IP地址,该地址转换为内部全局地址:静态192.168.1.10 200.124.22.1内部的ip nat。
因此,在静态NAT中,您手动为每个本地主机地址指定一个转换。 现在,我将转到Packet Tracer并进行上述设置。



顶部是服务器192.168.1.100,下面是计算机192.168.1.10,最底部是计算机192.168.1.11。 Router0的G0 / 0端口的IP地址为192.168.1.1,而G0 / 1端口的IP地址为200.124.22.1。 在描绘Internet的“云”中,我放置了Router1,该路由器被分配了200.124.22.10的IP地址。

我进入Router1的设置,然后键入debug ip icmp命令。 现在,只要ping到达此设备,调试消息就会出现在设置窗口中,显示它是哪种软件包。
让我们设置路由器Router0。 我进入全局设置模式,并调用G0 / 0接口。 接下来,我输入ip nat inside命令,然后转到g0 / 1界面并输入ip nat outside命令。 因此,我分配了路由器的输入和输出接口。 现在,我需要手动配置IP地址,即,将上表的行转移到设置:

IP NAT内部源静态192.168.1.10 200.124.22.1
IP NAT内源静态192.168.1.11 200.124.22.2
IP NAT内部源静态192.168.1.100 200.124.22.3



现在,我将对每个设备的Router1进行ping操作,并查看其收到的ping将显示哪些IP地址。 为此,我将R1路由器的打开的CLI窗口放在屏幕的右侧,以查看调试消息。 现在,我转到PC0命令行终端并ping地址200.124.22.10。 之后,窗口中将显示一条消息,提示已从IP地址200.124.22.1收到ping。 这意味着本地计算机192.168.1.10的IP地址已转换为全局地址200.124.22.1。



我对下一台本地计算机执行相同的操作,然后看到其地址已转换为200.124.22.2。 然后,我从服务器发送ping并看到地址200.124.22.3。
因此,当来自LAN设备的流量到达配置了静态NAT的路由器时,路由器将根据该表将本地IP地址转换为全局IP地址,并将该流量发送到外部网络。 要检查NAT表,我输入show ip nat translations命令。



现在我们可以看到路由器进行的所有转换。 Inside Global的第一列中是广播之前设备的地址,即从外部网络可以看到该设备的地址,然后是Inside Local地址,即本地网络上的设备的地址。 第三列显示“外部本地地址”,第四列显示“外部全局”地址,两者相同,因为我们不转换目标IP地址。 如您所见,由于在Packet Tracer中设置了短暂的ping超时,几秒钟后该表被清除。

我可以从R1路由器ping地址为200.124.22.3的服务器,如果返回到路由器设置,则可以看到该表再次填充了四行ping行,其转换后的目标地址为192.168.1.100。



就像我说的,即使广播超时有效,当从外部源发起流量时,NAT机制也会自动激活。 这仅在使用静态NAT时发生。

现在让我们看看动态NAT是如何工作的。 在我们的示例中,本地网络上的三个设备有2个公共地址,但是,可以有成百上千个这样的私有主机。 同时,只有2台设备可以联机。 另外,还要考虑静态和动态NAT之间的区别。

与前面的情况一样,您首先需要确定路由器的输入和输出接口。 接下来,我们创建一种访问列表,但这不是上一课中讨论的ACL。 此访问列表用于标识我们要转换的流量。 在这里出现了新的术语“有趣的流量”或“有趣的流量”。 由于某种原因,这是您感兴趣的流量,并且当此流量与访问列表的条款匹配时,它将属于NAT的作用并被转换。 该术语在许多情况下适用于流量,例如,在VPN的情况下,“有趣的”称为它们将要通过VPN隧道的流量。

我们必须创建一个ACL来标识有趣的流量,在本例中,它是整个网络192.168.1.0的流量,并标有反向掩码0.0.0.255。



然后,我们需要创建一个NAT池,为此我们使用ip nat pool <pool name>命令并指定IP地址池200.124.22.1 200.124.22.2。 这意味着我们仅提供两个外部IP地址。 接下来,该命令使用netmask关键字并输入子网掩码255.255.255.252。 掩码的最后一个八位位组是(255-池地址数为1),因此,如果池中有254个地址,则子网掩码将为255.255.255.0。 这是一个非常重要的参数,因此在设置动态NAT时,请确保输入正确的网络掩码值。

接下来,我们使用一个启动NAT机制的命令:ip nat内部源列表1池NWKING,其中NWKING是池名称,列表1表示访问列表ACL号1。 请记住-为了使此命令生效,您必须首先创建动态地址池和访问列表。

因此,在我们的条件下,第一个要访问Internet的设备可以做到这一点,第二个设备也可以做到这一点,但是第三个设备必须等待直到其中一个池地址被释放。 配置动态NAT包括4个步骤:确定输入和输出接口,确定“有趣”流量,创建NAT池并进行设置。
现在,我们将转到Packet Tracer并尝试配置动态NAT。 首先,我们必须删除静态NAT设置,为此我们依次输入命令:

源静态192.168.1.10 200.124.22.1中没有IP NAT
源静态192.168.1.11 200.124.22.2中没有IP NAT
源静态192.168.1.100 200.124.22.3中没有IP NAT。

接下来,我使用access-list 1 permit 192.168.1.0 0.0.0.255命令创建整个网络的List 1访问列表,并使用ip nat pool NWKING 200.124.22.1 200.124.22.2 netmask 255.255.255.252命令配置NAT池。 在此命令中,我指定了池的名称,进入池的地址以及网络掩码。

然后,我使用ip nat inside source list 1命令指示此NAT是内部的还是外部的,以及从NAT那里获取信息的源(在我们的示例中是list),然后,系统将提示是整个池还是特定接口。 我选择池,因为我们有多个外部地址。 如果选择接口,则需要指定具有特定IP地址的端口。 在最终形式中,命令将如下所示:源列表1 pool NWKING内的ip nat。 现在,该池由两个地址200.124.22.1和200.124.22.2组成,但是您可以自由地更改它们或添加未绑定到特定接口的新地址。

您必须确保路由表已更新,以便池中的任何这些IP地址都必须定向到该设备,否则您将不会收到返回流量。 为了确保设置有效,我们将重复对静态NAT执行的云路由器的ping操作。 我将打开“路由器1”路由器窗口以查看调试模式消息,并从3个设备中的每个ping通它。



我们看到ping数据包来自的所有源地址都与设置相对应。 PC0 , . Router 1, , 200.124.22.1 200.124.22.2. , , . PC0, , , 200.124.22.1.

NAT ? Router0 clear ip nat translation * «» . show ip nat translation, .

NAT show ip nat statistics.



, , NAT/PAT. , 0, . , hits misses ( ), .

IP- – NAT, PAT. PAT , NAT: , «» , NAT PAT. , , , PAT . NAT PAT overload, . NAT PAT.



, NWKING, , 200.124.22.1, 255.255.255.0. , ip nat 1 pool NWKING 200.124.22.1 200.124.22.1 netmask 255.255.255.0 source interface 200.124.22.1 G0/1. IP-.

IP-, . , . NAT , , , NAT IP- . , IP- .

Packet Tracer. NAT no Ip nat inside source list 1 NWKING NAT no Ip nat pool NWKING 200.124.22.1 200.124.22.2 netmask 225.255.255.252.

PAT Ip nat pool NWKING 200.124.22.2 200.124.22.2 netmask 225.255.255.255. IP-, , 200.124.22.1, 200.124.22.2. , .

PAT Ip nat inside source list 1 pool NWKING overload. PAT. , , , PC0 Router1 200.124.22.10. , , , , IP- 200.124.22.2. , PC1 Server0.

, Router0. , , , Router1 IP- 200.124.22.2.



show ip nat statistics, PAT.



, , , 12, .

- — Ip nat inside source list 1 interface gigabit Ethernet g0/1 overload. PC0, , 200.124.22.1, ! : , , NAT- IP- . .
, . Packet Tracer, NAT PAT. ICND1 — CCNA, , , .


感谢您与我们在一起。 你喜欢我们的文章吗? 想看更多有趣的资料吗? 通过下订单或将其推荐给您的朋友来支持我们,为我们为您开发的入门级​​服务器的独特模拟,为Habr用户提供30%的折扣: 关于VPS(KVM)E5-2650 v4(6核)的全部真相10GB DDR4 240GB SSD 1Gbps从$ 20还是如何划分服务器? (RAID1和RAID10提供选件,最多24个内核和最大40GB DDR4)。

戴尔R730xd便宜2倍? 只有我们有2台Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100电视在荷兰起价199美元 戴尔R420-2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB-$ 99起! 阅读有关如何构建基础架构大厦的信息。 使用价格为9000欧元的Dell R730xd E5-2650 v4服务器的上等课程?

Source: https://habr.com/ru/post/zh-CN465789/


All Articles