最近在NAS上折騰了一番開源的Joplin筆記軟件(NAS搭建自托管服務器流程參考這里),由于訪問地址只能設置一個,要么內網(wǎng)ip,要么外網(wǎng)域名。如果使用域名就出現(xiàn)一個很尷尬的情況:回到家后,各種終端就沒辦法直接連接NAS服務器了,電腦還好,可以修改hosts文件,手機平板需要掛VPN,不然就只能用流量了。所以筆記服務器搭建好之后,我一直在尋找實現(xiàn)在內網(wǎng)通過域名訪問內網(wǎng)中的NAS服務器的方法。

如果路由器支持,可以直接修改路由器的hosts文件,來實現(xiàn)特定域名跳轉到特定IP地址,這樣連接到這個路由器上的所有設備都可以通過域名來訪問NAS了。但很不幸的是,家里的tplink5480并不支持這一操作,所以我把目光轉向了搭建DNS服務器上,這時一款用來屏蔽廣告的軟件AdGuard Home映入眼簾。

這是一款主要用來攔截廣告的開源軟件,當用戶的設備嘗試通過AdGuard Home 解析某個域名時,AdGuard Home會首先檢查該域名是否在其過濾列表中,如果請求的域名在過濾列表中,AdGuard Home 不會將請求轉發(fā)到實際的IP地址,而是返回一個空白的或者特定的IP地址(通常是0.0.0.0或者127.0.0.1),這樣用戶的設備就無法加載廣告內容;如果請求的域名不在過濾列表中,AdGuard Home 會像正常的DNS服務器一樣,將請求轉發(fā)到相應的IP地址,允許正常內容的加載。

所以我們可以通過手動添加規(guī)則,來實現(xiàn)特定域名跳轉到特定的IP地址。而這個軟件安裝后docker的ip地址就是一個DNS服務器了,可以手動把他添加到路由器的DNS服務器欄中,最終實現(xiàn)內網(wǎng)域名訪問NAS。而且,因為他強大的廣告攔截功能,我們也獲得了一個過濾了廣告的內網(wǎng)。接下來就是AdGuard Home在NAS上的部署流程。

在Container Station點擊“瀏覽”旁邊的三角按鈕展開菜單,點擊“提取映像”。

實現(xiàn)用域名訪問內網(wǎng)中的NASContainer Station界面

在“映像”一欄填入“dockerpull.com/adguard/adguardhome”,點擊“提取”。

實現(xiàn)用域名訪問內網(wǎng)中的NAS提取映像

下載完畢后在左側的“映像”中可以看到剛才下載的docker,點擊對應docker右側的三角按鈕開始部署。

實現(xiàn)用域名訪問內網(wǎng)中的NAS下載的docker

出現(xiàn)創(chuàng)建容器界面,點擊“下一步”。

實現(xiàn)用域名訪問內網(wǎng)中的NAS創(chuàng)建容器

在“名稱”欄輸入這個容器的名稱,這里我輸入的是“adguardhome”,可以根據(jù)需要修改,方便分辨即可。隨后點擊“高級設置”。

實現(xiàn)用域名訪問內網(wǎng)中的NAS設置容器名稱

在“網(wǎng)絡”選項中,網(wǎng)絡模式選擇“Bridge”,勾起“使用靜態(tài)IP地址”,IP地址根據(jù)需要修改,這個IP就是后面我們在路由器或者電腦中設置的DNS服務器地址,這里我選擇的是192.168.1.200

實現(xiàn)用域名訪問內網(wǎng)中的NAS網(wǎng)絡設置

在“存儲”選項中,選擇“綁定裝載主機路徑”。

實現(xiàn)用域名訪問內網(wǎng)中的NAS網(wǎng)絡設置

按照圖中的設置填入主機和容器路徑,其中主機路徑需要提前手動建立好相應的文件夾。依次點擊“應用”——“下一步”——“完成”,即完成部署。

實現(xiàn)用域名訪問內網(wǎng)中的NAS存儲路徑設置

容器運行起來之后,在日志中即可看到我們設置的IP地址和端口號。

實現(xiàn)用域名訪問內網(wǎng)中的NAS查看IP地址和端口號

在地址欄輸入顯示的IP地址和端口號(這里是192.168.1.200:3000)就可以打開AdGuard Home。根據(jù)提示一路下一步,設置好賬號密碼。

實現(xiàn)用域名訪問內網(wǎng)中的NAS
實現(xiàn)用域名訪問內網(wǎng)中的NAS
實現(xiàn)用域名訪問內網(wǎng)中的NAS
實現(xiàn)用域名訪問內網(wǎng)中的NAS
實現(xiàn)用域名訪問內網(wǎng)中的NAS

用剛才設置好的賬號密碼登錄。

實現(xiàn)用域名訪問內網(wǎng)中的NAS

點擊頂部的“過濾器”——“自定義過濾規(guī)則”。

實現(xiàn)用域名訪問內網(wǎng)中的NAS

書寫格式與hosts文件格式一樣,比如我想讓用戶訪問“www.baidu.com”時跳轉到192.168.1.10去,就寫“192.168.1.10 www.baidu.com”,然后點擊應用。

實現(xiàn)用域名訪問內網(wǎng)中的NAS

然后在路由器、電腦的DNS服務器設置中,填入192.168.1.200,就可以在內網(wǎng)用域名訪問內網(wǎng)中的NAS服務器了。具體設置可以在軟件頂部的“設置指導”中看到各種系統(tǒng)的設置方法。

這個方法可能有點繞,不過附送了整個局域網(wǎng)的廣告過濾,也不枉折騰一場。至于廣告攔截功能的設置,目前還在摸索中。

若有不足之處或者更好的方法,還請各位大佬不吝賜教實現(xiàn)用域名訪問內網(wǎng)中的NAS

作者聲明本文無利益相關,歡迎值友理性交流,和諧討論~

,

聲明:本站所有文章,如無特殊說明或標注,均為本站原創(chuàng)發(fā)布。任何個人或組織,在未征得本站同意時,禁止復制、盜用、采集、發(fā)布本站內容到任何網(wǎng)站、書籍等各類媒體平臺。如若本站內容侵犯了原著者的合法權益,可聯(lián)系我們進行處理。