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

第8章网络协议-NAT

1、NAT概述

NAT产生的技术背景

  • 随着互联网用户的增多,IPv4的公有地址资源显得越发短缺。
  • 时IPv4公有地址资源存在地址分配不均的问题,这导致部分地区的IPv4可用公有地址严重不足
  • 一方面NAT缓解了IPV4地址短缺的问题,另一方面NAT技术让外网无法直接与使用私有地址的内网进行通信,提升了内网的安全性

1751466184021

私有IP地址

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

1751466233406

NAT技术原理

  • NAT:对IP数据报文中的IP地址进行转换,是一种在现网中被广泛部署的技术,一般部署在网络出口设备,例如路由器或防火墙上。绝大多数交换机不支持NAT功能
  • NAT的典型应用场景:在私有网络内部(园区、家庭)使用私有地址,出口设备部署NAT,对于“从内到外”的流量,网络设备通过NAT将数据包的源地址进行转换(转换成特定的公有地址),而对于”从外到内的”流量,则对数据包的目的地址进行转换。
  • 通过私有地址的使用结合NAT技术,可以有效节约公网IPV4地址。

1751466760960

2、静态NAT

静态NAT原理

  • 静态NAT:每个私有地址都有一个与之对应并且固定的公有地址,即私有地址和公有地址之间的关系是一对一映射。
  • 支持双向互访:私有地址访问Internet经过出口设备NAT转换时,会被转换成对应的公有地址。同时,外部网络访问内部网络时,其报文中携带的公有地址(目的地址)也会被NAT设备转换成对应的私有地址。【并不能解决IPv4地址数量有限的问题,需要申请多个IP地址】

1751466921106

1751467461936

静态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功能。

1751467689823

3、动态NAT

动态NAT原理

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

1751467883476

1751467994596

1751468038498

动态NAT配置介绍

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

1751468324140

4、NAPT、Easy-IP

NAPT原理

  • 动态NAT选择地址池中的地址进行地址转换时不会转换端口号,即No-PAT(No-PortAddress Translation,非端口地址转换),公有地址与私有地址还是1:1的映射关系,无法提高公有地址利用率。
  • NAPT(NetworkAddressandPortTranslation,网络地址端口转换):从地址池中选择地址进行地址转换时不仅转换IP地址,同时也会对端口号进行转换,从而实现公有地址与私有地址的1:n映射,可以有效提高公有地址利用率。

1751468583280

1751468634119

1751468646777

NAPT配置示例

1751468735838

Easy IP

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

1751468909326

EasyIP配置示例

1751468965812

5、NAT Server

NATServer使用场景

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

1751469092827

NAT Server转换示例

1751469164397

NAT Server配置示例

1751469189146

思考题:

1、何种NAT转换可以让外部网络主动访问内网服务器?

NAT server;
静态NAT

2、NAPT相比较于No-PAT有哪些优点?

节省IP地址

章节总结

  • 在私有网络内使用私有地址,并在网络出口使用NAT技术,可以有效减少网络所需的IPv4公有地址数目,NAT技术有效地缓解了IPV4公有地址短缺的问题。
  • 动态NAT、NAPT、EasyIP为私网主机访问公网提供源地址转换。
  • NATServer实现了内网主机对公网提供服务。
  • 静态NAT提供了一对一映射,支持双向互访。

练习题

企业网络在运行了一段时间后,网络管理员发现了一个现象:互联网用户通过公网地址可以正常访问Server,内网用户也可以通过内网地址正常访问Server,但内网用户无法通过公网地址访问Server,经过排查,安全策略配置都正确。请分析造成该现象的原因并提供解决方案。

1751470943137

1、内部用户访问服务器的公网IP封装

SIP=10.11.11.11(张三) DIP=200.200.200.1(李四)

2、数据会到防火墙,NAT Server

SIP=10.11.11.11 DIP=10.10.10.10(NAT Server)

SIP=200.200.200.10(NAT转换策略) DIP=10.10.10.10(NAT Server)

3、服务器回包

SIP=10.10.10.10(王五) DIP=10.11.11.11(张三)

原因:防火墙没有配置内网到内网区域的的源NAT策略。
解决方案:配置内网到内网区域的源NAT策略。
【解析】缺少域内nat,当内网终端访问服务器映射的公网iP地址后,防火墙会将目的地址转换为服务器的私网地址,并转发给内部服务器,当服务器在回包时发现对端都在内网,直接转发给终端,当PC收到此响应报文时发现并不是自己所访问的服务器(公网地址)的响应报文,会将报文丢弃,从而导致不通。解决思路是:把PC访问服务器的源IP先转换成公网IP,再发起访问。
http://www.lqws.cn/news/606439.html

相关文章:

  • 微信小程序入门实例_____打造你的专属单词速记小程序
  • 开源 | V3.1.1慧知开源重卡运营充电桩平台 - 重卡运营充电桩平台管理解决方案;企业级完整代码 多租户、模拟器、多运营商、多小程序;
  • Qt 5.9 XML文件写入指南
  • React Native 安卓、苹果、鸿蒙5.0 三端适配方案:条件编译 + 平台适配层
  • 如何设置电脑定时休眠?操作指南详解
  • 前端面试专栏-主流框架:16. vue工程化配置(Vite、Webpack)
  • 哪款即时通讯服务稳定性靠谱?18家对比
  • 虚拟 SD 卡 MBR 与分区表结构深度解析:基于 QEMU 生成的 2G RAW 镜像
  • 解决 Cannot create Swift scratch context
  • WPF学习笔记(21)ListBox、ListView与控件模板
  • minio详细教程丨如何3分钟搭建minio
  • 操作系统考试大题-处理机调度算法-详解-1
  • Ollama最新快速上手指南:从安装到精通本地AI模型部署
  • 容器与 Kubernetes 基本概念与架构
  • pnpm 升级
  • 解决在Pom文件中写入依赖坐标后, 刷新Maven但是多次尝试都下载不下来
  • 使用开源项目youlai_boot 导入到ecplise 中出现很多错误
  • 【飞算JavaAI】智能开发助手赋能Java领域,飞算JavaAI全方位解析
  • Kuikly 与 Flutter 的全面对比分析,结合技术架构、性能、开发体验等核心维度
  • Flutter
  • Oracle 证书等级介绍
  • Rust 安装使用教程
  • 去中心化身份:2025年Web3身份验证系统开发实践
  • 【数据结构】排序算法:冒泡与快速
  • MacOS 安装brew 国内源【超简洁步骤】
  • transformers==4.42.0会有一个BUG
  • 从SEO到GEO:AI时代的品牌大模型种草与数字营销重构
  • Ubuntu-18.04-bionic 的apt的/etc/apt/sources.list 更换国内镜像软件源 笔记250702
  • WPF学习笔记(20)Button与控件模板
  • 从模型部署到AI平台:云原生环境下的大模型平台化演进路径