nps 是一款内网穿透工具,在 Github 上面有一万多个 star :https://github.com/ehang-io/nps
这个的原理和 frp 是一样的,都是用服务器来中转,不过用起来会简单一点。
要想进行下面的操作,需要有一个服务器,如果你没有的话, 点此链接注册充值 10 美元送 50 美元
服务器端
服务器开好后,先下载 nps ,解压,安装,启动。
wget https://github.com/ehang-io/nps/releases/download/v0.26.6/linux_amd64_server.tar.gz |
这样服务器就启动 nps 这个服务了,在浏览器输入 ip:8080 就可以进行管理。
客户端
像 N1 ,我家云,猫盘 这些设备,都是 arm64 ,因此它的使用方法都是一样的。
wget https://github.com/ehang-io/nps/releases/download/v0.26.6/linux_arm64_client.tar.gz |
然后需要到管理面板,添加客户端,这样会生成一个密钥。有了这个才能和服务器建立连接。
建立的命令是这样的。
./npc -server=ip:port -vkey=web界面中显示的密钥 |
例如我的就是这样
./npc -server=45.32.126.224:8024 -vkey=4vv7n1p7u584an64 |
此时就与服务器建立好连接了,之后的操作只需在管理面板,进行端口映射即可。
建立隧道
点击左边的【TCP 隧道】,【新增】,填写【ID】,服务器访问端口,目标端口。
比如我服务器端口设置为 1234 ,目标端口为 80 ,建立好后,我只要访问服务器的1234端口,就可以看到内网设备 80 端口的内容。想要访问其它的端口,就再建立隧道。内网的端口和服务器的端口是可以保持一致的。
总结
原本以为,它只是用起来比 frp 简单。但现在发现不止于此,还有其它很多功能。
首先作为内网穿透工具,它用起来确实简单,点几下就可以建立好连接。
然后里面的域名解析功能,用起来也非常的简单。事先把 *.xxx.com
解析到服务器,之后就可以实现不同的子域名,访问不同的页面了。
然后我发现,用 nps 也是可以套 CDN 的,这样就不用担心自己的 IP 暴露了,不过速度会变慢一些。