用闲置的阿里云服务器使用 NPS 实现内网穿透

139 天前
 461229187

最近有个项目需要给外地的同事预览一下,但是公司没有可以公网访问的测试服务器,所以想到用内网穿透的方式让外地同事可以访问到我的本机。刚好我有一台阿里云的服务器,双十一打折买了 3 年,1000 左右,2 核 8G ,买完就一直闲置,这次刚好可以用上。

服务器

首先介绍一下我的服务器:

CPU&内存:2 核(vCPU) 8 GiB 操作系统:Alibaba Cloud Linux 3.2104 LTS 64 位

使用 docker 安装 NPS

下载 yum 源采用阿里云的镜像源

wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

查看仓库中的所有版本,默认安装最新版本

yum list docker-ce --showduplicates | sort -r

安装 docker-ce

yum install docker-ce -y

配置 docker 镜像源

vim /etc/docker/daemon.json

启动 docker 服务

systemctl start docker

拉取 NPS 镜像

docker pull ffdfgdfg/nps

启动 NPS

docker run -d --name=nps --restart=always --net=host -v /opt/nps/conf:/conf ffdfgdfg/nps

配置安全组

默认的服务器不会开启这几个端口,所以你需要手动去添加:

如果端口和你现任的端口有冲突,可以查看配置文档去修改。

Web 管理

NPS 提供了 web 界面,方便配置,做好上面的步骤后,可通过,公网 ip:web 界面端口(默认 8080 ),用户名 admin ,密码 123 登录访问。

首先在菜单栏中进入客户端,点击新增

创建后,可以看到新增的客户端,链接状态是离线,没有问题。点击左侧的加号,可以看到客户端命令,这个很重要,在客户端需要执行,用来与服务器链接。

还有就是看一下客户端 ID ,上图中的第一列。

随后菜单选择 TCP 隧道,点击新增。

状态是离线是正常的,因为我们还没有在客户端进行配置。

本机

我本机是 mac ,访问 GitHub 去下载对应的客户端,https://github.com/ehang-io/nps/releases

这里记得选 client 后缀的文件。

我在 ~/ 路径下创建了 npc 文件夹,并解压到这里。

进入 ~/npc 运行:

./npc -server=*.*.*.*:8024 -vkey=av3*****yiepb1 -type=tcp

这段代码就是上文提到的创建的客户端后展示的那段代码。

如果你看到 Successful connection with server 证明链接成功了。

这时看到 web 界面中,状态也变成了在线。

之后通过公网 IP+端口 访问一下,发现项目已经可以在公网正常访问了。

参考

NPS 中文文档

1970 次点击
所在节点    程序员
11 条回复
githmb
139 天前
太复杂了,还不如这个三板斧的,直接在命令行就启动了:

https://github.com/rust-net/remote-bind
gxt92
139 天前
公司网管没发现?
elboble
139 天前
依稀记得 nps 某个版本前有漏洞,容易被黑
bigshawn
139 天前
好复杂啊,还是比较喜欢 wg
guanzhangzhang
139 天前
liaohongxing
139 天前
推荐一下 gost
falcon05
139 天前
阿里云还能直接拉 docker 镜像?
onichandame
139 天前
看一下 cloudflare tunnel
lovelylain
139 天前
不符合很多公司的安全规范
461229187
138 天前
@githmb 这个真方便啊
461229187
138 天前
@gxt92 有网管,我还用搞这个?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1062653

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX