nps内网穿透神器

给大家分享一款使用非常方便内网穿透工具。

什么是内网穿透?

内网穿透,也即 NAT 穿透,进行 NAT 穿透是为了使具有某一个特定源 IP 地址和源端口号的数据包不被 NAT 设备屏蔽而正确路由到内网主机。

VMware Workstation虚拟机也有NAT模式,有着类似的效果。

内网穿透可以做什么?

1.可以将部署在内网的服务器映射到公网ip。

2.可以远程访问到家里的电脑,树莓派等。

3.可以将自己的私有云盘NAS映射到公网,即可随处访问。

4.实现Socks5代理访问公司内网

5.远程桌面,内网dns解析等等。

NPS简介

nps是一款轻量级、高性能、功能强大的内网穿透代理服务器。使用go语言编写而成,目前支持tcp、udp流量转发,可支持任何tcp、udp上层协议(访问内网网站、本地支付接口调试、ssh访问、远程桌面,内网dns解析等等……),此外还支持内网http代理、内网socks5代理、p2p等,并带有功能强大的web管理端。

笔者用了有一段时间了,体验感极佳。

下载nps

源码地址github:

这里我们下载编译好的release版本即可。/releases

这里的release版本支持非常全面,各种处理器架构都支持

nps release

服务端部署

服务端使用的是华为云服务器HECS,处理器架构为x86_64,选择下载linux_amd64_server.tar.gz。

将linux_amd64_server.tar.gz解压,解压后得到三个东西,一个配置文件夹conf,一个nps二进制程序,还一个web目录。

以root权限安装。

sudo ./nps install

默认情况下,服务会安装到 /etc/nps 文件夹中,编辑配置文件 /etc/nps/conf/nps.conf

默认客户端监听端口:8024

一般情况下修改这四行内容即可

http_proxy_port=未被占用的端口 https_proxy_port=未被占用的端口 web_username=用户名 web_password=密码 正式使用记得修改

启动

sudo nps start

【ip:8080】登入web管理界面

输入配置文件中设置的用户名和密码即可登入,默认(admin 123)

创建客户端

创建客户端

创建好客户端后,会生成一个唯一验证密钥。

点击隧道创建隧道。这里以ssh为例,将ssh端口映射到公网服务器的9090端口。

创建隧道

客户端

客户端是运行在树莓派4b上,选择下载linux_arm64_client.tar.gz,解压。

./npc install -server=ip:port -vkey=唯一验证密钥

(这里的ip即公网ip,port为配置文件设置,默认8024)

启动

npc start

此时在web管理页面就可以看到连接状态。

如此便搭建完成了。

测试

通过下面命令,即可在任何联网的地方访问到内网的树莓派。

ssh -p 9090 username@<公网ip>

ssh远程连接

谢谢大家。