最近通过阿里云申请了三个月免费的使用权,不过会限制流量,最近拿来测试了一下内网穿透,通过nps服务来做的,下面记录一下整个过程。
1.申请阿里云服务器
这里就不作过多的介绍了,我申请的阿里云服务配置如下,这里申请的服务器会给一个公网IP,我们可以通过公网ip访问云服务器上的服务,我这里预装的ubuntu20.04。
2.云服务器安装go编译器
一般云服务器上都会预先安装git,如果没有安装的话可以手动安装一个
nps服务使用go语言写的,需要先安装go编译器,编译nps服务
wget -c https://dl.google.com/go/go1.14.2.linux-amd64.tar.gz -O - | sudo tar -xz -C /usr/local
export PATH=$PATH:/usr/local/go/bin
source ~/.profile
go version
3.下载编译nps服务
执行以下命令下载、编译nps服务,这里会遇到一个timeout问题,修改go环境的代理即可解决
git clone https://github.com/ehang-io/nps && cd nps
go build cmd/nps/nps.go
go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/,direct
go build cmd/nps/nps.go
安装启动nps服务
./nps install && sudo nps start
安装完成后目录下有以下文件
/etc/nps/conf/nps.conf可以查看/修改nps服务的账号
4.配置nps服务器
访问http://{服务器公网ip}:8080端口号可以进入nps管理页面,用户名和密码在/etc/nps/conf/nps.conf中,默认用户名为admin,密码为123
(1)添加一个客户端
(2)添加socks代理
(3)添加TCP隧道
5.配置nps客户端
nps支持多平台的客户端配置,访问https://github.com/ehang-io/nps/releases/tag/v0.26.10地址可以下载不同平台的客户端,配置都是相同的,需要注意的是在windows平台下会被认为是病毒软件,需要将nps.exe添加到杀毒软件的信任区,否则不可用。
下载后是一个压缩包文件,解压后有conf和npc两个文件
在nps管理页面的客户端管理中可以看到配置客户端的命令,在客户端中运行该命令即可
这样基本的配置就完成了,可以用过任意外网机器访问内网的服务了,如果遇到不能访问则还需要以下配置
(1)关闭云主机防火墙
在云主机中关闭防火墙即可
sudo ufw disable
(2)配置云主机入口规则
这里开启了云主机的80、8024、8080、8889端口的访问
7.测试
以上配置完成就可以在任意主机访问内网的服务了,整个流程来讲还是比较简单的,有需要的可以自己玩一下,通过nps界面还可以查看流量的使用情况,还是比较方便的。