众力资讯网

内网穿透:从原理到实战部署

本文主要介绍内网穿透技术原理及ZeroNews工具的部署方法,实现了内网服务的穿透访问。一、内网穿透的原理?我们常常面临
本文主要介绍内网穿透技术原理及ZeroNews工具的部署方法,实现了内网服务的穿透访问。一、内网穿透的原理?

我们常常面临一个困境:办公室或家中的电脑、NAS、智能设备等拥有强大的功能和丰富的资源,但一旦离开本地网络(即内网),就无法直接访问它们。这是因为我们通常处于运营商的NAT网络之后,没有独立的公网IP地址。

1. 问题的根源:NAT与动态公网IP

NAT(网络地址转换): 由于IPv4地址枯竭,运营商不会为每个家庭或公司分配一个固定的公网IP。相反,一个公网IP会被一个区域内的许多用户共享。你的路由器会创建一个内网(如192.168.1.x),并通过NAT技术,将你内网设备的请求“转换”到公网IP上,并将返回的数据“翻译”回给你的设备。这意味着,从外网发起的、未经请求的连接请求会被路由器直接丢弃,因为它不知道这个数据包该交给内网的哪台设备。

动态公网IP: 即便少数用户拥有公网IP,也通常是动态变化的,不便于长期稳定的访问。

既然外部无法主动“敲门”,那就让内部主动“报信”。内网穿透技术的核心在于一个拥有固定公网IP的中转服务器。

工作流程可以概括为以下几步:

1.    主动连接: 你在内网中安装的客户端软件,会主动与部署在公网上的服务端(中转服务器)建立一个持久的、安全的控制连接通道。因为这个连接是从内网向外发起的,所以可以轻松穿透NAT设备。

2.    注册服务: 客户端告诉服务端:“你好,我是内网里的一台设备,我这里有Web服务(端口80)和SSH服务(端口22),如果你想访问它们,请通过你来进行中转。”

3.    请求中转: 当外部用户想要访问你的内网服务时,它不再直接连接你的内网IP,而是去访问中转服务器的指定地址和端口。

4.    数据转发: 中转服务器收到请求后,通过之前建立好的控制通道,通知内网客户端:“有客人来了,请准备好数据。” 随后,客户端与服务端之间会再建立起一条或多条数据通道。服务端将外部用户的请求通过数据通道转发给内网客户端,客户端再从内网设备获取数据,原路返回给服务端,最终送达外部用户。

整个过程中,所有的连接都是由内网客户端主动发起或响应的,完美地规避了NAT的限制。

二、下载ZeroNews软件

www.zeronews.cc官网下载

本文讲解的是在linux系统下部署,下载以下版本:

第 1 步:生成 ZeroNews Agent Token

登录zeronews平台,在 "Token" 页面中复制一个 Token 备用。

第 2 步:下载安装 ZeroNews

通过 curl 工具 下载安装 ZeroNews

curl -SLk https://download.zeronews.cc/linux/zeronews-install.sh | sh -s install

第 3 步:启动 ZeroNews Agent

执行 Token 认证

zeronews set token <YOUR_TOEKN>

启动 ZeroNews Agent

systemctl start zeronews

设置 ZeroNews 开机自启动

systemctl enable zeronews

ZeroNews 启动后,您可以在 ZeroNews 平台上查看设备(Agent)状态,确认其已成功上线。

接下来,您可以在 ZeroNews 平台上生成域名、创建应用服务,并根据需要进行访问配置。

总结

通过本文,您不仅理解了内网穿透“由内向外”建立隧道的核心原理,还成功使用ZeroNews工具简单几步完成了从服务端到客户端的完整部署。内网穿透的应用远不止于此,你还可以用它来暴露开发中的网站、远程桌面连接、访问监控摄像头等。