Linux 域名隐私保护实用指南
一 核心思路
二 方案一 systemd-resolved 配置 DNS over TLS 与 DNSSEC
[Resolve]
DNS=1.1.1.1 9.9.9.9
FallbackDNS=8.8.8.8 1.0.0.1 8.8.4.4
DNSOverTLS=yes
DNSSEC=yes
# 如无需局域网发现,建议关闭以减少外泄
LLMNR=no
MulticastDNS=no
[main]
dns=systemd-resolved
sudo systemctl start systemd-resolved
sudo systemctl enable systemd-resolved
sudo systemctl restart NetworkManager
resolvectl status
cat /etc/resolv.conf
# 期望看到:nameserver 127.0.0.53
ss -lntp | grep ':53'
resolvectl query fedoraproject.org
三 方案二 nss-tls 实现系统级 DoH(透明覆盖所有应用)
sudo apt update && sudo apt install libglib2.0-dev libsoup2.4-dev ninja-build python3-pip
pip3 install meson
git clone https://github.com/dimkr/nss-tls.git
cd nss-tls
meson --prefix=/usr --buildtype=release -Dstrip=true build
ninja -C build install
sudo systemctl daemon-reload
sudo systemctl enable --now nss-tlsd
sudo ldconfig
hosts: files tls dns mymachines
systemctl --user --global enable nss-tlsd
systemctl --user start nss-tlsd
四 进阶与替代方案
五 验证与运维清单
resolvectl status
cat /etc/resolv.conf
ss -lntp | grep ':53'
resolvectl query example.com
sudo resolvectl set-llmnr wlan0 no
sudo resolvectl set-mdns wlan0 no
resolvectl flush-caches