我想在我的系统 (Ubuntu 22 LTS) 上使用 https (doh) 上的 dns 并连接到服务器 (智能SNI) 正在监听端口 9443,但 DNS 解析无法正常工作。
resolvectl --version
返回 systemd 249 (249.11-0ubuntu3.12),我认为它应该支持 doh。
/etc/systemd/resolved.conf:
[Resolve]
DNS=xxx.xxx.xxx.xxx:9443#subdomain.domain.com/dns-query
DNSOverTLS=yes
/etc/resolv.conf 包含此行nameserver 127.0.0.53
之后systemctl restart systemd-resolved.service
,我的 DNS 解析无法正常工作。我该怎么办?
答案1
systemd-已解决尚不支持 HTTPS 上的 DNS。
您可以使用 DNS over TLS,但它不是 HTTP 协议格式并使用端口 853:
# /etc/systemd/resolved.conf
[Resolve]
DNS=8.8.8.8#dns.google
FallbackDNS=8.8.4.4#dns.google
Domains=~.
DNSSEC=yes
DNSOverTLS=yes
如果您确实需要通过 HTTPS 协议(端口 443 或任何其他端口)使用 DNS,您可以探索dnsmasq
。