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

2024-08-05 15:19:49 +08:00
 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 中文文档

2372 次点击
所在节点    程序员
11 条回复
githmb
2024-08-05 15:26:22 +08:00
太复杂了,还不如这个三板斧的,直接在命令行就启动了:

https://github.com/rust-net/remote-bind
gxt92
2024-08-05 15:30:33 +08:00
公司网管没发现?
elboble
2024-08-05 15:38:08 +08:00
依稀记得 nps 某个版本前有漏洞,容易被黑
bigshawn
2024-08-05 15:45:21 +08:00
好复杂啊,还是比较喜欢 wg
guanzhangzhang
2024-08-05 15:53:01 +08:00
liaohongxing
2024-08-05 16:52:47 +08:00
推荐一下 gost
GG668v26Fd55CP5W
2024-08-05 16:57:14 +08:00
阿里云还能直接拉 docker 镜像?
onichandame
2024-08-05 17:36:11 +08:00
看一下 cloudflare tunnel
lovelylain
2024-08-05 18:18:53 +08:00
不符合很多公司的安全规范
461229187
2024-08-06 08:08:56 +08:00
@githmb 这个真方便啊
461229187
2024-08-06 08:09:21 +08:00
@gxt92 有网管,我还用搞这个?

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

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

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

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

© 2021 V2EX