這是本節的多頁可列印檢視。
按此列印.
返回此頁面的常規檢視.
基礎教程
透過生動的比喻了解網絡基礎知識
📚 閱讀指引
為了讓網絡知識更容易理解,本教程將使用大量來自日常生活的比喻和類比。
我們的目標是讓每個人都能輕鬆掌握網絡基礎知識,無論是否有技術背景。
雖然這些比喻可能不夠嚴謹,但它們將幫助您快速建立對網絡概念的基本認知。
網絡基礎知識介紹
在本教程中,我們將透過生動的比喻和類比來解釋網絡基礎知識。我們的目標是讓每個人都能輕鬆掌握這些概念,無論是否有技術背景。雖然這些比喻可能不夠嚴謹,但它們將幫助您快速建立對網絡概念的基本認知。
不同於嚴謹的專業名詞,本段將使用大量的通俗表述,以便非專業人士能理解網絡基礎的概念。
我們將使用大量的恰當或不恰當的比喻和類比,目的是讓讀者能夠快速理解網絡基礎的概念。
1 - DNS是什麼
DNS(域名系統)是互聯網的基礎設施之一,本文介紹DNS的基本概念和工作原理
本質上,DNS服務就是一本新華字典, 通過查詢字典,我們可以找到域名對應的IP地址。
DNS簡介
DNS(Domain Name System,域名系統)是互聯網的基礎設施之一,就像一本新華字典,負責將人類易讀的域名轉換為電腦可理解的IP地址。

DNS的工作原理
當你在瀏覽器中輸入一個網址時:
- 瀏覽器首先檢查本地緩存
- 若未找到,向DNS伺服器發起查詢
- DNS伺服器返回對應的IP地址
- 瀏覽器使用該IP地址訪問目標網站
重要概念
- 域名(Domain Name): 網站的可讀地址,如
www.nullprivate.com - URL(統一資源定位符): 完整的網址,包含協議、域名和路徑,如
https://www.nullprivate.com - IP地址: 網絡設備的數字標識,如
1.1.1.1 - DNS伺服器: 提供域名解析服務的電腦
- 網站託管: 將網站文件存儲在伺服器上,使其能夠通過互聯網訪問
2 - NullPrivate基本原理
透過DNS層面的攔截,NullPrivate能有效阻止廣告、追蹤器和惡意網站
工作原理概述
NullPrivate透過DNS層面的攔截來保護您的網絡安全和私隱。它就像一個智能守門人,對所有域名請求進行篩查:
- ✅ 安全網站:正常訪問
- ❌ 廣告域名:攔截
- ❌ 追蹤器:攔截
- ❌ 惡意網站:攔截
攔截流程圖解

