【阿里云】NPS内网穿透访问家庭黑群晖

【阿里云】NPS内网穿透访问家庭黑群晖

Tabor
2024-08-02 / 0 评论 / 53 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2024年08月02日,已超过257天没有更新,若内容或图片失效,请留言反馈。

家里移动宽带,没有公网 IP ,之前一直使用简单的【Tailscale】来远程访问家里群晖,缺点是每个访问的客户端都得安装 Tailscale,一直都想试试内网穿透,没时间研究具体怎么搞,看到博主“ 可爱的小 Cherry”发的一篇公众号文章后,决定跟着试试,来实现通过阿里云服务器代理,实现内网穿透访问家庭黑群晖。

NPS,一款轻量级、功能强大的内网穿透代理服务器。支持 tcp、udp 流量转发,支持内网 http 代理、内网 socks5 代理,同时支持 snappy 压缩、站点保护、加密传输、多路复用、header 修改等。支持 web 图形化管理,集成多用户模式。

NPS 阿里云服务端

下载镜像

SSH 客户端,在阿里云和 NAS 分别下载镜像。

docker pull ffdfgdfg/nps

配置参数

从地址【https://github.com/ehang-io/nps/tree/master/conf】下载 conf 配置文件夹,并解压上传到阿里云。

# 阿里云端目录
mkdir -p /opt/1panel/docker/compose/nps/conf/
cd /opt/1panel/docker/compose/nps/conf/
# 创建空的配置文件clients.json、hosts.json、tasks.json
touch /opt/1panel/docker/compose/nps/conf/clients.json /opt/1panel/docker/compose/nps/conf/hosts.json /opt/1panel/docker/compose/nps/conf/tasks.json
# 下载示例配置文件npc.conf、nps.conf、server.key、server.pem、multi_account.conf,建议直接下载下来,配置好直接上传到conf目录。
curl -o /opt/1panel/docker/compose/nps/conf/npc.conf https://raw.gitmirror.com/ehang-io/nps/master/conf/npc.conf &&  curl -o /opt/1panel/docker/compose/nps/conf/nps.conf https://raw.gitmirror.com/ehang-io/nps/master/conf/nps.conf && curl -o /opt/1panel/docker/compose/nps/conf/server.key https://raw.gitmirror.com/ehang-io/nps/master/conf/server.key  && curl -o /opt/1panel/docker/compose/nps/conf/server.pem https://raw.gitmirror.com/ehang-io/nps/master/conf/server.pem && curl -o /opt/1panel/docker/compose/nps/conf/multi_account.conf https://raw.gitmirror.com/ehang-io/nps/master/conf/multi_account.conf

修改 /opt/1panel/docker/compose/nps/conf/nps.conf 内的配置文件。主要修改的是第 7、8、16、42 行的 4 个端口号。其次是修改 39-41 行的 webui 登录地址、账号、密码信息。

# 建议直接下载下来,配置好直接上传
vi /opt/1panel/docker/compose/nps/conf/nps.conf

启动阿里云的 NPS 容器

推荐以 docker-compose 形式启动安装容器,创建一个 docker-compose.yml 文件:

version: '3.8'

services:
  nps:
    image: ffdfgdfg/nps
    container_name: nps
    network_mode: host
    volumes:
      - /opt/1panel/docker/compose/nps/conf:/conf
    restart: always  # 可选项,根据需要添加

保存这个文件为 docker-compose.yml,然后在该文件所在目录运行以下命令来启动容器:

docker-compose up -d

也可以 docker-cli 形式,直接 SSH 客户端执行下面的命令:

docker run -d --name nps --net=host -v /opt/1panel/docker/compose/nps/conf:/conf ffdfgdfg/nps

NPS 服务端设置

来到阿里云【安全组】策略下,点击【管理规则】,根据我们之前自己修改的端口进行开放,每个端口中间用逗号分隔,这里的【授权对象】相当于 IP 白名单。

设置完成以后,我们打开【阿里云 IP:51918】,就会进入到 nps 的配置页面,使用刚才的 nps.conf 里设置的 web_username ,web_password 登录。登陆后选择左侧【客户端】-【新增】,按照图片设置的增加一个客户端。


完成以后,可以在客户端列表里看到刚才设置的密钥(或随机生成的密钥),我们复制备用,一会 NAS 端创建 npc 客户端需要使用。

NPS NAS 客户端

下载镜像

SSH 客户端,在阿里云和 NAS 分别下载镜像。

docker pull ffdfgdfg/nps

配置参数

首选在 NAS 创建目录,下载配置文件。

# NAS端目录
mkdir -p /volume1/docker/npc/conf
cd /volume1/docker/npc/conf
# 下载示例配置文件,建议直接网页下载,修改好上传到conf文件夹。
curl -o /volume1/docker/npc/conf/npc.conf https://raw.gitmirror.com/ehang-io/nps/master/conf/npc.conf

然后修改 NAS 端 /volume1/docker/npc/conf/ 路径下的 npc.conf 配置文件,主要修改第 2、4 行。让我们的 npc 客户端可以访问到服务端。

启动 NAS 的 npc 容器

同样推荐以 docker-compose 形式安装,创建一个 docker-compose.yml 文件:

version: '3.8'

services:
  npc:
    image: ffdfgdfg/npc
    container_name: npc
    network_mode: host
    volumes:
      - /volume1/docker/npc/conf/:/conf
    command: -config=/conf/npc.conf
    restart: always  # 可选项,根据需要添加

保存这个文件为 docker-compose.yml,然后在该文件所在目录运行以下命令来启动容器:

docker-compose up -d

也可以 docker-cli 行驶,直接 SSH 客户端执行下面的命令:

docker run -d --name npc --net=host -v /volume1/docker/npc/conf/:/conf ffdfgdfg/npc -config=/conf/npc.conf

配置内网穿透的代理

回到阿里云上部署的 nps 管理页面,可以看到客户端列表里的【连接】已经变为在线,这说明我们的 NAS 侧已经顺利连接到服务端了。

这里以群晖 DSM 为例,点击左侧的 TCP 代理,填入群晖 DSM 的内网访问地址,然后设置一个阿里云端的访问地址(③位置填写的端口,需要在阿里云安全策略中放入白名单),保存以后就可以使用阿里云 IP:③端口,来访问内网了。

感谢博主 " 可爱的小 Cherry"。

参考文章

  1. 榨干阿里云,还能赚点钱~ 内网穿透、博客、青龙、PT刷流,分享这些在阿里云ECS上部署的应用
0

评论

博主关闭了所有页面的评论