外网NAS访问域名实现

访客 3C数码 5.3K+
使用域名在内网中创建并管理nas服务器。

最近开源的Joplin笔记本软件被折腾到了NAS上(这里参考为NAS搭建自托管服务器的过程),因为只能设置一个访问地址,要么是内网ip,要么是外网域名。如果使用域名,会出现一个尴尬的情况:回到家,各种终端都无法直接连接NAS服务器。计算机没有问题,您可以修改hosts文件。手机平板需要挂VPN,否则只能用流量。所以在note服务器建好之后,我一直在寻找通过域名访问内网NAS服务器的方法。

如果路由器支持,可以直接修改路由器的hosts文件,从特定的域名跳转到特定的IP地址,这样所有连接到该路由器的设备都可以通过该域名访问NAS。可惜家里的tplink5480不支持这种操作,于是我把目光转向搭建DNS服务器,一款用来屏蔽广告的软件AdGuard Home进入了我的视线。

这是一款开源软件,主要用于拦截广告。当用户的设备试图通过AdGuard Home解析域名时,AdGuard Home会首先检查该域名是否在其过滤列表中。如果请求的域名在过滤列表中,AdGuard Home不会将请求转发到实际的IP地址,而是返回一个空白色或特定的IP地址(通常为0.0.0或127..如果请求的域名不在过滤列表中,AdGuard Home会像普通DNS服务器一样将请求转发到相应的IP地址,允许加载普通内容。

所以我们可以通过手动添加规则,从特定的域名跳转到特定的IP地址。软件安装后,docker的ip地址是一个DNS服务器。可以手动添加到路由器的DNS服务器栏,最终实现内网域名访问NAS。而且因为其强大的广告拦截功能,我们还获得了一个过滤广告的内网。下一步是在NAS上部署AdGuard Home。

单击浏览集装箱站旁边的三角形按钮以展开菜单,然后单击提取图像。

在集装箱站界面,在“图像”一栏填写“docker pull . com/adguard/adguardhome”,点击“提取”。下载完提取的镜像后,可以在左侧的“镜像”中看到刚刚下载的docker,点击对应docker右侧的三角按钮开始部署。下载的docker出现创建容器接口,点击“下一步”。要创建容器,请在“名称”列中输入该容器的名称。这里我输入“adguardhome”,可以根据需要修改,方便识别。然后点击“高级设置”。在“网络”选项中设置容器的名称,选择“网桥”作为网络模式,并调用“使用静态IP地址”。根据需要修改IP地址。这个IP就是我们后来在路由器或者电脑里设置的DNS服务器地址,我这里选的是192.168.1.200。网络设置在存储选项中,选择绑定装载主机路径。网络设置按照图中的设置填入主机和容器路径,主机路径需要提前手动建立相应的文件夹。单击应用-下一步-完成以完成部署。存储路径设置容器运行后,我们可以在日志中看到我们设置的IP地址和端口号。看IP地址和端口号。输入地址栏中显示的IP地址和端口号(此处为192.168.1.200:3000)以打开AdGuard Home。根据提示,设置账户密码。

用刚才设置好的账号密码登录。使用您刚刚设置的帐户密码登录。

点击顶部的“过滤”-“自定义过滤规则”。写入格式与主机文件的格式相同。例如,如果我希望用户在访问www.baidu.com时跳转到192.168.1.10,我将写“192.168.1.10 www.baidu.com ”,然后单击应用。然后在路由器和电脑的DNS服务器设置里填写192.168.1.200,就可以用域名访问内网的NAS服务器了。具体设置可在软件顶部的“设置指南”中找到。

这个方法可能有点迂回,但是有了整个局域网的广告过滤,也不算浪费。至于广告拦截功能的设置,还在探索中。

若有不足之处或者更好的方法,还请各位大佬不吝赐教如果有什么不足或者更好的方法,请大家指教。

作者声明本文无利益关系,欢迎价值朋友理性交流和谐讨论~

标签: 域名

抱歉,评论功能暂时关闭!