推荐一款内网穿透的利器-NSmartProxy
什么是NSmartProxy?
NSmartProxy是一款免费的内网穿透工具。
使用中如果有任何问题和建议,可以点击这里加入Gitter群组或者点击这里加入QQ群
(群号:813170640)我们一起讨论。
特点
- 跨平台,客户端和服务端均可运行在MacOS,Linux,Windows系统上;
- 使用方便,配置简单;
- 多端映射,一个NSmartProxy客户端可以同时映射多种服务。
- 支持TCP协议栈下的所有协议(已经经过测试的有FTP、Telnet、SMTP、HTTP/HTTPS、POP3、SMB、VNC、RDP。),以及相当一部分基于UDP的协议(已经经过测试的有DNS查询、mosh服务)。
运行原理
NSmartProxy包含两个服务程序:
- 服务端(NSmartProxy.ServerHost):部署在外网,用来接收来自最终使用者和客户端的反向连接,并将它们进行相互转发。
- 客户端(NSmartProxyClient):部署在内网,用来转发访问内网各种服务的请求以及响应。
客户端安装
NSmartProxy支持各种基于TCP和UDP服务的端口映射,下面以mstsc,iis,ftp以及mosh服务为例:
启动准备
NSmartProxy的客户端被打包成三种发布方式:第一种是跨平台包,需要预先安装.NET Core环境。
第二种是SCD包(包名带”scd”),无需安装.net环境,用户需要根据自己的平台和架构选择相应的压缩包。第三种是Windows窗体版本(包名带”winform”):
Windows
- 确保客户端的环境在.NET Framework 4.6.1 以上。
- 下载最新的窗体版本https://github.com/tmoonlight/NSmartProxy/releases/download/v1.2_final/nspclient_winform_v1.2.zip
Linux
下载最新版本的NSmartProxyClient,以SCD发布下的linux x64系统为例:wget https://github.com/tmoonlight/NSmartProxy/releases/download/v1.2_final/nspclient_scd_linux_v1.2.zip
MacOS
下载最新版本的NSmartProxyClient:wget https://github.com/tmoonlight/NSmartProxy/releases/download/v1.2_final/nspclient_scd_osx_v1.2.zip
Docker
如果当前机器上已经有了docker运行环境,则无需安装运行时,直接拉取镜像即可运行,如下脚本在Docker CE 17.09下测试通过:sudo docker pull tmoonlight/nspclient
sudo docker run --name mynspclient -dit tmoonlight/nspclient
使用方法
1.打开安装目录下的appsettings.json文件,配置服务地址,映射地址和端口(winform版本也兼容这种配置方式,也可直接进入界面配置)
1 |
|
2.运行NSmartProxy客户端
Linux
1 |
|
MacOS
1 |
|
Windows: 解压后运行NSmartProxyWinform.exe即可
3.后台运行
您还可以将NSmartProxy客户端注册为一个后台服务,方法如下:
Windows
方法一
方法二
1 |
|
MacOS/Linux 暂略
P.S:
以上是客户端的配置方法,一般情况下,只要用我的免费服务(2017studio.imwork.net)即可进行内网映射了,如果你还想自己搭建服务端,请接着往下看。
服务端安装
这里介绍NSmartProxy服务端的安装方法(linux,windows,MacOS均适用)
启动准备
首先你需要一台具备独立IP的服务器,以下安装过程均在此机器上执行:
- NSmartProxy的服务端程序被打包成两种发布方式。第一种是跨平台包,需要预先安装.NET Core环境。第二种是SCD包(包名带”scd”),无需安装.net环境,用户需要根据自己的平台和架构选择相应的压缩包。
- 下载最新版的NSmartProxy服务端:
Linux
wget https://github.com/tmoonlight/NSmartProxy/releases/download/v1.2_final/nspserver_scd_linux_v1.2.zip
Windows
下载发布包
MacOS
wget https://github.com/tmoonlight/NSmartProxy/releases/download/v1.2_final/nspserver_scd_osx_v1.2.zip
Docker
无需安装运行时,直接拉取镜像即可运行,运行镜像时需要4组端口:配置端口,反向连接端口,API服务端口,以及使用端口,如下脚本在Docker CE 17.09下测试通过:
1 |
|
使用方法
1.解压缩NSmartProxy服务端的压缩包,以下以SCD发布下的linux系统为例
1 |
|
2.打开安装目录下的appsettings.json文件,设置反向连接端口和配置服务端口,如果没有特殊需求,默认就好
1 |
|
3.运行NSmartProxy
第一步 cd到安装目录
第二步 执行以下命令
Linux/MacOS:
1 |
|
Windows:
点击 Win+R 打开运行窗口. 输入 “cmd” 按下Ctrl+Shift+Enter打开管理员身份运行的命令行窗口。cd到安装目录,运行如下指令:
NSmartProxy.ServerHost
第三步 登陆http://ip:12309 进入web端,出厂用户密码为admin/admin
第四步 进入服务端对用户进行各种管理操作
注册为后台服务
NSmartProxy客户端和服务端均可以注册为一个后台服务,方法如下:
- Windows
以管理员身份打开命令行后,cd到程序运行目录,运行以下指令进行服务的注册和卸载:
1 |
|
- MacOS/Linux
可参考wiki: How To: 30秒使用Linux搭建一个内网穿透服务端
使用案例
以上已经讲述了将内网的服务映射到外网的方法,还有更多有趣的用法等着你发掘:
- 远程开机
- 使用windows远程控制操作办公室电脑
- 告别昂贵的vps,以极低的成本制作一个更强大的服务集群