当前位置: 首页 > news >正文

NAT的核心原理以及配置

NAT(Network Address Translation,网络地址转换)是解决 IPv4 地址资源枯竭的关键技术,其核心作用是在私有网络(内部网络)与公共网络(外部网络)的边界设备上,对数据包的 IP 地址和端口信息进行转换,实现私有 IP 地址与公网 IP 地址的映射,从而让多个内部主机共享少量公网 IP 访问外部网络,或让外部网络访问内部特定服务。

 一、NAT 核心原理概述

1. NAT 的核心作用

  • 节省公网 IP 资源:通过端口复用(NAPT),多个内部主机可共享一个公网 IP。
  • 隐藏内部网络结构:外部网络仅能看到 NAT 设备的公网 IP,无法直接获取内部主机的私有 IP,提升安全性。
  • 灵活部署内部服务:通过端口映射(NAT Server),可将内部服务(如 Web、FTP)暴露给外部网络访问。

2. NAT 的主要类型及原理

华三设备支持的 NAT 类型与通用 NAT 分类一致,核心原理如下:

(1)静态 NAT(Static NAT)
  • 原理:建立内部私有 IP 与公网 IP 的一对一永久映射(无端口参与)。即内部主机的私有 IP 固定对应一个公网 IP,双向通信时地址直接替换。
  • 适用场景:需外部网络固定访问内部特定主机(如服务器),且内部主机需固定公网身份的场景。
(2)动态 NAT(Dynamic NAT)
  • 原理:定义一个公网 IP 地址池,内部主机访问外部时,NAT 设备从地址池中动态分配公网 IP(一对一临时映射),会话结束后释放 IP 回地址池。
  • 特点:内部主机数量可大于地址池容量(但同时在线主机数不能超过地址池大小),无端口复用,仅替换 IP。
  • 适用场景:内部主机数较少,且需独立公网 IP 身份访问外部的场景。
(3)网络地址端口转换(NAPT,Network Address Port Translation)
  • 原理:通过公网 IP + 端口的组合区分不同内部主机。即内部主机访问外部时,NAT 设备不仅替换源 IP 为指定公网 IP,还会替换源端口为唯一端口(端口范围通常为 1024-65535),并记录 “内部 IP: 端口→公网 IP: 端口” 的映射关系(NAT 表)。外部响应数据包通过公网 IP 和端口反向查询 NAT 表,转换为内部 IP 和端口。
  • 特点:多个内部主机可共享一个公网 IP(通过端口区分),是最常用的 NAT 类型。
  • 华三典型实现:Easy IP(基于接口公网 IP 的 NAPT)、地址池 NAPT(基于公网地址池的 NAPT)。
(4)NAT Server(端口映射 / 静态端口转换)
  • 原理:将内部服务的 “私有 IP: 端口” 映射到公网 IP 的指定端口,外部主机访问公网 IP: 端口时,NAT 设备自动转换为内部 IP: 端口。
  • 适用场景:向外部暴露内部服务(如 Web、邮件服务器),需指定协议(TCP/UDP)和端口。

3. NAT 的工作流程(以 NAPT 为例)

  1. 内部访问外部
    内部主机(如 192.168.1.10:1234)发送数据包到外部主机(如 203.0.113.1:80),数据包到达 NAT 设备。
    NAT 设备查询配置规则(如 ACL 定义的内部网段),确认需转换后,从公网 IP(或地址池)中选择一个 IP(如 202.100.1.1),并分配一个唯一端口(如 5678),替换数据包的源 IP 和端口为 “202.100.1.1:5678”,同时在 NAT 表中记录映射关系:192.168.1.10:1234 → 202.100.1.1:5678
    转换后的数据包(源 IP:202.100.1.1:5678,目的 IP:203.0.113.1:80)被转发到外部网络。

  2. 外部响应内部
    外部主机响应数据包(源 IP:203.0.113.1:80,目的 IP:202.100.1.1:5678)到达 NAT 设备。
    NAT 设备查询 NAT 表,通过 “202.100.1.1:5678” 反向匹配到内部主机 “192.168.1.10:1234”,替换目的 IP 和端口为 “192.168.1.10:1234”,转发至内部主机。

  3. 会话结束
    连接断开后,NAT 表项根据超时时间(如 TCP 默认 240 秒,UDP 默认 30 秒)自动删除,释放端口资源。

                                              NAT实验

