宿主/Service

带Web面板高性能轻量级内网穿透工具NPS

阿里云

对于没有公网 IP 的内网用户来说,远程管理或在外网访问内网机器是一个问题。通常解决方案就是用内网穿透工具将内网的服务穿透到公网中,便于远程管理和在外部访问。内网穿透工具之前已经介绍了不少了,比如 Frp、lanproxy、Holer 等,现在再介绍个带 Web 面板的穿透工具 nps,之前叫 easyProxy,只是改名了而已,该工具是一款使用 go 语言编写的轻量级、功能强大的内网穿透服务器。支持 tcp、udp 流量转发,支持内网 http、socks5 代理,同时支持 snappy 压缩(节省带宽和流量)、站点保护、加密传输、多路复用、header 修改等,同时还支持 web 图形化管理。

安装

Github 地址:https://github.com/cnlh/nps

也想出现在这里?联系我们
创客主机

通常内网穿透工具都有服务端和客户端,安装要求如下:

服务端:需要安装在一个有公网 IP 的服务器上,系统为 Linux/Windows/Mac 均可。

客户端:一般安装在一个内网的 VPS 服务器或 Windows/Mac 电脑上使用。

1、编译安装

提示:编译安装主要讲的 Linux 系统,其它系统(Win/Mac,也包括 Linux)建议直接使用作者编译好的文件即可。

安装 Go 语言:

  1. #Debian/Ubuntu系统
  2. apt-get -y install golang
  3. #创建目录并定义GOPATH环境变量指向该目录
  4. mkdir ~/workspace
  5. echo 'export GOPATH="$HOME/workspace"' >> ~/.bashrc
  6. source ~/.bashrc
  7.  
  8. #CentOS/RHEL系统
  9. yum -y install golang
  10. #创建目录并定义GOPATH环境变量指向该目录。
  11. mkdir ~/workspace
  12. echo 'export GOPATH="$HOME/workspace"' >> ~/.bashrc
  13. source ~/.bashrc

安装 git:

  1. #Debian/Ubuntu系统
  2. apt-get -y install git
  3.  
  4. #CentOS/RHEL系统
  5. yum -y install git

安装源码:

  1. go get github.com/cnlh/nps

编译服务端和客户端:

  1. #进入指定目录
  2. cd ~/workspace/src/github.com/cnlh/nps
  3. #编译服务端
  4. go build cmd/nps/nps.go
  5. #编译客户端
  6. go build cmd/npc/npc.go

编译好了后,就会在当前目录生成 npc 或 nps 二进制文件了,就可以直接拿来用了。编译的时候可能出现的问题解决方法:

  1. #只拿一种常见的错误做例子,有时候可能会出现很多种这样的提示
  2. lib/kcp/crypt.go:14:2: cannot find package "golang.org/x/crypto/pbkdf2" in any of:
  3.     /usr/lib/go-1.7/src/golang.org/x/crypto/pbkdf2 (from $GOROOT)
  4.     /root/workspace/src/golang.org/x/crypto/pbkdf2 (from $GOPATH)
  5.  
  6. #意思是缺少这种包,然后记住提示的地址,比如上面的golang.org/x/crypto/pbkdf2,有时候也会提示的github地址。

然后再使用命令 go get golang.org/x/crypto/pbkdf2 命令安装一下就行了。

2、直接安装

除了自己编译外,作者也直接提供了编译好的文件给你使用,文件下载地址:点击进去,然后再根据自己的系统架构下载对应的最新版服务端和客户端。如果对于 Linux 服务器还是不知道怎么选择的,这里拿 Vultr、搬瓦工大多数 VPS 为例。先使用命令 getconf LONG_BIT 获取系统版本,32 位就选 386,64 就选 amd64,具体还是以实际情况为准。

服务端使用

这里博主使用的是 Vultr Linux x64 服务器,直接使用命令:

  1. #记得复制前先将下面链接替换成当前最新版地址
  2. cd ~
  3. #下载并解压服务端
  4. wget https://github.com/cnlh/nps/releases/download/v0.0.14/linux_amd64_server.tar.gz && tar zxvf linux_amd64_server.tar.gz
  5. #编辑配置文件
  6. cd nps
  7. nano conf/nps.conf

参数如下:

  1. #web管理端口
  2. httpport
  3. #web界面管理密码
  4. password
  5. #服务端客户端通信端口
  6. bridePort
  7. #ssl certFile绝对路径
  8. pemPath
  9. #ssl keyFile绝对路径
  10. keyPath
  11. #域名代理https代理监听端口
  12. httpsProxyPort
  13. #域名代理http代理监听端口
  14. httpProxyPort
  15. #web api免验证IP地址
  16. authip
  17. #客户端与服务端连接方式kcp或tcp
  18. bridgeType

然后启动服务端:

  1. ./nps start
  2. #重启/停止服务端
  3. ./nps stop|restart

然后打开地址 http://ip:8080 访问管理界面,具体端口以自己修改的为准,再使用密码登录进去,默认为 123。

  1. #如果打不开Web界面,就需要开启防火墙,一般CentOS系统出现情况最多
  2. #Centos 6系统
  3. iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
  4. service iptables save
  5. service iptables restart
  6.  
  7. #CentOS 7系统
  8. firewall-cmd --zone=public --add-port=8080/tcp --permanent 
  9. firewall-cmd --reload

对于有些服务器,比如阿里云,谷歌云等,还需要在服务器管理面板上开放 Web 端口才行。

客户端使用

1、Linux 系统

  1. #比如下载的客户端文件在根目录,先进入根目录
  2. cd ~
  3. #启动客户端,比如服务端公网IP为1.1.1.1,服务端配置文件中tcpport为8284
  4. ./npc -server=1.1.1.1:8284 -vkey=客户端的密钥

2、Windows 系统
首先按住 Win+R,输入 cmd 进入命令窗口,然后使用命令:

  1. #比如下载的客户端文件在D盘,先进入到D盘
  2. cd /d d:
  3. #启动客户端,比如服务端公网IP为1.1.1.1,服务端配置文件中tcpport为8284
  4. npc.exe -server=1.1.1.1:8284 -vkey=客户端的密钥

至于 Mac 系统启动参考上面就行。

带 Web 面板高性能轻量级内网穿透工具 NPS

已有 1252 人购买
查看演示升级 VIP立刻购买

收藏
(3)

发表回复

热销模板

Ashade - 作品展示摄影相册WordPress汉化主题
LensNews

本站承接 WordPress / PbootCMS / DedeCMS 等
系统建站、仿站、开发、定制等业务!