提前准备
搭建之前你需要做的准备:
- 需要通过外网访问的设备,也就是你的nas(没有公网ipv4,不然也不用折腾内网穿透了)
- 一台云服务器或vps虚拟主机(要与公网ipv4地址)
- 电脑,安装好xhsell、xftp
- 已经实名的域名(可选,域名访问比较优雅)
- 脑子
服务端安装配置
用xshell连接到你的服务器,我这边以我的一台东京的vps为例,系统是centos 7.6建议服务器都选这个镜像,有问题好百度
首先更新系统
sudo yum update
安装需要的软件包
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
添加Docker仓库
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
安装Docker引擎
sudo yum install docker-ce
启动Docker服务
sudo systemctl start docker
设置Docker开机自启
sudo systemctl enable docker
将config下载到自己的电脑
解压后用文本编辑器对nps.conf进行编辑,重点修改的地方如图
接着我们来到xshell,cd /root进入目录,然后创建nps的配置目录
mkdir -p docker/nps
接着点击上面的xftp,将我们的config文件夹上传到nps目录下
回到xshell执行命令启动docker,没有这个镜像他会自动拉取然后启动
docker run -d --name nps-server --net=host -v /root/docker/nps/config:/nps/conf oldiy/nps-server
如果没有报错,那么久启动成功了,可以用docker ps查看下容器的状态
然后我们就可以通过你的服务器ip:28080进入nps后台开始设置,账户名和密码使我们之前在nps.conf文件中设置的
进入后先切换中文,然后来到客户端菜单,点击新增,按照下图进行配置,mei
需要点击刷新才能显示刚才新增的,秘钥等会我们配置客户端会用到,可以看到现在是离线的,因为我们客户端还没有配置接入进来
客户端安装配置
回到绿联云docker下载oldiy/npc-client镜像
创建容器,配置十分简单,免去了编辑配置文件的麻烦也不用映射存储空间,修改网络为host然后环境变量填入服务器ip和之前设置的28024以及自动生成的vkey,启动
启动成功后,回到nps的页面就能看到客户端已经上线了
服务端隧道
如果我们想访问emby那么我们需要对emby的服务端口8096打通一个tcp的隧道
服务端端口可以和nas上的不一样,但是方便记忆就用一样的吧,客户端id是之前上线的的客户端的id,去客户端页面就能看到。新增完后点击保存,然后就能通过你的服务器ip:8096 外网访问emby啦。qbit和其他服务的同理添加tcp隧道就行了
有了内网穿透,我们到nastools的时候会有妙用,微信的交付服务需要转发代理,简单配置我们就能通过微信进行交互了,frpc我也在用,但是配置比nps繁琐,web界面也很简陋,远比不上nps方便。
到这里你已经可以通过ip加端口的形式进行访问,不想折腾的就不用往下看了
域名解析
到这起始域名解析就很简单了,只要在域名里添加解析记录,指向我们服务器的ip,就能通过域名加端口访问各个服务了
比如你的域名叫 abc.top,添加了前缀 emby,那么就能通过 emby.abc.top:8096 访问你的emby了
端口隐藏(更加优雅)
到这我们已经可以用域名加端口访问服务了,但是总觉得不够优雅,暴露端口也有安全问题,就自己访问起其实没啥,目前我在用的有两个方案,一个是lucy开启web服务中的反向代理,通过识别具体的二级域名,代理到内部地址的具体端口,还有一种是cloudflare添加origin rule实现,反向代理这里不讲,讲第二种。
进入cloudflare官网注册,然后添加你的主域名,然后进入,等待解析完成
如果没有你要的二级域名的解析记录记得添加,代理状态记得开启不然请求不会走cf
按照继续的提示,到域名管理后台修改dns解析地址,生效需要时间,生效后你会收到cf给你发的邮件告诉你,你的网站已可在cf使用
通过后,我们通过添加origin rules来实现直接通过域名跳转到对应的服务
这样我们就能通过 emby.abc.top 访问你的emby了
按照继续的提示,到域名管理后台修改dns解析地址::::::这个地址是哪个地址???
下面图里的 更新地址服务器 不是解析地址 是修改dns地址服务器的地址
可以转发udp的端口吗,我在nas上建了个幻兽帕鲁的服务器,结果只能在内网用,用了这个nps的udp隧道也没法转到外网
udp的没试过
奉劝折腾NAS内网穿透的小伙伴,
直接NPS或Frp即可。
别想着搞DDNS IPv6,
ISP(e.g. 联通)直接在它那边封IPv6入站, 纯浪费时间
解析我也不用了 访问一般服务用的组网 换极空间了 不用折腾影视了