正式开始之前呢,先介绍一下什么是内网穿透:
内网穿透(NAT穿透)是一种技术,它允许您通过公网访问内网的设备和服务。在许多情况下,您的设备和服务可能位于一个局域网中,这些设备和服务只能在局域网中访问。这意味着,如果您想从外部网络访问这些设备和服务,您需要一种方法来穿透网络的边界,让公网可以访问您的内网设备和服务。
内网穿透技术可以实现这一点。它通过在公网上搭建一个服务器,然后将您的内网设备和服务通过一个安全的隧道连接到这个服务器上,从而实现公网访问。当您从公网访问您的内网设备和服务时,数据会经过隧道传输,然后到达您的内网设备和服务。这使得您可以在外部网络中访问您的内网设备和服务,就像它们直接连接在公网上一样。
举个例子,假设您在家里有一台Web服务器,可以提供网站访问服务。但是,由于您的家庭网络使用的是私有IP地址,不能直接从公网上访问。这时候,您可以使用内网穿透技术,将Web服务器的服务通过一个代理服务器映射到公网上,让外部的计算机可以通过公网访问您的网站。
另一个例子是,在公司内部搭建的数据库服务器,只能在内部网络中访问。但是,有时候您需要在外部进行数据库操作,这时候可以使用内网穿透技术将数据库服务映射到公网上,从而可以在外部计算机上访问数据库。
总的来说,内网穿透可以让您的内网服务具有公网访问的能力,提高了远程访问和管理的便捷性。
而nps就是我们今天要介绍的内网穿透的工具了!
除了内网穿透功能之外,nps还支持内网HTTP代理、内网socks5代理、p2p等特性,以及带有强大的Web管理端,可以方便地管理和配置代理服务器。
nps具有轻量、高性能、易于部署和配置等特点,广泛应用于企业内网、个人网络和云服务等领域。例如,开发人员可以使用nps来调试内网接口,管理员可以使用nps来远程管理内网服务器,家庭用户可以使用nps来实现公网访问家庭网络中的服务等等。
其官方文档如下:
Document
接下来我们来看如何使用nps搭建内网穿透服务
首先我们需要有个公网IP的服务器,我这里用的是腾讯云的轻量级服务器,系统为Centos7,64位
接着我们需要明确两个概念:
其中,让局域网里的内网设备运行内网穿透客户端,并主动向运行了内网穿透服务端的公网IP服务器发送请求
其中,内网穿透的服务端是部署在服务器上,根据配置的规则把访问自身的流量转发至对应的客户端,这样,其实我们的客户端没有公网IP,也可以通过服务器的转发,在广域网中连接内网设备。
远程连接服务器;
我这里是直接使用其官网的远程连接,当然你也可以用putty等工具进行服务器的远程连接,不过一定要注意开放端口。
在Github上下载对应的压缩包;
你可以点击复制连接地址,然后在服务器中用wget下载:
wget <文件原始URL>
当然你也可以用filezilla远程上传至服务器。
解压压缩包
在命令行界面输入如下指令解压压缩包:
tar -xzvf filename.tar.gz
这将解压缩名为filename.tar.gz的文件,并将其放置在当前目录中。如果要指定不同的目标目录,请使用 -C 标志。
tar -xzvf filename.tar.gz -C /path/to/destination/folder
下载完服务器压缩包并解压好后,进入解压后的文件夹,进行安装启动
执行安装命令
sudo ./nps install
执行启动命令
sudo nps start
停止和重启可用,stop和restart
如果发现没有启动成功,可以使用nps stop
,然后运行nps
运行调试,或查看日志(linux和darwin位于/var/log/nps.log)
创建客户端
这里以我电脑上的Windows系统为例
点击web管理中客户端前的+号,复制启动命令
./npc -server=ip:port -vkey=密钥 -type=tcp
注意!以管理员形式打开cmd
,进入内网穿透客户端软件所在文件夹,我这里是D盘下的,所以需要注意使用cd进入时前面要加/d
,如下:
cd /d D:/目标目录
将刚才复制的客户端指令粘贴,注意windows将./npc换成npc.exe用cmd执行,如下:
npc.exe -server=ip:port -vkey=密钥 -type=tcp
接下来你就可以直接用公网IP地址加端口号直接访问内网端口对应的服务啦!
以Stable Diffusion为例,如下:
待续……