欢迎光临
我们一直在努力

数据通信15-网络地址转换

一.NAT概述

NAT产生背景

随着互联网用户的增多,IPv4的公有地址资源显得越发短缺。 同时IPv4公有地址资源存在地址分配不均的问题,这导致部分地区的IPv4可用公有地址严重不足。 为解决该问题,使用过渡技术解决IPv4公有地址短缺就显得尤为必要。

私网IP地址

公有地址:由专门的机构管理、分配,可以在Internet上直接通信的IP地址。 私有地址:组织和个人可以任意使用,无法在Internet上直接通信,只能在内网使用的IP地址。 A、B、C类地址中各预留了一些地址专门作为私有IP地址: 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 在这里插入图片描述

NAT技术原理

NAT:对IP数据报文中的IP地址进行转换,是一种在现网中被广泛部署的技术,一般部署在网络出口设备,例如路由器或防火墙上。 NAT的典型应用场景:在私有网络内部(园区、家庭)使用私有地址,出口设备部署NAT,对于“从内到外”的流量,网络设备通过NAT将数据包的源地址进行转换(转换成特定的公有地址),而对于“从外到内的”流量,则对数据包的目的地址进行转换。 通过私有地址的使用结合NAT技术,可以有效节约公网IPv4地址。 在这里插入图片描述 由于私有地址无法在Internet上路由转发,访问Internet的IP数据包将缺乏路由无法到达私有网络出口设备。 如果使用了私有地址的私有网络需要访问Internet,必须在网络出口设备配置NAT,将访问Internet的IP数据报文中的私有网络源地址转换成公有网络源地址。

二 静态NAT

静态NAT原理

静态NAT:每个私有地址都有一个与之对应并且固定的公有地址,即私有地址和公有地址之间的关系是一对一映射。 支持双向互访:私有地址访问Internet经过出口设备NAT转换时,会被转换成对应的公有地址。同时,外部网络访问内部网络时,其报文中携带的公有地址(目的地址)也会被NAT设备转换成对应的私有地址。 在这里插入图片描述

静态NAT转换示例

在这里插入图片描述

家庭网络内部情况

在图的左边,有三个设备,它们的 IP 地址分别是 192.168.1.1、192.168.1.2 和 192.168.1.3。这些地址属于私有 IP 地址,就好比是你家里不同房间的门牌号,只能在家庭网络这个小范围内使用,出了家门就不管用啦。

