折腾笔记

折腾笔记

记录一次无端口访问家庭网络服务(群晖、威联通、NAS等)

2022-08-13

前言

目前全国大部分运营商家宽都是屏蔽80和443端口的,如果想要访问家里面的NAS等各种服务,都需要分配端口号,然后在路由器中做端口转发,从而实现远程访问。服务部署的多了端口也多,很容易记忆混乱,这时候有两种方式解决,一个是部署一个导航页,我之前的教程写过很多,感兴趣的可以浏览一下我之前的博客。但是有的朋友说导航页的方式不太全,一但导航页泄露很容易暴露所有端口,本期教程我们将使用nginx的方式来实现二级域名访问相关服务,而且以后路由器中映射的端口也只有三个,既能提高安全性,也便于记忆。 在上篇文章群晖NAS-TOOL消息推送之微信(自动检索下载,以及控制程序运行)中曾经提到过如何安装Nginx管理面板(Nginx Proxy Manager),这期教程将继续探索此面板的更多玩法,一个端口访问家庭网络服务。

emby.ycnas.com:88
dsm.ycnas.com:88
nastool.ycnas.com:88

前期准备

我们已经将家庭中的各种网络服务做了DDNS解析,并且可以通过外网正确访问服务,相关教程之前也写过,有兴趣的可以看看。

群晖外网访问完全教程-DDNS、域名购买、解析

群晖安装nginx-proxy-manager

群晖本身已经内置了nginx反向代理服务器,使用起来也很不错,但是总是遇到一些小bug,明明端口没有使用但是总是提示已经被使用,另外不能申请证书,个性话设置较少,本期教程将使用一个具有简单、强大的界面有ui面板,可以申请证书的nginx管理面板(nginx-proxy-manager)在上期的NAS-TOOL教程中曾经使用过部署过微信代理。 如果对群晖内置反向代理感兴趣的可以看这篇文章 群晖反向代理设置

1、登录群晖,打开filestation,在docker目录下新建立目录nginx,然后再nginx下分别建立目录letsencrypt(存放申请的证书)和data(存放数据),然后对建立的文件夹赋予权限everyone完整权限

image-1660710428449

image-1660710774018

1、打开Docker→注册表→搜索chishin/nginx-proxy-manager-zh,双击下载,版本选择最新版本(latest)。

image-1660710330989

2、docker主页面映像列表中找到下载好的镜像,双击,网络中选择bridge点击下一步。

image-1660712569633

3、常规设置中名称自定义,勾选【使用高权限执行容器】和【启动自动重启】,然后点击下一步。

image-1660712607166

4、端口设置中,需要将反向代理的面板的三个端口代理出去,容器端口不要动,本地端口填写未使用过的端口。

image-1660712839263

5、存储空间设置中,建立如下映射关系,文件/文件夹选择在docker中创建的相关目录,装在目录中填入和我图片中相同的内容,然后点击下一步。

装载路径
/data
/etc/letsencrypt

image-1660713035884

6、在摘要中请在此检查配置项,没有错误的话点击完成。

image-1660713171134

7、使用群晖IP:11081(81的映射端口来访问控制页面)

image-1661004059342

8、初次使用可以请按照要求更改用户名和密码。

image-1660139436822

使用一个端口访问所有服务

1、登录路由器,将nginx面板的三个容器本地端口进行转发11143(https端口),11080(htt端口)、11081(nginx管理面板)三个端口进行转发。

image-1661005197046

1、在DDNS域名解析处添加相关服务的二级域名解析,比如想使用emby.zwbcc.cn这个域名来访问emby媒体库。(解析记录请使用CNAME,记录纸填写DDNS主域名)

image-1661004943350

2、登录nginx面板,点击主机→代理服务→添加代理服务。

image-1661005367788

3、域名中填写emby.ycnas.site不用填写端口,协议选择http,转发主机ip填写群晖内网ip,端口填写emby端口8096,然后点击保存即可。

image-1661005444566

4、填写好的格式应该和我的相同,请仔细检查不要多填写http、:、/之类的。

image-1661005557454

5、然后在浏览器中直接访问emby.ddns地址:nginx(http端口)即可访问emby例:http://emby.ycnas.site:11080即可。

image-1661005764238

6、根据emby的添加过程,可以添加更多的服务,然后在访问的时候只需要使用二级域名:10080访问

image-1661006091246

7、部署教程结束。

总结和补充

本教程可以解决的问题:

  • 使用一个端口增加访问体验,毕竟emby、nas-too、qb等二级域名更容易记忆。
  • 增加安全性,转发的端口越少越安全。
  • 如果外放访问服务比较多,不想每次都添加二级域名,可以使用泛解析(目前腾讯和阿里泛解析都是免费的)

本篇教程最开始本来是想写三部分的,包括使用公网vps去掉端口和使用申请https证书等,但是这样因为涉及到内容过多(文章中也附上了很多之前写过的教程),很可能有会给很多朋友造成困扰,所以剩下的两部分我将会采用和nas-tool工具的方式,在端口访问的进阶教程中写出,最近想写的教程很多包括硬件设备,从咸鱼购买了一个dell的新款小主机dell3260 的相关玩法文章已经在写了,有感兴趣的朋友可以关注一下,咱们下一篇文章见。