笔记:NAT

一、NAT 的基本概念

NAT(Network Address Translation,网络地址转换) 是一种在 IP 网络中重新映射 IP 地址的技术,主要用于解决 IPv4 地址短缺问题,同时提供一定的网络安全防护作用。
功能: 将内部网络(私有网络)的 IP 地址转换为公共网络(如互联网)的 IP 地址,使多个内部设备可以共享一个或少量公共 IP 访问外部网络,反之亦然。

二、NAT的应用场景

单一公网IP

场景: 家庭或者小型企业,只有一个公网IP,多台设备需要上网。

企业网采用私有IP,Internet采用公有IP,私有IP的路由不允许联通到Internet,企业网接入Internet需要向运营商申请公有

IP。

IPv4公有IP比较稀缺,申请也需要较高的费用,普通企业只能申请少量的IPv4公有IP。

需求: 通过 NAT 将内部私有 IP 地址转换为同一公网 IP,实现多设备共享上网。
方式: 在路由器(或防火墙)上启用 NAT 功能,配置公网 IP 接口和内部私有 IP 网段(如192.168.1.0/24)。内部设备发送数据时,路由器将源 IP 替换为公网 IP;外部响应返回时,路由器根据 NAT 映射表将目标 IP 还原为内部设备的私有 IP。
优势:

  1. 节省公网 IP 资源:仅需一个公网 IP 即可支持数十甚至上百台设备联网。
  2. 简化网络配置:内部设备无需直接配置公网 IP,降低管理复杂度。

企业网络隔离与安全防护

场景: 企业内部网络包含多个子网(如办公网、研发网、服务器区),需限制不同子网之间的直接访问,同时允许特定子网访问互联网。
需求: 通过 NAT 实现子网间的 IP 地址隔离,并控制对外访问的流量。

**实现方式:**在边界防火墙或三层交换机上部署 NAT,为不同子网配置独立的私有 IP 网段(如办公网10.0.1.0/24、服务器区172.16.1.0/24)。当办公网设备访问互联网时,防火墙将源 IP 转换为公网 IP;外部设备无法直接访问内部私有 IP,需通过端口映射(Port Address Translation,PAT)开放特定服务(如 Web 服务器的 80/443 端口)。
优势:

  1. 增强网络安全性:隐藏内部真实 IP 地址,降低外部攻击风险。
  2. 精细化访问控制:通过 NAT 规则限制特定子网的上网权限(如禁止研发网直接访问互联网)。

数据中心服务器对外提供服务

场景: 数据中心部署多台服务器(如 Web 服务器、数据库服务器),需对外提供服务,但公网 IP 数量有限。
需求: 通过 NAT 将多台服务器的私有 IP 映射到少数公网 IP 的不同端口,实现 "多对一" 或 "一对一" 的地址转换。
实现方式: 端口映射(PAT):将多台服务器的私有 IP 与公网 IP 的不同端口绑定。

例如:

服务器 A(192.168.1.10:80)→ 公网 IP 203.0.113.1:8080

服务器 B(192.168.1.11:443)→ 公网 IP 203.0.113.1:8443

静态 NAT:为关键服务器分配固定的公网 IP(一对一映射),如数据库服务器需直接被外部系统访问。

优势:

  1. 高效利用公网 IP:通过端口复用,单个公网 IP 可承载多个服务。
  2. 灵活扩展服务:新增服务器时无需申请新公网 IP,只需调整 NAT 规则。

三、NAT的分类

1.NAT(网络地址转换)

一对一转换
定义: 将内部私有 IP 地址与公网 IP 地址进行固定的一对一映射,仅转换 IP 地址,不改变端口号。
特点:

1)每个内部 IP 对应唯一公网 IP,映射关系长期固定(需手动配置)。

2)内外网设备可双向主动通信(外部设备可通过公网 IP 直接访问内部设备)。

典型场景:

企业服务器(如 Web、FTP 服务器)需要对外提供服务,需固定公网 IP。

html 复制代码
# 华为设备配置指令
system-view
# 配置静态 NAT 映射
nat static global 203.0.113.50 inside 192.168.1.100(需转换的内网设备IP地址) 
# 指定接口(对内)
interface Ethernet0/0/0  
nat inbound # 启用入站 NAT(允许外部访问内部)
# 指定接口(对外)
interface Ethernet0/0/1
ip address 203.0.113.50 24  #公网IP地址
quit

2.PAT(端口地址转换)

多对一转换
定义: 将多个内部私有 IP 地址映射到同一个公网 IP 的不同端口,通过端口号区分不同设备的连接(即 "IP + 端口" 组合唯一标识一个内部设备)。

**特点:**仅需一个公网 IP即可支持大量内部设备同时联网(端口号范围:0-65535,理论上可支持约 6.5 万个连接)。仅支持内部设备主动发起连接,外部设备无法直接通过公网 IP 访问内部设备(需额外配置端口映射)。

