一、什么是内网穿透
内网穿透是一种通过中间服务器将外部网络请求转发到内网设备的技术,实现外网访问内网服务的目的。内网穿透,即NAT穿透,内网映射,内网端口映射,是一种技术手段,允许外部网络(如互联网)直接访问位于内部局域网(如家庭或企业网络)中的设备或服务。
如本地搭建服务器后,在没有公网IP情况下,通过内网穿透技术实现提供互联网服务。
二、内网穿透原理
其核心原理是通过一个中间服务器(公网服务器)建立“隧道”,将外部的访问请求转发到内网设备上。主要区分转和直连:
端口转发:内网穿透端口转发的基本原理是通过各种隧道技术,利用网络防火墙允许的协议,绕过网络防火墙的封锁,实现访问被封锁的目标网络。端口转发是将发往外网的某个端口的数据完全转发给内网,实现外网到内网的通信,数据经过中转服务器。
点到点直连:内网穿透点到点原理主要是通过UDP打洞技术来实现P2P连接,减少对中转服务器的依赖,从而降低带宽压力和提高传输效率。UDP打洞技术是通过中间服务器的协助,在各自的NAT网关上建立相关的表项,使P2P连接的双方发送的报文能够直接穿透对方的NAT网关,从而实现P2P客户端互连。
三、内网穿透主要应用场景
远程办公与访问:企业员工通过内网穿透访问总部管理系统或数据库。
开发测试:程序员临时暴露本地开发环境(如Django项目)供外网测试。
家庭设备管理:远程查看家庭监控摄像头或访问NAS文件。
联机游戏:内网主机通过穿透工具实现多人联机。
四、内网穿透常见工具与实现方式
常见内网穿透方式有如:nat123、Ngrok、FRP、ZeroTier。
通常需要在目标内网本地下载并安装客户端程序,配置内网服务端口与公网映射关系,然后在互联网上通过对应公网地址来连接访问。
五、内网穿透具体操作实现过程步骤
以大众化nat123为示例,其实施过程如下参考:
1.下载安装
在目标内网本地服务器或所在局域网的设备上,下载并安装nat123客户端。系统平台区分windows、Linux、android,本地是什么系统则对应安装使用什么版本的。
2.设置地址
登录nat123客户端并添加映射设置,通过这一步操作自定义好内外网地址绑定,让外网请求到达本地指定端口服务上。需要选择映射类型和填写对应的内外网地址,参考如下:
(1)选择映射类型。包括80http、443https、非80、全端口映射等,这需要结合自己具体网络场景来选择使用。
(2)内网地址。如是本机的用127.0.0.1格式表示,其他机上的服务用固定的内网IP地址。
(3)公网地址。用域名格式填写。自动生成的免费自定义二级域名,或自己的域名。
确保并保存后,客户端上生成对应带地址显示小图标,鼠标停留会相关提示。如是填写使用自己域名的,同时需要在自己注册域名解析网站设置对应的cname指向让自己域名生效,不然会一直提示域名指向不对。
3.访问验证
当我们在内网本地使用nat123网络映射服务后,在任意上网点,通过对应的域名地址来连接访问即可。如在公司内使用映射办公OA到公网上,然后在家通过对应域名来登录OA网站。
六、总结
内网穿透通过“搭桥”方式解决了私有IP无法直接暴露于公网的问题,广泛应用于远程办公、开发调试等领域。其低成本、易用性使其成为个人和本地搭建项目的理想选择。对于本地搭建服务器提供互联网服务,在面对无公网IP时,可以借助nat123内网穿透等方式实现。