1.systemd-resolved簡介
systemd-resolved 是一個系統(tǒng)服務(wù),屬于 systemd 架構(gòu)的一部分,主要用于提供域名解析服務(wù)。它為應(yīng)用程序提供了一個簡單的接口,可以通過 DNS(Domain Name System)解析主機名,同時支持 DNSSEC(Domain Name System Security Extensions)和 mDNS(Multicast DNS)等功能。
2.systemd-resolved主要功能特性
1.DNS 解析
systemd-resolved 可以管理多個 DNS 服務(wù)器,并根據(jù)優(yōu)先級進行查詢。
支持 DNS-over-TLS (DoT) 和 DNS-over-HTTPS (DoH),提高安全性。
支持 DNSSEC 驗證,確保 DNS 響應(yīng)的完整性和真實性。
2.LLMNR 和 mDNS
支持 LLMNR(Link-Local Multicast Name Resolution),在沒有 DNS 服務(wù)器的情況下,可以通過局域網(wǎng)內(nèi)的廣播來解析主機名。
支持 mDNS(Multicast DNS),用于零配置網(wǎng)絡(luò)中主機名和服務(wù)發(fā)現(xiàn)。
3.集中式配置
systemd-resolved 的配置文件位于 /etc/systemd/resolved.conf,用戶可以在此文件中進行一些全局設(shè)置,比如 DNS 服務(wù)器的地址、 DNS 解析策略等。
[Resolve]
DNS=8.8.8.8 8.8.4.4
FallbackDNS=1.1.1.1 1.0.0.1
4.緩存
緩存 DNS 查詢結(jié)果,提高解析速度并減少對外部 DNS 服務(wù)器的依賴。
3.fix方案
3.systemd-resolved使用
# 查看 systemd-resolved 服務(wù)狀態(tài)
systemctl status systemd-resolved
# 啟動服務(wù)后,會在宿主機創(chuàng)建 /run/systemc/resolve/resolv.conf 文件
systemctl start systemd-resolved
# 設(shè)置 systemd-resolved 開機自啟動
systemctl enable systemd-resolved
systemctl is-enabled systemd-resolved
# 查看服務(wù)日志
journalctl -u systemd-resolved.service
# 查看當(dāng)前DNS 配置和解析狀態(tài)
resolvectl status
# 使用 systemd-resolve 進行 DNS 查詢:
systemd-resolve example.com
# 修改 DNS 配置后重啟服務(wù)
vi /etc/systemd/resolved.conf
systemctl restart systemd-resolved
resolvectl query example.com # 測試 DNS 解析