内网穿透工具 nps

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
tar -zxvf linux_amd64_server.tar.gz
./nps install
nps start

这样服务器就启动 nps 这个服务了,在浏览器输入 ip:8080 就可以进行管理。

客户端

像 N1 ,我家云,猫盘 这些设备,都是 arm64 ,因此它的使用方法都是一样的。

wget https://github.com/ehang-io/nps/releases/download/v0.26.6/linux_arm64_client.tar.gz
tar -zxvf 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 暴露了,不过速度会变慢一些。