前言
- 内网穿透的方式有很多种,什么Frp、Ngrok、NPS、蒲公英等等,网上也有很多免费的服务的,当然用起来很慢,基本也就200K的样子,付费的穿透服务也不便宜,一般都是按端口卖的,一年买下来,还是自建划算!
- 初次构想的时候是准备买台小鸡安装的,大概看了一下,小鸡一个月大概25-30块,50M带宽,500G流量。当然本教程不是用小鸡安装的,是以一台linux小主机-给玩客云刷上armbian来实现的,为此我还专门买了两个,一个跑网心云跑收益,一个刷armbian当小鸡,先说说网心云最近很拉,家用宽带一天才跑5毛钱,妥妥回血就出了。刷armbian当小鸡倒是挺合适,虽然只有1G内存,但是装上docker当小鸡还是挺不错的,做一些轻量服务。
NPS简介
-
nps是一款轻量级、高性能、功能强大的内网穿透代理服务器。目前支持tcp、udp流量转发,可支持任何tcp、udp上层协议(访问内网网站、本地支付接口调试、ssh访问、远程桌面,内网dns解析等等......),此外还支持内网http代理、内网socks5代理、p2p等,并带有功能强大的web管理端。
-
项目地址:Github
-
技术文档:指导页面
-
多客户端下载页面:下载页面(根据自己对应的操作系统下载)
-
选NPS的主要原因就是他官网的最后一段介绍,支持web管理,这很重要!抛弃了繁琐的代码。友好友好还是友好!
-
安装设备条件
- 有固定IP
- 有固定IP的云服务器
- 两者满足其中一条即可,有固定的IP的网络,你最起码要有这个网络的管理权,因为国内大多数地方个人很难拿到,一般都是公司,后面大概率你是需要做地址转换的。与云服务的开启某些防火墙端口是一样的。
- 我下面的教程是以armbian+Docker+固定IP 的方式实现的。云服务器操作类似。
服务端安装
-
安装Docker
-
我的刷的armbian,安装完系统我就直接安装了Docker,上面提供了安装命令
apt install docker.io
-
如果你是云服务器建议使用以下命令一键安装
sudo curl -sSL https://get.docker.com | sh systemctl start docker systemctl enable docker
-
推荐我之前的文章参考
-
创建配置文件夹(自定义)
mkdir /home/nps
-
将配置文件上传到文件夹
-
下载地址:官方Git
-
访问不了:点这个 我下载好的。
-
解压到文件夹
unzip conf.zip -d /home/nps
-
修改nps配置
nano /home/nps/conf/nps.conf
-
将下方
web_password=xxxxxxxxxxx
中的xxx改成自己需要设置的密码#web web_host=a.o.com web_username=admin web_password=xxxxxxxxxxx web_port = 8080 web_ip=0.0.0.0 web_base_url= web_open_ssl=false web_cert_file=conf/server.pem web_key_file=conf/server.key
-
拉取镜像
docker pull ffdfgdfg/nps
-
启动镜像
docker run -d --name=nps --restart=always --net=host -v /home/nps/conf:/conf ffdfgdfg/nps
-
通过web页面访问nps
-
提示:大部分云服务器需要开启防火墙,企业内网需要将默认内网IP+8080端口映射出去
-
这时候我们就可以通过公网IP:8080访问了。
-
关于下图的为什么是38080,主要原因是我企业外网8080端口被占用了,本身也需要设置端口转换,你可以理解成:内网192.168.1.100:8080转换成公网223.5.5.5:38080,正常云服务器通过公网IP:8080就能访问了,有域名的还可以通过反向代理,绑定域名。
服务端配置
-
下载对应的客户端官方下载,我这里以树莓派演示。
-
创建文件夹
mkdir /home/npc
-
上传下载好的客户端到/home文件夹
-
解压文件夹/home/npc
tar -zxvf linux_arm64_client.tar.gz -C /home/npc
-
登录NPS,创建客户端
-
点击客户端-新增,配置根据自行调整,获取服务端命令
-
登录树莓派。进入npc目录
cd /home/npc
-
执行刚才获取的到的服务端命令
-
类似如下:
-
客户端命令样式: ./npc -server=x.x.x.x:8024 -vkey=qqqqqqqqqqqqq -type=tcp
-
如需后台运行,在./npc后面增加install:./npc install -server=x.x.x.x:8024 -vkey=qqqqqqqqqqqqq -type=tcp
-
然后执行 npc start 即可
-
停止只需在目录下执行 npc stop ,卸载 ./npc uninstall +上方参数
-
如无报错,此时NPS服务端,该客户端就正常在线了。
-
添加一个TCP链接
- 2.模式自选,其他我还没尝试
- 3.客户端ID是上方客户端列表第一个有显示
- 4.服务端口,可以自定义,企业网需要地址转换,云服务需在防火墙放行该端口
- 5.内网设备的IP地址+端口,你需要穿透出来的服务。
-
创建的隧道提示成功了,也在线了。
- 这时我们就可以在外网访问内网的业务了。
结语
- 其实写这篇文章的时候,我已经购买了一台云服务器和域名,在狗云买的,但是不幸的是我配置买的太低了,1核,0.5G,50M,300G流量的机子,导致很多服务不敢搭,怕服务器受不了。暂时也不支持升级配置,幸亏只买了3个月。就这样暂时先用着吧!
- 我把前面的那个怀旧文章好玩的Docker应用-家庭在线dos游戏库,通过穿透出去了,有兴趣的可以去玩玩!后面我会发下连接,我本地网络性能有限,可能加载会慢一些!流量跑完了,服务估计就会停!
- 搭建步骤很简单,无论是直接下载软件包还是使用docker安装,上面的过程都有演示。有疑问可以多交流交流!
- 怀旧游戏平台:xinqiu.ink