最近有个项目因为涉及到内网穿透测试,所以就开始了解了下内网穿透,最开始用的是花生壳的内网穿透,但同时也会涉及到大流量付费的问题,实在钱不多,也没必要
正好其他项目空出来一台服务器,打算自己搭一台内网穿透服务器感受一下,此篇文章来记录下过程,也给需要的朋友们一点提示。
本篇选用的是开源的内网穿透系统NPS(https://github.com/ehang-io/nps)
nps是一款轻量级、功能强大的内网穿透代理服务器。
支持tcp、udp流量转发,支持内网http代理、内网socks5代理,同时支持snappy压缩、站点保护、加密传输、多路复用、header修改等。
尤其是支持web图形化管理,集成多用户模式,这个比frp要好很多!
废话不多说开始安装:
一、需要准备的东西
一台公网服务器
一台需要映射的本地服务器
安装好相应的操作系统,本篇采用的均是centos7.6
二、安装服务器端
首先确定下服务器系统是哪个版本的,32位就选i386,64就选amd64
安装wget,如果可用可以略过这部
yum -y install wget
进入opt目录创建一个ups目录,将下载的东西都保存在这个目录下,我下载的是amd64版本
cd /opt
mkdir ups
cd ups
wget https://github.com/ehang-io/nps/releases/download/v0.26.10/freebsd_amd64_server.tar.gz
解压服务端文件
tar -zxvf linux_amd64_server.tar.gz
修改配置文件
正常服务器上有可能会安装web等常用服务,而nps默认会占用,所以要修改下,避免端口冲突
配置文件是conf目录下的nps.config文件,可以使用vim编辑,也可以使用winscp软件进入目录编辑
这里暂时使用vim,进入conf目录后运行命令,将默认端口修改为非常用端口即可
vim nps.conf
配置下面有web控制页面的用户名、密码和访问端口,根据自身需要修改即可。
启动服务端
./nps start /*后台启动服务*/
./nps stop /*结束后台进程*/
./nps reload /*重新加载配置*/
./nps /*前台启动服务*/
上面的命令只能是启动,退出后程序会自动终结,因此我们需要下面的命令,让它不会停止!
nohup ./nps > file.log 2>&1 &
访问后台:http://ip:port
进入系统后,直接根据需要添加客户端即可,附上官方的使用文档可参考(https://ehang-io.github.io/nps)
三、安装客户端
创建客户端信息
在安装客户端前需要先在服务器端添加一个客户端,此处根据需要添加即可,添加完成后会有一个秘钥,这个是之后需要的
安装客户端软件
同样先创建一个nps目录来下载相应的客户端软件
wget https://github.com/ehang-io/nps/releases/download/v0.26.10/linux_amd64_client.tar.gz
解压软件
tar -zxvf linux_amd64_client.tar.gz
启动客户端
启动时可以在客户端列表点击相应的客户端加号,会有启动命令,直接复制这条命令执行即可。
常驻程序运行
nohup ./npc -server=(ip:port) -vkey=(web界面中显示的密钥) > file.log 2>&1 &
配置域名解析
配置完成后域名列表里显示online,就说明绑定成功,已经可以穿透访问了!
最后注意:所有相关端口都需要在系统防火墙和云服务器的安全组里面开放访问。