内网穿透
IPv4 已经枯竭,而 IPv6 现在又未普及,电信、联通、移动三大网络运营商在普通宽带拨号时都不会分配给你公网 IP 了,而是由运营商组建的局域网下的内网 IP,多用户共用一个公网 IP,以达到解决 IPV4 枯竭的问题。正常上网都没问题,但不能做端口映射以及 DDNS 动态域名来直接访问家里各种设备了。在 IPv6 完全普及之前,可利用 VPS(虚拟服务器) 做中转服务,实现内网穿透,以此来解决在外网环境下访问家里 NAS。

内网穿透常见方案有 frp、Ngrok、NPS 等,我选择 nps,因为有 web 界面,添加端口十分方便。
GitHub 项目地址:https://ehang-io.github.io/nps/#/

准备条件
一台 VPS 主机(一般有固定公网 IP)
一台 NAS 主机(群辉、威联通均可)
putty 工具(也可以用其他 Linux 命令工具)
一个域名(可有可无,不用记 IP)

下面开始正式教程:

  1. 服务端搭建
    putty 连接 VPS,以 root 账户登录

查看系统版本

lsb_release -a

例如我的就是 linux_amd64 版
如果提示 -bash: lsb_release: command not found
输入下面的指令后再执行上面的查看本版指令

yum install -y redhat-lsb

到项目地址 https://github.com/ehang-io/nps/releases 找到自己对应的服务器端版本
使用下面命令,开始下载
地址替换成你系统对应的版本的下载地址

wget https://github.com/ehang-io/nps/releases/download/v0.26.10/linux_amd64_server.tar.gz

解压文件
替换自己对应的服务器端版本文件名

tar zxvf linux_amd64_server.tar.gz

执行安装命令

sudo ./nps install

输入下面命令,编辑配置文件,修改登录名和密码

vi conf/nps.conf

然后按键盘 i 键进入编辑
image.png

启动 NPS 服务

sudo nps start

命令说明
开启服务:sudo nps start
重启服务:sudo nps restart
停止服务:sudo nps stop

重启服务后,打开浏览器输入 vps 的 ip:8080

[tip type="info"]

如果失败请到 VPS 控制台放行 8080 端口

[/tip]

image.png默认账号:admin
默认密码:123 (修改的话,就使用自己修改的)

进入后-右上角-简体中文;然后左边导航栏-客户端-新增

image.png


设置客户端(群辉 NAS)

安装 docker 套件(套件中心-搜索 docker-安装套件)
打开 docker 套件,注册表搜索 oldiy,双击 oldiy/npc-client,选择标签 latest

image.png

切换到映像,双击打开刚刚下载好的 oldiy/npc-client
弹出页面后,进入高级设置-网络-按图勾选这个。

image.png

然后进入环境,按图输入你的 IP:8024,以及网页端设置的密码。

image.png
切换到 docker 的容器,看到已经在运行了

image.png进入 VPS 控制台,安全组-放行 8024 端口。
以及使用下面 Linux 命令,确保放行 8024 端口。

iptables -I INPUT -ptcp --dport 8024 -j ACCEPT

回到网页端,就可以看到已经是在线了(online)。

image.png


接下来,就剩最后添加“端口映射”了
点击 tcp 隧道-新增,按图填写

image.png保存后,看到添加的端口均保持正常

image.png
好了,在外网情况下浏览器输入 ip 加端口(ip:端口)测试一下访问吧。

使用域名绑定 IP,就不用记住 IP,快去试试吧。

最后修改:2022 年 06 月 27 日
如果觉得我的文章对你有用,请随意赞赏