端口映射 ≠ 内网穿透 ≠ NAT!99%的人都搞混了!建议收藏!

为什么会有这几个概念?

在互联网早期,IPv4地址足够用,每台设备都能有一个公网IP,直接就能访问彼此。

但 IPv4地址耗尽 后,ISP(互联网服务提供商)开始大规模部署 私有地址(内网IP) + NAT技术

结果就出现了——

  1. 设备在内网中互联没问题
  2. 设备访问公网也没问题
  3. 但公网设备反过来访问内网设备——难了!

于是,端口映射 和 内网穿透 这些“拯救世界”的方案就被开发出来……

 NAT

  • Network Address Translation,网络地址转换,它将私有地址转换为公网地址,或者反过来。
  • SNAT(源地址转换)
  • 内网 → 公网
  • 多个内网设备“伪装成”同一个公网IP访问互联网
  • DNAT(目的地址转换)
  • 公网 → 内网
  • 通过端口映射实现,将“公网IP+端口号”映射到内网指定设备

端口映射

  • Port Mapping / Port Forwarding端口映射其实是DNAT的一种应用场景通过NAT设备(一般是路由器)设置,将公网某个端口映射到内网某个设备对应端口
  • 静态端口映射:固定端口
  • 动态端口映射(UPnP):设备动态申请

让外部用户访问内网设备的典型场景:

  • 内网搭建Web服务
  • NAS远程访问
  • 游戏服务器
  • 远程桌面

但如果运营商做了二级NAT,路由器或光猫获取到的不是公网IP,则端口转发不起作用 。

内网穿透

  • NAT Traversal,内网穿透是绕过NAT限制,主动打洞,让内网设备能被公网访问的一种技术。
  • P2P打洞(STUN、TURN、ICE):多用于视频会议、VoIP
  • Ngrok
  • Frp
  • 花生壳
  • ZeroTier
  • tailscale

公网服务器反向连接

  • 客户端 → 公网服务器 → 用户 → 内网设备

三者的对比

常见场景对应方案

注意:

使用端口映射时:

  • 使用非默认端口
  • 配置防火墙
  • 添加访问控制列表

使用内网穿透时:

  • 优先选择 加密传输
  • 使用自建穿透服务代替第三方
  • 尽量配置白名单访问

IPv6 能解决这些烦恼吗?

答案:部分能,但不会完全替代。

IPv6天然具备全球唯一地址 → 没有 NAT → 每台设备理论上都可以“直接访问”,但是!安全性问题,公网暴露风险增大,运营商对IPv6的部署不完整,还没完全普及加上终端设备 IPv6 配置复杂,很多旧设备、软件 不支持 IPv6,IPv6 是未来趋势,但目前 IPv4 + NAT + 穿透 依然是主流。

Comments

No comments yet. Why don’t you start the discussion?

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注