二,实验拓扑图

三、实验目的

1.按照图示配置 IP 地址
2.私网 A 通过 R1 接入到互联网,私网 B 通过 R3 接入到互联网
3.私网 A 内部存在 Vlan10 和 Vlan20,通过 R1 上单臂路由访问外部网络
4.私网 A 通过 NAPT 使 Vlan10 和 Vlan20 都能够使用 R1 的公网地址访问互联网
5.私网 B 通过在 R3 上配置 EASY IP 访问互联网
6.私网 A 配置 NAT SERVER 把 FTPA 的 FTP 服务发布到公网,使 PCB 可以访问

四、实验步骤

步骤一:配置IP地址

R1:仅举例一个
[H3C]sysn R1
[R1]int g0/0
[R1-GigabitEthernet0/0]ip add 100.1.1.1 24
[R1-GigabitEthernet0/0]int g0/1
[R1-GigabitEthernet0/1]quit

步骤二:私网 A 内部单臂路由配置

[R1]int g0/0.1
[R1-GigabitEthernet0/0.1]vlan-type dot1q vid 10
[R1-GigabitEthernet0/0.1]ip add 192.168.1.254 24
[R1-GigabitEthernet0/0.1]int g0/0.2
[R1-GigabitEthernet0/0.2]vlan-type dot1q vid 20
[R1-GigabitEthernet0/0.2]ip add 192.168.2.254 24
[R1-GigabitEthernet0/0.2]quit

步骤三:私网 A 通过 NAPT 使 Vlan10 和 Vlan20 都能够使用 R1 的公网地址访问互联网

分析:根据需求得知,ACL 需要配置允许 192.168.1.0/24 和 192.168.2.0/24 网段;私网 A 只有 1 个公网地址可用,意味着创建的 NAT 地址池起始和结束地址就都是 100.1.1.1

1.R1 上创建基本 ACL,允许 192.168.1.0/24 和 192.168.2.0/24 网段
[R1]acl basic 2000
[R1-acl-ipv4-basic-2000]rule permit source 192.168.1.0 0.0.0.255
[R1-acl-ipv4-basic-2000]rule permit source 192.168.2.0 0.0.0.255
2.R1 上创建 NAT 地址池,设置公网地址
[R1]nat address-group 1
[R1-address-group-1]address 100.1.1.1 100.1.1.1
3.在 R1 的公网接口上配置 NAPT
[R1]interface g0/1
[R1-GigabitEthernet0/1]nat outbound 2000 address-group 1 

步骤四:私网 B 通过在 R3 上配置 EASY IP 访问互联网

分析:根据需求得知,ACL 需要配置允许 192.168.1.0/24 网段;使用 EASY IP,就无需配置 NAT 地址池,直接在公网接口上配置即可,EASY IP 会自动识别公网接口的 IP 地址

 1.R3 上创建基本 ACL,允许 192.168.1.0/24 网段
[R3]acl basic 2000
[R3-acl-ipv4-basic-2000]rule permit source 192.168.1.0 0.0.0.255
 步骤 2:在 R3 的公网接口上配置 EASY IP
[R3]interface g0/0
[R3-GigabitEthernet0/0]nat outbound 2000

步骤五:私网 A 配置 NAT SERVER 把 FTPA 的 FTP 服务发布到公网,使 PCB 可以访问