家庭网络访问互联网(上方流程)

  • 家里设备发起请求:假设 IP 地址为 192.168.1.1 的设备想要访问互联网上 Web 服务器(IP 地址是 200.1.2.3 ),它发出的数据包源 IP 是 192.168.1.1 ,目的 IP 是 200.1.2.3 。这就好比你从家里给远方的朋友寄信,信上写着你家在家庭小区里的门牌号(私有 IP )和朋友家的真实地址(公网 IP )。
  • NAT 设备转换地址:数据包到达 NAT 设备(可以理解为家庭网络的“门卫” ),NAT 设备会把数据包的源 IP 地址从 192.168.1.1 转换为 122.1.2.1 (这是一个公网 IP 地址,相当于家庭小区对外的统一门牌号 ),然后再把数据包发送到互联网上。这样,互联网上的服务器看到的是 122.1.2.1 这个地址在访问它。
  • 服务器回复:Web 服务器收到请求后,要给你回复。它发出的数据包源 IP 是 200.1.2.3 ,目的 IP 是 122.1.2.1 。这就好比朋友给你回信,信上写着他的地址和你家小区对外的门牌号。
  • NAT 设备再转换回来:当回复的数据包回到 NAT 设备时,NAT 设备又会把目的 IP 地址从 122.1.2.1 转换回 192.168.1.1 ,然后把数据包发送给 192.168.1.1 这个设备。这样,家里的设备就能收到互联网服务器的回复啦。
  • 互联网主机访问家庭网络设备(下方流程)

  • 外网主机发起请求:假设外网主机(IP 地址为 202.1.2.3 )想要访问家庭网络中 IP 地址为 192.168.1.3 的设备。外网主机发出的数据包源 IP 是 202.1.2.3 ,目的 IP 是 122.1.2.1 (家庭网络对外的公网 IP )。这就好比外面的人想给你家里某个房间的人写信,但他只知道你家小区对外的门牌号。
  • NAT 设备转换目的地址:数据包到达 NAT 设备后,NAT 设备会把目的 IP 地址从 122.1.2.1 转换为 192.168.1.3 ,然后把数据包发送给家庭网络中的 192.168.1.3 设备。
  • 家庭设备回复:192.168.1.3 设备收到请求后,要回复外网主机。它发出的数据包源 IP 是 192.168.1.3 ,目的 IP 是 202.1.2.3 。
  • NAT 设备转换源地址:回复的数据包经过 NAT 设备时,NAT 设备会把源 IP 地址从 192.168.1.3 转换为 122.1.2.1 ,然后发送给外网主机。这样,外网主机就能收到家庭网络设备的回复了。
  • 总的来说,NAT 设备就像是家庭网络和互联网之间的翻译官和门卫,它通过转换 IP 地址,让家庭网络里的设备能访问互联网,也能在一定条件下让互联网上的设备访问家庭网络里的设备。

    静态NAT配置介绍

    静态NAT配置方式

  • 接口视图下配置静态NAT
    • 命令:[Huawei – GigabitEthernet0/0/0] nat static global {global – address} inside {host – address}。其中,global参数用于配置外部公有地址,inside参数用于配置内部私有地址。
  • 系统视图下配置静态NAT
    • 配置命令:[Huawei] nat static global {global – address} inside {host – address},视图为系统视图。之后需在具体接口下开启静态NAT,命令为[Huawei – GigabitEthernet0/0/0] nat static enable,即在接口下使能nat static功能。
  • 静态NAT配置示例

    在这里插入图片描述 在R1上配置静态NAT将内网主机的私有地址一对一映射到公有地址。 [R1]interface GigabitEthernet0/0/1 [R1-GigabitEthernet0/0/1]ip address 122.1.2.1 24 [R1-GigabitEthernet0/0/1]nat static global 122.1.2.1 inside 192.168.1.1 [R1-GigabitEthernet0/0/1]nat static global 122.1.2.2 inside 192.168.1.2 [R1-GigabitEthernet0/0/1]nat static global 122.1.2.3 inside 192.168.1.3

    三 动态NAT

    动态NAT原理

    动态NAT:静态NAT严格地一对一进行地址映射,这就导致即便内网主机长时间离线或者不发送数据时,与之对应的公有地址也处于使用状态。为了避免地址浪费,动态NAT提出了地址池的概念:所有可用的公有地址组成地址池。 当内部主机访问外部网络时临时分配一个地址池中未使用的地址,并将该地址标记为“In Use”。当该主机不再访问外部网络时回收分配的地址,重新标记为“Not Use”。 在这里插入图片描述

    动态NAT转换示例

    在这里插入图片描述 在这里插入图片描述

    整体场景

    有一个内部网络,里面有三台设备,它们的IP地址分别是192.168.1.1、192.168.1.2和192.168.1.3。这些地址属于私有地址,不能直接在互联网上使用。现在192.168.1.1这台设备想要访问互联网上IP地址为200.1.2.3的Web服务器。由于私有地址无法直接与公网通信,就需要借助NAT来帮忙。

    过程步骤

  • 选择转换地址(STEP 1): NAT设备有一个NAT地址池,里面有一些公网IP地址。现在地址池中有三个地址:122.1.2.1、122.1.2.2和122.1.2.3 ,其中122.1.2.1已经被标记为“ In Use(正在使用)”,122.1.2.2和122.1.2.3标记为“Not Use(未使用)”。当192.168.1.1这台设备发出访问请求时,NAT设备会从地址池中挑选一个未使用的地址,这里选中了122.1.2.2 ,然后把这个地址标记为“ In Use”。这样,原本源IP为192.168.1.1、目的IP为200.1.2.3的请求,源IP就被转换为了122.1.2.2 ,目的IP还是200.1.2.3 。
  • 生成NAT映射表(STEP 2): NAT设备会创建一个临时的NAT映射表。这个表记录了私有地址和公网地址的对应关系。在这个例子中,映射表中就有一条记录:私有地址192.168.1.1对应公网地址122.1.2.2 。当Web服务器回复响应时,NAT设备就能根据这个映射表,把目的IP再转换回192.168.1.1 ,从而让内部网络的设备能收到回复。
  • 简单来说,NAT就像是一个翻译官,把内部网络设备的私有IP地址翻译成公网IP地址,让它们能和互联网上的服务器通信,同时通过映射表记住翻译的对应关系,保证通信能正常来回进行。

    动态NAT配置介绍

  • 创建地址池
    • 命令:[Huawei] nat address – group group – index start – address end – address
    • 说明:配置公有地址范围,group – index 为地址池编号,start – address、end – address 分别为地址池起始地址、结束地址。
  • 配置地址转换的 ACL 规则
    • 命令:
      • [Huawei] acl number
      • [Huawei – acl – basic – number] rule permit source source – address source – wildcard
    • 说明:配置基础 ACL,匹配需要进行动态转换的源地址范围。
  • 接口视图下配置带地址池的 NAT Outbound
    • 命令:[Huawei – GigabitEthernet0/0/0] nat outbound acl – number address – group group – index [no – pat]
    • 说明:接口下关联 ACL 与地址池进行动态地址转换,no – pat 参数指定不进行端口转换。
  • 动态NAT配置示例

    在这里插入图片描述 在R1上配置动态NAT将内网主机的私有地址动态映射到公有地址。 [R1]nat address-group 1 122.1.2.1 122.1.2.3 [R1]acl 2000 [R1-acl-basic-2000]rule 5 permit source 192.168.1.0 0.0.0.255 [R1-acl-basic-2000]quit [R1]interface GigabitEthernet0/0/1 [R1-GigabitEthernet0/0/1]nat outbound 2000 address-group 1 no-pat

    四 NAPT、Easy-IP

    NAPT原理

    动态NAT选择地址池中的地址进行地址转换时不会转换端口号,即No-PAT(No-Port Address Translation,非端口地址转换),公有地址与私有地址还是1:1的映射关系,无法提高公有地址利用率。 NAPT(Network Address and Port Translation,网络地址端口转换):从地址池中选择地址进行地址转换时不仅转换IP地址,同时也会对端口号进行转换,从而实现公有地址与私有地址的1:n映射,可以有效提高公有地址利用率。 在这里插入图片描述 NAPT借助端口可以实现一个公有地址同时对应多个私有地址。该模式同时对IP地址和传输层端口进行转换,实现不同私有地址(不同的私有地址,不同的源端口)映射到同一个公有地址(相同的公有地址,不同的源端口)。

    NAPT转换示例

    在这里插入图片描述 在这里插入图片描述 好的!我用一个生活化的例子来讲解NAPT(端口地址转换),保证你一听就懂:


    🌐 想象一个快递站的故事

    假设你家小区有3个人(张三、李四、王五)想给同一个外地朋友(IP地址200.1.2.3)寄快递。但小区只有一个对外联系电话(公网IP122.1.2.1)。NAPT就像快递站的智能分拣系统,它用同一个电话号码+不同的「分机号」来区分不同住户的包裹。


    🛠️ NAPT的工作流程

  • 张三寄包裹(内部发起请求)

    • 张三写包裹单: 发件人:张三(房号101) → 对应 192.168.1.1:5500 收件人:朋友(地址200.1.2.3:80)
    • 快递站(NAPT设备)操作:
      • 把发件人改成:小区总机(122.1.2.1)+ 分机号8888
      • 记录分机号对应关系:101房 → 分机8888
    • 最终包裹单变成: 发件人:122.1.2.1:8888 收件人:200.1.2.3:80
  • 李四也寄包裹

    • 同样流程,但分机号换成9999: 记录:102房(李四)→ 分机9999
    • 包裹单: 发件人:122.1.2.1:9999 收件人:200.1.2.3:80

  • 📨 朋友回寄包裹(外部返回数据)

  • 朋友回寄给张三:
    • 包裹单写: 发件人:200.1.2.3:80 收件人:122.1.2.1:8888
  • 快递站(NAPT)操作:
    • 查分机号记录表:8888 → 101房张三
    • 把收件人改成:张三(房号101)
  • 包裹最终送达张三!

  • 🔑 NAPT的核心秘密

    • IP不够?端口来凑! 一个公网IP(如122.1.2.1)通过不同端口号(如:8888、:9999)区分多个内网设备。
    • 映射表是关键 NAPT设备会动态维护一张表(如下图),记录:
      内部IP:端口外部IP:端口
      192.168.1.1:5500 122.1.2.1:8888
      192.168.1.2:6000 122.1.2.1:9999

    ⚠️ 和普通NAT的区别

    • 普通NAT:一个内网IP固定对应一个公网IP(土豪做法,浪费IP)。
    • NAPT:多个内网IP共享一个公网IP,靠端口号区分(精打细算,家用路由器的标配)。

    🌟 NAPT的三大优势

  • 省IP:一个公网IP带整个小区上网。
  • 防暴露:外部只能看到公网IP+端口,不知道内部有几台设备。
  • 低成本:家庭宽带只需1个公网IP(运营商省钱了)。

  • ▶️ 总结:NAPT就像快递站的智能分拣员,用「1个总机号+无数分机号」解决多人共用同一个对外联系地址的问题!

    NAPT配置示例

    在这里插入图片描述 在R1上配置NAPT让内网所有私有地址通过122.1.2.1访问公网。 [R1]nat address-group 1 122.1.2.1 122.1.2.1 [R1]acl 2000 [R1-acl-basic-2000]rule 5 permit source 192.168.1.0 0.0.0.255 [R1-acl-basic-2000]quit [R1]interface GigabitEthernet0/0/1 [R1-GigabitEthernet0/0/1]nat outbound 2000 address-group 1

    Easy IP

    Easy IP:实现原理和NAPT相同,同时转换IP地址、传输层端口,区别在于Easy IP没有地址池的概念,使用接口地址作为NAT转换的公有地址。 Easy IP适用于不具备固定公网IP地址的场景:如通过DHCP、PPPoE拨号获取地址的私有网络出口,可以直接使用获取到的动态地址进行转换。 在这里插入图片描述

    DHCP:Dynamic Host Configuration Protocol ,动态主机配置协议 PPPoE:Point-to-Point Protocol over Ethernet ,以太网承载PPP协议

    Easy IP配置示例

    在这里插入图片描述在R1上配置Easy-IP让内网所有私有地址通过122.1.2.1访问公网。 [R1]acl 2000 [R1-acl-basic-2000]rule 5 permit source 192.168.1.0 0.0.0.255 [R1-acl-basic-2000]quit [R1]interface GigabitEthernet0/0/1 [R1-GigabitEthernet0/0/1]nat outbound 2000

    五 NAT Server

    NAT Server使用场景

    NAT Server:指定[公有地址:端口]与[私有地址:端口]的一对一映射关系,将内网服务器映射到公网,当私有网络中的服务器需要对公网提供服务时使用。 外网主机主动访问[公有地址:端口]实现对内网服务器的访问。

    在这里插入图片描述

    NAT Server转换示例

    在这里插入图片描述 这张图展示的是网络地址转换(NAT)的工作过程,以下用通俗的语言来讲解:

    整体背景

    假设你家里有一台电脑(私有地址:192.168.1.10 ),通过路由器(带有NAT功能)连接到互联网。路由器有一个公网地址122.1.2.1,而另一台在互联网上的电脑地址是200.1.2.3 。家里的电脑想访问互联网上的这台电脑提供的Web服务(端口80 )。

    具体流程

  • 家里电脑发起请求:家里的电脑(源地址192.168.1.10 ,端口80 )想要访问互联网上的电脑(目的地址200.1.2.3 ,端口47819 )。这个请求先到达路由器。但路由器不能直接用私有地址把请求发到互联网上,因为私有地址在互联网上不被识别。所以,路由器会查看NAT映射表,把私有地址192.168.1.10:80 转换成公网地址122.1.2.1:80 ,然后发送到互联网上。此时请求的源地址变成了122.1.2.1:80 ,目的地址是200.1.2.3:47819 。
  • 互联网上的电脑响应:互联网上的电脑(200.1.2.3 )收到请求后,会进行响应。它回复的数据包目的地址就是刚才转换后的公网地址122.1.2.1:80 ,源地址是自己的200.1.2.3:47819 。这个响应数据包又回到了路由器。
  • 路由器转换回复地址:路由器收到响应数据包后,再查看NAT映射表。它发现公网地址122.1.2.1:80 对应着家里电脑的私有地址192.168.1.10:80 ,于是把数据包的目的地址从122.1.2.1:80 转换回192.168.1.10:80 ,然后把数据包转发给家里的电脑。这样,家里的电脑就能收到互联网上电脑的回复了。
  • NAT的作用总结

    NAT就像是一个翻译官,它在私有网络(比如家里的网络)和互联网之间转换地址。通过NAT,多个私有网络中的设备可以共享一个公网IP地址来访问互联网,节省了公网IP地址资源,同时也在一定程度上保护了私有网络的安全性,因为外部网络直接看到的只是路由器的公网地址,而看不到内部私有地址。

    NAT Server配置示例

    在这里插入图片描述 在R1上配置NAT Server将内网服务器192.168.1.10的80端口映射到公有地址122.1.2.1的8080端口。 [R1]interface GigabitEthernet0/0/1 [R1-GigabitEthernet0/0/1]ip address 122.1.2.1 24 [R1-GigabitEthernet0/0/1]nat server protocol tcp global 202.10.10.1 www inside 192.168.1.1 8080

    何种NAT转换可以让外部网络主动访问内网服务器? 静态NAT、NAT server都可以。静态NAT实现了双向互访,所以自然容许外部网络对内网服务器的访问。NAT Server的场景本身就是让外部网络主动访问内部服务器。

    NAPT相比较于No-PAT有哪些优点? NAPT支持多个私有地址转换为一个共同的公有地址,公有地址利用率更高。

    赞(0)
    未经允许不得转载:171主机测评 » 数据通信15-网络地址转换
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址