Unbound DNS Resolver搭配AdGuard Home檔廣告使用的設定

AdGuard Home (AGH) 預設是做為「DNS 轉發器」,將網域解析工作交給外部公共 DNS 伺服器。
但這意味著所有的瀏覽足跡(使用者在查任何網址)都會暴露給第三方(如 Google/ISP網路供應商)。
所以,若在本地追加架設 Unbound 做為 AGH 的唯一上游,這樣會有什麼好處呢:
網路瀏覽隱私與安全: 透過啟用 DNSSEC(防止 DNS 污染/篡改)與 QNAME Minimisation(最小化權威查詢,極致保護瀏覽隱私)。
極速的本地快取機制: 透過快取(Cache)設計,Unbound 與 AGH 會將常用網域的 IP 紀錄強制留存在本機記憶體(RAM)中。後續全家內網設備再次訪問相同網站時,直接在區域網路內以 0ms 秒回,大幅壓低 DNS 解析階段的延遲。
兩者搭配使用是兼顧「網路控制權(AGH 擋廣告)」與「底層解析安全(Unbound 防污染)」的自建DNS伺服器的優質組合。

網址:
https://unbound.docs.nlnetlabs.nl/en/latest/index.html

安裝套件:
sudo apt update
sudo apt install unbound
# 持續利用 CPU 的硬體隨機數產生器(或者是偽隨機優化),改善DNSSEC查詢領票的性能瓶頸。
sudo apt install rng-tools-debian
PS. WIN10/11也有套件能裝,詳細可以看官方網站:
https://nlnetlabs.nl/projects/unbound/about/

安裝好套件後,我們要新增一個適用的設定檔:

閱讀全文

用基於tailscale開發套件,架設headscale在自己的主機管轄VPN吧

Tailscale 本身是個很好用的 VPN 工具,基於 WireGuard 協議,設定簡單、連線穩定,把我的不同實體地區的網路設備,可以集中一起跨網段使用彼此的功能和資源。
但官方的 Tailscale 有幾個問題:
– 設備資訊和連線狀態會經過 Tailscale 的server,免費版有設備100數量限制(雖然一般使用者很難超過這個免費數量)。
– 無法完全掌控自己的網路,像我曾經遇到幽靈客戶端裝置: WPAD.tailXXX.ts.net 產生大量查詢 內網DNS伺服器 的癱瘓行為(當時詢問tailscale開發團隊,說它後台看不出異常來源)。

因為這樣的VPN應用對我個人來仍有一些使用條件的便利性,還是會需要用這個VPN工具來跑內網和跨網設備。
而這幾天發現 Headscale 是基於 Tailscale 的開源自架替代品,可以用同樣的 Tailscale 客戶端軟體,改在自己架設的伺服器達到一樣的功能。
缺點:
– 需要有自己的網域、和持續對外的網頁主機 PORT 443,所以仍有一定的IP暴露風險給無聊人士找弱點。
– 若要完全要開P2P對聯功能,會有另外一個 PORT 3478 要開放(以下這個範例是沒有建自己專用的,若對連失敗仍會嘗試跑tailscale官方的服務)。
– Headscale第三方開發者,所以它只有純CMD指令來使用交握,如果想要更好的體驗,需要另外安裝另外一個第三方開發的WEB UI套件(以下這個範例沒有裝額外的網頁套件,純CMD操作)。

HEADSCALE套件下載位置:
https://github.com/juanfont/headscale
HEADSCALE架設說明官方文件:
https://headscale.net/stable/

以我的網路環境,因為本來就有這個網誌的網頁主機,所以架設也比較單純:
– 利用 Apache reverse proxy 功能,透過現有 443 port 運作,不需要額外開 port
– 需要 Let’s Encrypt 憑證追加新的網域
– ModSecurity 防護需要針對 headscale vhost 特別關閉,避免攔截 TS2021 協議
– ProxyPass 需要改 upgrade=any 才能正確處理 tailscale 的連線協議
– (選用) Fail2ban 監控 headscale 行為和封鎖

HEADSCALE SERVER主機端設定:

閱讀全文