分析:根据需求得知,需要发布 FTPA 的 FTP 服务,也就是把 R1 的公网地址的 20 和 21 端口映射到 FTPA 的私网地址

1.在FTP-A配置FTP服务:
[FTPA]ftp server enable 
[FTPA]local-user maoqi class manage 
New local user added.
[FTPA-luser-manage-maoqi]password simple 123456789a
[FTPA-luser-manage-maoqi]service-type ftp
[FTPA-luser-manage-maoqi]authorization-attribute user-role level-15
[FTPA-luser-manage-maoqi]quit
 2.在 R1 的公网接口上配置 NAT SERVER,映射端口 20 和 21(ftp的端口号)
##配置NAT Server(TCP协议,公网IP:端口→内部IP:端口)
[R1-gabitEthernet0/1]nat server protocol tcp globalcurrent-interface 20 21 inside 192.168.1.1 20 21


文章转载自:
http://atelectatic.tmizpp.cn
http://accusingly.tmizpp.cn
http://caladium.tmizpp.cn
http://caryatid.tmizpp.cn
http://bookworm.tmizpp.cn
http://caravel.tmizpp.cn
http://atrabiliar.tmizpp.cn
http://castanet.tmizpp.cn
http://bicky.tmizpp.cn
http://apposable.tmizpp.cn
http://choragic.tmizpp.cn
http://anticyclonic.tmizpp.cn
http://brownette.tmizpp.cn
http://absonant.tmizpp.cn
http://backing.tmizpp.cn
http://centremost.tmizpp.cn
http://biscuity.tmizpp.cn
http://astropologist.tmizpp.cn
http://asphaltite.tmizpp.cn
http://cana.tmizpp.cn
http://alptop.tmizpp.cn
http://carabao.tmizpp.cn
http://bpd.tmizpp.cn
http://angleton.tmizpp.cn
http://azoic.tmizpp.cn
http://abortion.tmizpp.cn
http://avaluative.tmizpp.cn
http://boneblack.tmizpp.cn
http://bedabble.tmizpp.cn
http://aggie.tmizpp.cn
http://www.dtcms.com/a/280795.html

相关文章:

  • CCF-GESP 等级考试 2025年6月认证Python四级真题解析
  • RDMA over RoCE V2设计2:系统框架设计考虑
  • Datawhale AI夏令营 机器学习2.1
  • 详解低速容错CAN(附与高速CAN对比表)
  • RabbitMQ第三章(企业级MQ应用方案)
  • 基于uniapp+vue3封装的一个日期选择组件
  • 【图像处理基石】什么是解析力?
  • A*算法详解
  • Transformer江湖录 第九章:大道归一 - 总结与展望
  • 鸿蒙和Android知识点
  • 微信小程序翻书效果
  • 面试遇到的问题
  • 服务器上PHP环境安装与更新版本和扩展(安装PHP、Nginx、Redis、Swoole和OPcache)
  • 如何解决服务器频繁重启的问题?
  • Linux修改ssh默认端口,禁止root登录,禁止密码登录并同时开启公钥认证
  • session与cookie的区别
  • 55 个热门网络面试问题及答案
  • KMP (Knuth-Morris-Pratt) 算法详解
  • UE5多人MOBA+GAS 23、制作一个地面轰炸的技能
  • NE综合实验3:链路聚合、VLAN与Trunk、STP、DHCP、OSPF及PPP整合部署
  • Redis 数据持久化
  • 渲染设计图的空间革命:可视化技术如何重塑设计决策
  • WPF中ListView控件详解
  • 阿里云ssh证书过期,如果更换并上传到服务器
  • 3D数据:从数据采集到数据表示,再到数据应用
  • 服务器、花生壳一个端口部署前后端分离项目
  • 微算法科技技术突破:用于前馈神经网络的量子算法技术助力神经网络变革
  • 从基础到进阶:MyBatis-Plus 分页查询封神指南
  • 暑期算法训练.1
  • redis的安装