前言
- 内网穿透的方式有很多种,什么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
- 技术文档:指导页面
- Docker镜像页:服务端:NPS 客户端:NPC
- 多客户端下载页面:下载页面(根据自己对应的操作系统下载)
- 选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
- 推荐我之前的文章参考
- 树莓派安装Docker以及Portainer中文版
- Docker中文管理面板:Fast Os 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
25 条评论
[...]音乐播放软件接上次月结的续,写下搭建的个人音乐播放器的过程。自行搭建的原因,还是要简单叙述一下的,目前我在用的音乐播放器已经超过四款了,企鹅,咪咕,汽水,网抑云,企鹅相对比较全,蘑菇是为了听杰伦的,汽水的自动推荐功能非常好,但是要看广告,网抑云有一些新人的歌曲,这些APP各自都有自己的圈子,会员,广告,真是让人烦不胜烦!加之现在听的歌也很少,基本上都能固定,就寻思着可以自己搭建一个私人播放器。Na[...]
很详细的一个教程,正好最近入了一台香港100M直连线路的小鸡,改天在家里整个nas,然后做做内网穿透,话说服务端是安装在VPS上,然后客户端是安装在家里的NAS系统上嘛,两者安装了互相做匹配?我可以这样子理解?第一次折腾内网穿透
是的 你理解的没问题,就是这样。
我记得好像有个内网穿透的盒子挺好用的,但忘记名字了,上传有7-8M左右,备案的域名可以使用80和443商品,就是每个月的价格有点美丽。
什么盒子啊!向日葵吗?
有图像化管理的呀!
是啊 很哇塞,后面有个游戏平台,可以玩玩
真的很哇塞呢!
还是公网IP安心呀
难搞啊!还是付费搞一个吧!
嗯,宋哥折腾的很专一,晚上好
这算是一个系列吧!为将来服务器到期迁移做准备。
卧槽是这样呀,想想我那小破站一天也十多块