为什么内网能访问外网却反向不通?

NAT原理与内外网通信解析

号主:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部

“我们办公室几百台电脑都用一个公网IP上网,是怎么做到的?”
“我在家开了一台服务器,为什么外面访问不了?”
“内网可以刷网页、看视频,但别人却连不上我的电脑?”

这些日常网络现象的背后,都离不开一个关键技术:

NAT—— 网络地址转换

它让成千上万的内网设备,通过少数几个公网IP访问互联网。但同时,它也带来了“外网无法主动访问内网”的限制。

今天就用最直观的方式,带你彻底搞懂NAT的工作原理,并解答:

  • 为什么内网能访问外网?
  • 为什么外网不能直接访问内网?
  • 如何让外网访问内网服务?

一、背景:IPv4地址枯竭

IPv4地址总共约43亿个,早已分配殆尽。而每个手机、电脑、摄像头都需要IP,怎么办?

NAT的使命

多个内网私有IP,共用一个或少数几个公网IP上网,节省公网地址资源。

✅ 私有IP范围:

  • 10.0.0.0 ~ 10.255.255.255
  • 172.16.0.0 ~ 172.31.255.255
  • 192.168.0.0 ~ 192.168.255.255

二、NAT如何工作?

想象你住在一个大院里(内网),但快递只送到门卫(路由器)。

你想网购并收货:

  1. 你下单(内网 → 外网)

    • 你写收货地址:“张三,门卫代收”
    • 快递员记下:“张三的包裹放门卫”
  2. 快递送达(外网 → 内网)

    • 快递员把包裹给门卫
    • 门卫查记录:“这个是张三的”
    • 门卫把包裹转交给张三
  3. 如果有人想寄东西给你

    • 对方只知道“门卫”地址,不知道你
    • 没登记 → 门卫不会帮你收

这就是NAT的核心逻辑:出去时登记,回来时查表

三、技术实现:NAT转换表

当内网主机访问外网时,路由器会创建一条NAT映射表

数据包流转过程:

1. 内网 → 外网(请求)

[PC] → 目的: 8.8.8.8:53, 源: 192.168.1.100:5001
  ↓
[路由器NAT]
  - 记录:192.168.1.100:5001 ↔ 202.96.1.1:10001
  - 改写源IP: 202.96.1.1:10001
  ↓
[外网服务器] ← 收到:目的: 8.8.8.8:53, 源: 202.96.1.1:10001

2. 外网 → 内网(响应)

[外网服务器] → 响应:目的: 202.96.1.1:10001, 源: 8.8.8.8:53
  ↓
[路由器NAT]
  - 查表:10001 → 192.168.1.100:5001
  - 改写目的IP: 192.168.1.100:5001
  ↓
[PC] ← 收到:目的: 192.168.1.100:5001, 源: 8.8.8.8:53

✅ 成功!通信完成。

四、为什么外网不能主动访问内网?

因为没有建立NAT映射条目

假设外网用户想直接访问 202.96.1.1:10001:

[黑客] → 发送数据包:目的: 202.96.1.1:10001
  ↓
[路由器NAT]
  - 查NAT表:无此条目(因为内网没发起过)
  - 默认行为:丢弃
  ↓
[内网PC] → 无感知,收不到

🔒 这其实是NAT的“副作用”安全:
内网设备对外不可见,天然防火墙。

五、如何让外网访问内网服务?

必须手动建立NAT映射规则,常见方法:

方法1:静态NAT(一对一映射)

# 将公网IP固定映射给某台内网服务器
[Huawei] nat static enable
[Huawei] interface GigabitEthernet0/0/1
[Huawei-GigabitEthernet0/0/1] nat static global 202.96.1.10 inside 192.168.1.200

✅ 效果:
外网访问 202.96.1.10 = 直接访问 192.168.1.200

方法2:端口映射(Port Forwarding)

# 将公网IP的某个端口映射到内网服务
[Huawei] nat server protocol tcp global 202.96.1.1 8080 inside 192.168.1.200 80

✅ 效果:
外网访问 http://202.96.1.1:8080 → 自动转发到内网Web服务器(192.168.1.200:80)

方法3:DMZ(非军事区)

[Huawei] firewall dmz ip 192.168.1.200

⚠️ 风险高:该主机所有端口对公网开放,仅用于测试。

六、NAT的几种类型

总结:NAT是“单向通行证”

  • 内网 → 外网:可以!
    路由器帮你“登记出境”,回来时能认出你。

  • 外网 → 内网:不行!
    没登记=陌生人,直接拒绝。

这就像:
你可以主动打电话给别人(NAT允许出站),但别人不能主动打给你(除非你留了号码,即配置端口映射)。

🔚 最后建议

  1. 日常上网:无需关心NAT,它在默默工作
  2. 搭建服务器:必须配置端口映射DMZ
  3. 安全意识:NAT不是防火墙,仍需开启ACL防护

原创:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值