又一款非常火的内网穿透工具nps
nps是一款轻量级、高性能、功能强大的内网穿透代理服务器。目前支持tcp、udp流量转发,可支持任何tcp、udp上层协议(访问内网网站、本地支付接口调试、ssh访问、远程桌面,内网dns解析等等……),此外还支持内网http代理、内网socks5代理、p2p等,并带有功能强大的web管理端。前面一篇文章我们分享了frp内网穿透工具,今天我们来讲讲nps。nps的特点:
可以应用在哪些场景?
快速开始nps使用go语言开发的,所以可以直接下载二进制文件进行安装。可以在项目的releases中直接下载对应系统版本。
nps支持安装为服务,例如Linux下,执行如下命令:
官方文档提供了很多使用场景示例,这里主要介绍常用的。首先介绍小程序开发或微信公众号开发场景布置。
将你的域名*.domain.com解析到你的公网服务器,如果你想要购买公网云服务器,请访问下面的链接。
我们再来介绍下SSH场景以及远程桌面场景。当我们想访问公司内网服务器,可以使用nps借用公网服务器做下跳转。例如,想通过访问公网服务器1.1.1.1的8001端口,连接内网服务器192.168.0.100的22端口。我们可以在创建的客户端中添加一条tcp隧道,填写监听的端口,以及内网目标和目标端口。然后启动客户端,我们就可以使用ssh通过公网访问内网服务器了。Windows服务器也是这个原理,需要将22端口换成Windows的3389端口。
其它的应用场景请查看官方文档。通过使用nps和frp,我个人觉得nps操作更简单一些,frp更简洁一些。nps提供了默认的配置,以及一个管理后台,控制功能多一些。frp则需要你手动配置,配置文件非常简单。这两个工具都是非常棒的工具。萝卜白菜,各有所爱,大家可以选择自己喜欢的工具。如果你想要查看更多nps的内容,请查看GitHub:
https://github.com/ehang-io/nps
-
协议支持全面,兼容几乎所有常用协议,例如tcp、udp、http(s)、socks5、p2p、http代理...
-
全平台兼容(linux、windows、macos、群辉等),支持一键安装为系统服务
-
控制全面,同时支持服务端和客户端控制
-
https集成,支持将后端代理和web服务转成https,同时支持多证书
-
操作简单,只需简单的配置即可在web ui上完成其余操作
-
展示信息全面,流量、系统信息、即时带宽、客户端版本等
-
扩展功能强大,该有的都有了(缓存、压缩、加密、流量限制、带宽限制、端口复用等等)
-
域名解析具备自定义header、404页面配置、host修改、站点保护、URL路由、泛解析等功能
-
服务端支持多用户和用户注册功能
可以应用在哪些场景?
-
做微信公众号开发、小程序开发等----> 域名代理模式
-
想在外网通过ssh连接内网的机器,做云服务器到内网服务器端口的映射,----> tcp代理模式
-
在非内网环境下使用内网dns,或者需要通过udp访问内网机器等----> udp代理模式
-
在外网使用HTTP代理访问内网站点----> http代理模式
-
搭建一个内网穿透ss,在外网如同使用内网vpn一样访问内网资源或者设备----> socks5代理模式
快速开始nps使用go语言开发的,所以可以直接下载二进制文件进行安装。可以在项目的releases中直接下载对应系统版本。
nps支持安装为服务,例如Linux下,执行如下命令:
sudo ./nps install
启动非常简单,执行如下命令:sudo nps start
nps默认配置文件使用80,443,8080,8024端口,其中80和443端口为域名解析模式默认端口,8080为Web管理访问端口,8024为网桥端口,用于客户端与服务器通信。以上几个端口一定要在防火墙中开启。nps不但支持Linux,还支持MacOS,以及Windows等操作系统。客户端安装也非常简单,首先在客户端主机上下载客户端二进制文件,然后在浏览器中登录Web管理后台,在Web管理中创建客户端,然后点击+号,复制启动命令。在客户端主机上执行即可。这是最简单的方法。更多精细控制方法请参考官方文档。官方文档提供了很多使用场景示例,这里主要介绍常用的。首先介绍小程序开发或微信公众号开发场景布置。
将你的域名*.domain.com解析到你的公网服务器,如果你想要购买公网云服务器,请访问下面的链接。
想在阿里云购买,请使用这个链接:
https://www.aliyun.com/minisite/goods?userCode=zrqh6alb
想在腾讯云购买,请使用这个链接:
https://curl.qcloud.com/XX6que5w
通过以上链接购买,有很大优惠。
打开Web管理后台,创建客户端,并在域名管理中添加具体域名规则,例如www.domain.com到内网服务器192.168.0.100:80。启动客户端后,你就可以访问www.domain.com到你的内网服务器了。
我们再来介绍下SSH场景以及远程桌面场景。当我们想访问公司内网服务器,可以使用nps借用公网服务器做下跳转。例如,想通过访问公网服务器1.1.1.1的8001端口,连接内网服务器192.168.0.100的22端口。我们可以在创建的客户端中添加一条tcp隧道,填写监听的端口,以及内网目标和目标端口。然后启动客户端,我们就可以使用ssh通过公网访问内网服务器了。Windows服务器也是这个原理,需要将22端口换成Windows的3389端口。
其它的应用场景请查看官方文档。通过使用nps和frp,我个人觉得nps操作更简单一些,frp更简洁一些。nps提供了默认的配置,以及一个管理后台,控制功能多一些。frp则需要你手动配置,配置文件非常简单。这两个工具都是非常棒的工具。萝卜白菜,各有所爱,大家可以选择自己喜欢的工具。如果你想要查看更多nps的内容,请查看GitHub:
https://github.com/ehang-io/nps