请教NAS端口映射方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请教NAS端口映射方法相关的知识,希望对你有一定的参考价值。
参考技术A 我建议不要在nas上面设置映射,建议在路由器配置里面设置端口转发去把nas的端口映射到外网。以群晖为例,打开控制面板——外网访问——路由器配置——新建,你就可以看到所有端口和对应的功能名称。
另外在群晖nas很多端口都是不能改的,所以转发上某些端口会很麻烦。还有什么疑问,可以留言。
威联通NAS通过宝塔面板实现域名统一端口访问
背景
家用的宽带是联通的,自带公网 IP ,但是封锁了 80 端口和 443 端口,无法隐藏端口进行访问。因为前段时间一直在给 NAS 增加服务,都是通过公网 IP + 端口的形式通过路由器的端口映射访问服务,随着服务逐渐增多,端口名越来越乱,脑子快记不过来了
需求
能否通过不同域名的相同端口实现对不同服务的访问呢?比如我令 blog.xxx.xyz 和 git.xxx.xyz 两个域名都解析到我的公网 IP 上,但是 blog.xxx.xyz:8080 访问的是我自己的博客,而 git.xxx.xyz:8080 访问的是我的代码仓库
摸索
我的域名是阿里云上买的,首先搜到的方法是可以通过域名解析的 隐形URL 对域名转发到指定端口,很可惜这种方法需要对网站进行备案,而我的域名并不是用来建网站的,所以无法使用此方法
下一个思路是反向代理,关于正向代理与反向代理的相关介绍可以看这里:
反向代理为何叫反向代理? - 刘志军的回答 - 知乎
我个人的理解,反向代理本质上也是一种 NAT,类似于路由器上的端口映射,只不过反向代理可以将域名的指定端口映射到内网中的指定端口上,而威联通的 QTS 5.0 版本刚好更新了反向代理的功能,但我的 NAS 毕竟是放在内网里的,如果想要实现反向代理,需要将其设置为 DMZ 主机,刚好 TP-LINK 的路由器具有这个功能,所以到此为止一切顺利
但是有个很麻烦的问题就来了,映射之后服务的 web 端确实可以打开,但是也仅限于打开。比如博客这个服务,通过反向代理只能打开主页,却不能访问博文或跳转到其他子页面。究其原因,似乎是如果跳转到其他页面,反向代理会使用内网的路径访问,所以在外网无法正常访问。因为网上几乎搜不到任何相关案例,遂只能放弃。
但是反向代理这条路还没有走到头,于是我去简单学习了 nginx 反向代理,在 docker 中安装后,开始使用,起初也遇到了和上一段一模一样的问题,但是这次网上搜到了相关案例,并且解决了。但是接下来又出现了一个很致命的问题:外网无法访问内核!简单来说,博客可以正常跳转了,但是其他服务如jupyter notebook,无法正常使用内核。尝试解决半天无果,也只能放弃。
最后抱着试试看的心理安装了宝塔服务,相对于 nginx 来说图形化界面更方便操作一些,虽然用其反向代理的功能仍然无法满足需求,但是发现宝塔面板下有一个重定向的功能,完美满足了我的个人需求
正文
还是先用 Container Station 安装宝塔面板,我用的是 pch18/baota
创建 docker 时我用的是桥接模式,分配的 IP 地址为 192.168.2.6。如果使用 NAT模式,记得将所需端口映射一下。
创建完毕后,终端显示如下所示
然后登陆 web 端进行配置就可以了,web 端的端口为 8888,所以我的内网地址就是 192.168.2.6:8888
如果初始用户名和密码登不上去,终端里输入指令 bt 重置一下就好了
在软件商店安装一个 Apache 用来搭网站
如果安装的过程中提示需要先卸载 Nginx 的话,直接商店搜索然后卸载就好了
安装完成后,点击左侧导航栏的网站 - 添加站点
建好网站后,点最后面的设置 - 重定向(测试版)- 添加重定向
将域名转发到所需要的的端口就可以了,其他选项都默认
最后记得在路由器中将这个 docker 作为 DMZ 主机
然后再去访问相应的域名,就可以正常转发了
写在后面
这种方法的优缺点也简单总结一下
首先关于 DMZ 主机,虽然开放 DMZ 主机可以自由的通过外网访问内网设备,但也意味着设备完全暴露在互联网中了,可能会被不法分子盯上并恶意攻击,注意保护,可以关闭自己不需要的端口,只保留需要使用端口
关于宝塔面板的重定向功能,因为是重定向,简单理解就是你输入的域名变成了一个目录,实际访问的地址还是最初的 公网 IP + 端口的形式,所以在连接的速度和稳定性上并不会受第三方软件的影响,这点还是比较好的
以上是关于请教NAS端口映射方法的主要内容,如果未能解决你的问题,请参考以下文章