這次的教學是如何在家中的 Windows 電腦上安裝 AdGuard Home 作為路由器的 DNS 伺服器讓全家人免受各種廣告的干擾。

前言

什麼是 DNS?

DNS(Domain Name System),中文為網域名稱系統,提供域名解析的服務。在網路世界,每台電腦都有它自己的地址,也就是 IP。我們使用瀏覽器上網時,就像我們的電腦去指定的地址拿取其他電腦中的資料,也就是電腦向伺服器 IP 發起請求。但平時瀏覽 Google、Youtube 或者和泉小角落時我們都沒有輸入 IP,都是輸入網址,電腦怎麼知道去哪裡找資料呢?實際上電腦就是用網址取得 IP 的!!在一般常見的網址中包含網站的域名,電腦會透過我們輸入的網址得知欲前往之網站的域名,再詢問 DNS 伺服器這個域名對應的 IP。因此,IP 作為地址,域名就像是地址的名字。例如我今天想瀏覽小明的網站,我先在瀏覽器輸入小明的電腦(域名),我的電腦轉而向 DNS 伺服器詢問小明的電腦的地址(IP),得知地址後我的電腦再訪問該地址,成功瀏覽小明的網站!!

DNS 伺服器有很多,速度、功能以及安全性皆有所差異。

什麼是 AdGuard Home

AdGuard 最著名的功能就是擋廣告,許多人都會再瀏覽器上安裝其插件。而 AdGuard Home 是 AdGuard 推出的開源 DNS 伺服器,內含許多阻擋廣告的功能。相比其他 DNS 服務,雖然有些皆有阻擋廣告的功能,但自己架設的 DNS 伺服器可以客製化調整,架設在自己家也較安心。

AdGuard Home 如何阻擋廣告

AdGuard Home 使用 DNS Sinkhole 的方法來阻擋廣告,這種方法會對特定的域名給出錯誤的結果。假設我今天想要瀏覽小明的網站,但是 DNS 故意回報我錯誤的地址,就會導致小明的網站無法正常顯示。這一樣適用於廣告!!當電腦向廣告的域名發送請求時,DNS故意回報 0.0.0.0 給電腦,導致請求失敗,就無法顯示廣告了。

但是像 Youtube 這種影片中的影片較難阻檔,若要阻擋這類廣告推薦安裝插件解決。

教學

正式進入教學啦!

安裝 AdGuard Home

  1. AdGuard Home 的 GitHub Releases 頁面下載 Windows 執行檔到伺服器電腦。(此時版本為 v0.107.52)
    AdGuard Home 的 GitHub Releases 頁面
  2. 下載後解壓縮,得到以下檔案。
    解壓縮後 AdGuardHome 的內容
  3. 按下 Win + S 開啟搜尋欄搜尋 powershell,點選以系統管理員身分執行
    搜尋 powershell
  4. 在 PowerShell 中使用 cd 指令切換至解壓縮檔案後出現的 AdGuardHome 目錄位置。以下以我的目錄位置舉例。
    1
    cd C:\Users\user\Documents\AdGuardHome
  5. 輸入以下指令安裝 AdGuard Home。
    1
    ./AdGuardHome -s install
  6. 看到 service: action install has been done successfully on windows-service 等成功的句子代表你已經成功安裝!

初步的 AdGuard Home 設定

依照以上步驟安裝好後不代表可以使用喔!還必須進行必要的設定。

  1. 在 PowerShell 中輸入 ipconfig 查看伺服器在內網的 IP 位置。如圖,我的伺服器內網 IP 是 192.168.1.4。同時記住預設閘道,第 6. 點會用到。
    輸入 ipconfig 查看 IP

  2. 在同一網路內的電腦瀏覽器輸入你的伺服器內網 IP:3000,以我的情況舉例:
    http://192.168.1.4:3000

  3. 成功連線後會出現以下設定介面,點擊開始吧
    初步設定 1/5

  4. 這部將設定控制面板以及 DNS 伺服器的端口。推薦管理員網路介面的連接埠續用 3000,DNS 伺服器維持 53。設定完成後點擊下一頁。
    設定連接埠

  5. 這裡將設定管理員的帳號密碼,請務必牢記。
    設定帳號密碼

  6. 到這裡就是關鍵的一步了,要指定路由器使用我們剛架好的路由器。輸入路由器 IP 已進入路由器設定,我的情況是:http://192.168.1.1

  7. 登入路由器。如果您不知道您的路由器帳號密碼,請洽您的網路供應商。(或是試試看路由器底下的預設帳號密碼)
    登入路由器

  8. 每個品牌設定皆略有不同,以我的情況舉例,我使用 ASUS RT-N18U。

    1. 點擊左側區域網路(LAN)並點擊上方 DHCP 伺服器
      找到 DHCP 伺服器
    2. 建議固定伺服器內網 IP
      1. 找到下方啟用手動指定功能,選擇
        開啟手動指定功能
      2. 在下方 Client Name (MAC address) 欄位輸入自己喜歡的名稱(例如 DNS Server),在右邊的 IP 位址欄位輸入伺服器內網 IP。點擊加號,最後點擊最下面套用本頁面設定
        固定伺服器內網 IP
    3. DNS 伺服器欄位輸入伺服器內網 IP。
      在 DNS 伺服器欄位輸入伺服器內網 IP
    4. 再次點擊最下面套用本頁面設定

    到這裡路由器內的設定就完成了!

  9. 回到 AdGuard Home 頁面,點擊下一步。

  10. 到這裡已經完成設定了,繼續前往登入。
    登入 AdGuard Home

  11. 登入後看見主畫面,確認正常運作!!
    AdGuard Home 主畫面

  12. 回到自身電腦,開啟終端輸入以下指令確認電腦是否已經在使用新的 DNS。

    1
    nslookup gallen881.github.io

    觀察 Adress 是否為伺服器的內網 IP。
    確認 Adress IP

到這裡設定就完成啦!!電腦已經在使用 AdGuard Home 了,可以觀察廣告有沒有減少喔。

進階的 AdGuard Home 設定

上游 DNS

點擊上方設定後選擇 DNS 設定可以找到上游的 DNS 伺服器設定,推薦以下幾個 DNS。

  • Google: 8.8.8.8
  • Cloudflare: 1.1.1.1
  • 中華電信: 168.95.1.1

以下模式可選擇並行的請求加快速度。
設定 DNS
記得滑到下方點擊套用!

DNS 封鎖清單

這就是為什麼要自己架設 DNS 伺服器了,你可以自己在這裡控制擋住甚麼廣告。點擊上方過濾器,選擇 DNS 封鎖清單
DNS 封鎖清單
點擊新增封鎖清單可以加入別人整理好的廣告地址,也可以加入自己整理的。如果我想阻擋 Spotify 的廣告,我可以上網搜尋 Spotify 的封鎖清單,接著加入我的清單中。DNS 為我封鎖廣告後,我的 Spotify 就不會出現廣告了!!ヾ(≧▽≦*)o
Spotify 的封鎖清單

自訂的過濾規則

有時候不小心過濾到一些不想要過濾的網站該怎麼辦?點擊上方過濾器,選擇自訂的過濾規則。在這裡,可以參考以下範例自訂規則,例如我發現我的不蒜子計數會被阻檔,我就輸入以下規則讓電腦可以存取不蒜子。

1
@@||busuanzi.ibruce.info^$important

輸入自訂規則
完成後記得要按套用喔!

更多

還有很多設定,可以自己玩玩看!也歡迎留言詢問。

結語

成功的在 Windows 架設了自己的 DNS 伺服器,以後不再受廣告煩惱了。