内网穿透(NAT穿透)

内网穿透(NAT穿透)

本文简要介绍对内网穿透技术、对内网穿透技术的需求以及介绍一些用于”个人”进行内网穿透的工具和使用。

1. 什么是内网穿透(NAT traversal)

在计算机科学中,NAT穿越(NAT traversal)涉及TCP/IP中的一个常见问题,即在处于使用了NAT设备的私有TCP/IP网络中的主机之间创建连接的问题。

其中 NAT 即网络地址转换(Network Address Translation)在计算机网络中是一种在 IP 数据包通过路由器或防火墙时重写来源 IP 地址或目的 IP 地址的技术。这种技术被普遍使用在有多台主机但只通过一个公有 IP 地址访问互联网的私有网络中。它是一个方便且得到了广泛应用的技术。当然,NAT 也让主机之间的通信变得复杂,导致了通信效率的降低。

NAT 是作为一种解决IPv4地址短缺以避免保留 IP 地址困难的方案而流行起来的。NAT 成了家庭和小型办公室网络连接上的路由器的一个标准特征。

其中最为常见的 NAT 设备就是家家户户都有的路由器,将所有的设备在局域网中统一管理,并基于唯一的公网 ip 对互联网(私有网络)进行访问。

而 NAT 会带来以下的问题,因此会需要内网穿透的技术:

  • 外网主动发起的服务无法准确的定位到内网的指定机器,会被 NAT 设备丢弃,因此链接会变成单项的,无法双向交互。

因此无法在外网访问内网机器提供给局域网的服务,因此我们的机器,我们部署于 NAS、docker 的服务就只能在局域网中访问,在一定程度上就造成不便。