Debian Stream 8 配置 DNS 的正确做法
一、先确认网络管理方式
二、按所用网络管理方式配置
传统 ifupdown(/etc/network/interfaces)
auto eth0
iface eth0 inet static
address 192.168.1.100/24
gateway 192.168.1.1
dns-nameservers 223.5.5.5 223.6.6.6
auto eth0
iface eth0 inet dhcp
dns-nameservers 1.1.1.1 8.8.8.8
sudo systemctl restart networking
Netplan(/etc/netplan/*.yaml)
network:
version: 2
ethernets:
eth0:
dhcp4: no
addresses: [192.168.1.100/24]
gateway4: 192.168.1.1
nameservers:
addresses: [223.5.5.5, 223.6.6.6]
sudo netplan apply
NetworkManager(nmcli)
# 查看连接名
nmcli con show
# 假设连接名为 "Wired connection 1"
nmcli con mod "Wired connection 1" ipv4.dns "1.1.1.1 8.8.8.8"
nmcli con mod "Wired connection 1" ipv4.ignore-auto-dns yes
nmcli con down "Wired connection 1" && nmcli con up "Wired connection 1"
使用 systemd-resolved(通用系统级解析器)
sudo resolvectl dns eth0 9.9.9.9 149.112.112.112
[Resolve]
DNS=9.9.9.9 149.112.112.112
# 可选:启用 DoT
# DNSOverTLS=yes
sudo systemctl enable --now systemd-resolved
sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
sudo systemctl restart systemd-resolved
resolvectl status
resolvectl flush-caches
三、验证与常见问题
cat /etc/resolv.conf
resolvectl status
dig example.com +short
nslookup example.com
resolvectl statistics
resolvectl flush-caches
sudo ufw allow 53
# 或 firewalld
sudo firewall-cmd --permanent --add-service=dns --add-port=53/udp
sudo firewall-cmd --reload
dig @8.8.8.8 example.com。