主要特點
- DNS級別攔截:在請求發生前就進行攔截,更高效
- 無需安裝插件:網絡層面的保護,對所有設備都有效
- 低資源消耗:只處理DNS請求,對設備性能影響極小
- 全設備覆蓋:一次配置,保護所有接入設備
3 - DNS 會如何影響你的上網體驗
DNS 是幾乎所有聯網請求的入口,解析一次域名往往只需幾十毫秒,但這幾十毫秒決定了後續連接將指向哪台伺服器、是否命中就近的 CDN 節點、是否會被營運商劫持或被某些中間節點觀察。本文面向普通網民,用連續敘述解釋 DNS 與上網體驗的關係。
DNS 會如何影響你的上網體驗
當我們打開一個網頁、刷一條影片或點擊一條應用內連結時,第一跳幾乎總會落在 DNS 上。它像一份網絡世界的電話簿,負責把人類友好的域名翻譯成機器能理解的 IP 地址。很多人把「網頁慢、打不開、時好時壞」歸因於「網速差」,其實相當一部分體驗波動與 DNS 的解析成功率、耗時、緩存命中與私隱策略相關。理解 DNS 如何工作、它在鏈路中的暴露點與可選的保護策略,能幫助我們把「慢與不穩」拆解為可控的因素。
背景與問題概述
DNS 是幾乎所有聯網請求的入口。解析一次域名往往只需幾十毫秒,但這幾十毫秒決定了後續連接將指向哪台伺服器、是否命中就近的 CDN 節點、是否會被營運商劫持或被某些中間節點觀察。家庭、蜂窩網絡與公共 Wi‑Fi 的體驗差異,也常常來自不同解析器的緩存質量、丟包率與策略差異。本文面向普通網民,用連續敘述解釋 DNS 與上網體驗的關係,重點放在原理與取捨,而不是具體的部署步驟或評測結論。
基礎與術語梳理
瀏覽器或應用發起解析請求後,通常先詢問系統的本地解析器,再由遞歸解析器逐層向根、頂級域與權威伺服器查詢,最終得到一條帶有 TTL 的答案。本地或網絡側的緩存若命中,可省去外部查詢,大幅降低時延;若緩存未命中或過期,則需要完成完整的遞歸流程。下圖用一個簡化流程呈現解析的來回路徑,動畫僅用來強調數據流動而非表示真實耗時順序。
flowchart TB
C[客戶端] e1@--> L[本地解析器]
L e2@--> R[遞歸解析器]
R e3@--> Root[根伺服器]
Root e3r@--> R
R e4@--> TLD[TLD 伺服器]
TLD e4r@--> R
R e5@--> Auth[權威伺服器]
Auth e5r@--> R
R e6@--> L
L e7@--> C
%% 填充色設置
style C fill:#e1f5fe,stroke:#01579b,stroke-width:2px
style L fill:#e8f5e8,stroke:#1b5e20,stroke-width:2px
style R fill:#fff3e0,stroke:#e65100,stroke-width:2px
style Root fill:#f3e5f5,stroke:#4a148c,stroke-width:2px
style TLD fill:#fce4ec,stroke:#880e4f,stroke-width:2px
style Auth fill:#e0f2f1,stroke:#004d40,stroke-width:2px
%% 動畫節奏設置(Mermaid v11)
e1@{ animation: fast }
e2@{ animation: slow }
e3@{ animation: slow }
e3r@{ animation: slow }
e4@{ animation: slow }
e4r@{ animation: slow }
e5@{ animation: fast }
e5r@{ animation: fast }
e6@{ animation: slow }
e7@{ animation: fast }TTL 是每條記錄的「保質期」。在 TTL 有效期內,遞歸解析器可以直接把緩存答案返回給客戶端,這對體感「快與穩」的貢獻往往超過我們直覺的估計。另一方面,解析器如何處理 IPv4 與 IPv6 記錄的並行請求、是否啟用 ECS 擴展、是否對失敗查詢做負緩存,也會間接影響你的連接指向與首包時間。
私隱威脅與動機
傳統明文 DNS 在鏈路上暴露了「你要訪問哪個域名」的元數據。這些信息會在本地網絡、接入營運商與公共解析器處留下痕跡,即便內容走的是加密的 HTTPS。對於普通用戶,風險更多來自「被動觀測與建模」而不是直接內容洩露:長期的查詢序列足以推斷出你的興趣、生活作息與所用設備類型。公共 Wi‑Fi、共享熱點與境外漫遊等場景,鏈路上可觀測者更多,波動與失敗也更常見。
flowchart TB
C[客戶端] e1@--> Net[本地網絡與路由器]
Net e2@--> ISP[接入營運商網絡]
ISP e3@--> Res[公共遞歸解析器]
Res e4@--> Auth[權威伺服器]
%% 填充色設置
style C fill:#e1f5fe,stroke:#01579b,stroke-width:2px
style Net fill:#ffe8e8,stroke:#cc0000,stroke-width:2px
style ISP fill:#ffe8e8,stroke:#cc0000,stroke-width:2px
style Res fill:#ffe8e8,stroke:#cc0000,stroke-width:2px
style Auth fill:#ffe8e8,stroke:#cc0000,stroke-width:2px
%% 暴露點高亮
classDef risk fill:#ffe8e8,stroke:#cc0000,stroke-width:2px,color:#000
class Net,ISP,Res,Auth risk
%% 動畫
e1@{ animation: fast }
e2@{ animation: slow }
e3@{ animation: slow }
e4@{ animation: fast }需要強調的是,私隱保護並不必然等於「更快」。加密與封裝會引入握手與協商,優質的遞歸解析器通過更好的緩存命中與更低的丟包反而可能更快。現實世界的體驗好壞,取決於所處網絡、解析器質量與目標站點的部署方式三者的共同作用。
保護策略與原理
加密 DNS 把「你要問什麼域名」包裹進加密隧道,降低被竊聽與篡改的機會。常見方式包括基於 TLS 的 DoT、基於 HTTPS 的 DoH 與基於 QUIC 的 DoQ。它們都複用成熟的傳輸層安全機制,差異更多體現在端口與複用模型上。無論採用哪種方式,客戶端通常仍會先向本地解析棧發起查詢,再由加密隧道把請求送至上游解析器,下圖用順序圖示意這一封裝與返回。
flowchart LR
U[客戶端] e1@--> S[DoH 棧]
S e2@--> R[DoH 伺服器]
R e3@-->|200 OK + DNS 響應| S
S e4@--> U
%% 填充色設置
style U fill:#e1f5fe,stroke:#01579b,stroke-width:2px
style S fill:#e8f5e8,stroke:#1b5e20,stroke-width:2px
style R fill:#fff3e0,stroke:#e65100,stroke-width:2px
e1@{ animation: fast }
e2@{ animation: slow }
e3@{ animation: fast }
e4@{ animation: fast }除了加密,解析器側的 QNAME 最小化可以減少向上游暴露的查詢粒度,DNSSEC 提供記錄完整性校驗,ECS 控制影響 CDN 的就近性與命中率。對於終端用戶而言,實際可感知的是「是否更穩定」「是否更容易命中就近節點」「是否更少被劫持」。
實現路徑與注意事項
從用戶角度出發,系統和路由器常常內置了解析器或轉發器,很多公共服務在移動系統與瀏覽器層面也提供了內建的 DoH 開關。選擇可信的遞歸解析器與恰當的加密方式,往往已經覆蓋了絕大多數需求。需要注意的是,部分企業或校園網絡對加密 DNS 有策略限制,特定安全產品也可能攔截或重定向 DNS 流量;在這些環境中,優先保證連通與合規,再考慮私隱與效能。對海外站點訪問的體驗,解析器的地理策略與 CDN 的接入佈局同樣重要,錯誤的就近策略會把你導向跨洲節點,體感「慢半拍」。
風險與遷移
任何切換都值得保留回退路徑。對個人設備,先在單設備上啟用加密 DNS 並觀察一週,關注異常多發的應用與站點;對家庭網關,建議灰度到少量設備,必要時保留備用解析器並開啟健康檢查。若網絡有內網域或分離 DNS,切換前確認解析範圍與搜索域的兼容性,避免引入解析失敗與意外洩露。
場景化建議
在蜂窩網絡與公共 Wi‑Fi 中,優先選擇穩定的公共解析器並開啟 DoH 或 DoT,常能同時獲得更穩與更潔淨的解析。在家庭寬頻中,更重要的是緩存命中與少丟包,優質公共解析器或本地網關緩存都能帶來「點開就有」的順滑感。跨境訪問時,解析器的地域策略決定了你會被導向哪裡,遇到某些站點「能連但很慢」,不妨更換解析器或關閉 ECS 再試。對需要家長控制與分流的家庭,選擇具備分類策略與日誌透明度的解析器更實際。
FAQ 與參考
常見疑問包括「加密 DNS 是否一定更快」「為何不同解析器返回的 IP 不同」「切換解析器會不會影響安全軟件工作」。這些問題沒有放之四海而皆準的唯一答案,它們取決於鏈路質量、解析器實現與站點接入策略。進一步閱讀可參考 IETF 的相關 RFC、主流瀏覽器與操作系統文檔,以及可信的網絡基礎設施博客。
4 - 在家搭建
詳細教程教您如何在家搭建NullPrivate網絡廣告攔截服務
在家搭建NullPrivate
NullPrivate是一個基於AdGuardHome的增強版本,專為提供更好的網絡廣告攔截和私隱保護功能而設計。本教程將指導您如何在家搭建和配置NullPrivate服務。
項目簡介
NullPrivate是AdGuardHome的開源分支版本,提供了SaaS託管服務和豐富的增強功能,旨在為用戶提供更好的DNS解析和網絡過濾體驗。
主要功能
原始功能
- 網絡級廣告攔截:在整個網絡範圍內攔截廣告和追蹤器
- 自訂過濾規則:支援添加個人化的過濾規則
- 加密DNS支援:支援DNS-over-HTTPS、DNS-over-TLS和DNSCrypt
- 內置DHCP伺服器:開箱即用的DHCP服務功能
- 客戶端獨立配置:為每個設備定制專門的設定
- 防沉迷:攔截成人內容並強制安全搜尋
- 跨平台兼容性:支援Linux、macOS、Windows等作業系統
- 私隱保護:不收集使用統計資訊
NullPrivate新增功能
- DNS路由規則列表:使用配置文件中的規則列表自訂DNS路由
- 應用級攔截規則:針對特定應用的源進行攔截配置
- 動態DNS(DDNS):提供動態域名解析功能
- 高級速率限制:實現高效的流量管理和控制
- 增強部署特性:支援負載均衡、自動證書維護、優化網絡連接
安裝方式
方法一:下載二進制文件
- 訪問Releases頁面下載適合您作業系統的二進制文件
- 創建工作目錄:
- 運行NullPrivate:
./NullPrivate -c ./AdGuardHome.yaml -w ./data --web-addr 0.0.0.0:34020 --local-frontend --no-check-update --verbose
方法二:使用Docker
推薦使用Docker方式部署,更簡單且易於管理:
docker run --rm --name NullPrivate \
-p 34020:80 \
-v ./data/container/work:/opt/adguardhome/work \
-v ./data/container/conf:/opt/adguardhome/conf \
nullprivate/nullprivate:latest
支援的平台
- ✅ Windows
- ✅ macOS
- ✅ Linux
- ✅ Docker
- ✅ 其他類Unix系統
配置說明
基本配置
啟動後,訪問Web界面進行初始配置:
- 預設管理地址:
http://localhost:34020 - 首次運行需要設置管理員賬戶
- 可以導入現有的AdGuardHome配置
配置文件
主要配置文件為AdGuardHome.yaml,包含:
啟動參數說明
| 參數 | 說明 |
|---|
-c | 指定配置文件路徑 |
-w | 指定工作目錄 |
--web-addr | Web管理界面地址和端口 |
--local-frontend | 使用本地前端界面 |
--no-check-update | 禁用自動更新檢查 |
--verbose | 啟用詳細日誌輸出 |
使用建議
- 網絡配置:將路由器的DNS伺服器設置為NullPrivate的IP地址
- 規則更新:定期更新過濾規則以獲得最佳攔截效果
- 性能監控:通過Web界面監控DNS查詢統計資訊
- 安全加固:啟用HTTPS並設置強密碼
- 備份配置:定期備份配置文件和數據
故障排除
常見問題
- 端口佔用:確保34020端口未被其他服務使用
- 權限問題:Linux環境下可能需要適當的文件權限
- 啟動失敗:檢查配置文件路徑和工作目錄是否存在
獲取幫助
結語
通過本教程,您應該已經成功在家搭建了NullPrivate服務。現在您可以享受清淨的網絡環境,同時保護個人私隱。NullPrivate提供了豐富的功能和靈活的配置選項,滿足不同用戶的需求。