典型场景:

家庭网络:家用路由器通过 PAT 让多台手机、电脑共享一个宽带公网 IP 上网。

企业网络:中小企业通过 PAT 实现数百台设备共用少量公网 IP 访问互联网。

运营商网络:CG-NAT(运营商级 NAT)通过 PAT 为数十万用户分配共享公网 IP。

html 复制代码
# # 华为设备配置指令
system-view
# 定义 ACL 匹配内网网段
acl number 2000   #创建ACL
rule 5 permit source 192.168.1.0 0.0.0.255  #规则5,允许192.168.1.0的网段通过
quit
# 配置 PAT(出接口公网 IP + ACL)
interface Ethernet0/0/1 # 外部接口(连接公网)
nat outbound 2000 # 关联 ACL 规则2000 实现 PAT
ip address 203.0.113.50 24 
quit

PAT 默认不支持外部主动连接,如需开放特定服务(如 Web 服务器),需配置静态端口映射:

Huawei\] nat static global 203.0.113.50 port 80 inside 192.168.1.100 port 80 # 将公网80端口映射到内部服务器

3.静态NAT

定义: 将内部私有 IP 地址与公网 IP 地址进行手动配置的固定一对一映射,映射关系长期存在且不会自动变更。
特点

1)手动配置:需管理员手动指定内部 IP 和公网 IP 的对应关系。

2)双向通信:内部设备可主动访问外部网络。外部设备可通过公网 IP 直接访问内部设备(因映射关系固定)。

3)公网 IP 独占:每个内部 IP 占用一个公网 IP,即使设备未联网,公网 IP 也会被保留。

4)安全性:内部 IP 部分暴露(公网 IP 固定),但可通过防火墙进一步限制访问。

4.动态 NAT

定义: 通过公网 IP 地址池动态建立内部 IP 与公网 IP 的一对一映射。当内部设备发起连接时,NAT 设备从地址池中分配一个未被使用的公网 IP,连接结束后释放该 IP 供其他设备使用。
特点:
动态分配与释放: 公网 IP 地址池包含多个公网 IP(如203.0.113.50 ~ 203.0.113.60)。内部设备联网时自动分配地址池中可用 IP,断开后立即释放。
单向通信为主: 通常由内部设备主动发起连接,外部设备无法直接通过公网 IP 访问内部设备(除非配置端口映射)。
公网 IP 复用: 同一公网 IP 可在不同时间分配给不同内部设备,但同一时刻一个公网 IP 仅对应一个内部设备。
自动管理: 无需手动为每个设备配置映射,适合设备数量动态变化的场景。

四、NAT配置案例

html 复制代码
# 进入系统视图
<Huawei> system-view
[Huawei]

# 1. 配置接口
[Huawei] interface GigabitEthernet0/0/1  # 内网接口
[Huawei-GigabitEthernet0/0/1] ip address 192.168.1.1 255.255.255.252
[Huawei-GigabitEthernet0/0/1] quit

[Huawei] interface GigabitEthernet0/0/2  # 外网接口
[Huawei-GigabitEthernet0/0/2] ip address 202.112.193.2 255.255.255.252
[Huawei-GigabitEthernet0/0/2] quit

# 2. 配置内部主机访问公网(PAT)
[Huawei] acl number 2000  # 创建基本 ACL
[Huawei-acl-basic-2000] rule 5 permit source 10.10.10.0 0.0.0.255  # 匹配内网网段
[Huawei-acl-basic-2000] quit

[Huawei] interface GigabitEthernet0/0/2  # 外网接口
[Huawei-GigabitEthernet0/0/2] nat outbound 2000  # 启用 PAT(默认通过端口复用实现多对一)
[Huawei-GigabitEthernet0/0/2] quit

# 3. 配置内部服务器对外提供 www 服务(静态 NAT)
[Huawei] nat static global 202.112.193.2 inside 172.16.10.100  # 静态 IP 映射
[Huawei] nat static protocol tcp global 202.112.193.2 80 inside 172.16.10.100 80  # 端口映射
[Huawei] quit

# 4. 配置默认路由
[Huawei] ip route-static 0.0.0.0 0.0.0.0 202.112.193.1  # 指向公网网关
[Huawei] quit
相关推荐
BingoGo6 小时前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php
JaguarJack6 小时前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php·服务端
BingoGo1 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php
JaguarJack1 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php·服务端
JaguarJack2 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
后端·php·服务端
BingoGo2 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
php
JaguarJack3 天前
告别 Laravel 缓慢的 Blade!Livewire Blaze 来了,为你的 Laravel 性能提速
后端·php·laravel
郑州光合科技余经理4 天前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php
DianSan_ERP4 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
西岸行者4 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习