温馨提示×

Debian怎么设置DNS

小樊
37
2026-08-05 12:54:50
栏目: 智能运维

在 Debian 系统中设置 DNS 有多种方式,取决于你使用的是 传统方式 还是 systemd-resolved / NetworkManager。下面按常见场景说明。


一、临时设置 DNS(重启后失效)

方法 1:直接修改 /etc/resolv.conf

sudo nano /etc/resolv.conf

示例内容:

nameserver 8.8.8.8
nameserver 8.8.4.4

⚠️ 注意:

  • 如果系统启用了 systemd-resolved 或 NetworkManager,这个文件可能是软链接,重启后会被覆盖。

二、永久设置 DNS(推荐 ✅)

✅ 方法 2:使用 /etc/network/interfaces(传统 Debian)

适用于 不使用 NetworkManager 的服务器。

编辑配置:

sudo nano /etc/network/interfaces

示例(静态 IP + DNS):

auto eth0
iface eth0 inet static
    address 192.168.1.100
    netmask 255.255.255.0
    gateway 192.168.1.1
    dns-nameservers 8.8.8.8 8.8.4.4

重启网络:

sudo systemctl restart networking

sudo ifdown eth0 && sudo ifup eth0

✅ 方法 3:使用 NetworkManager(桌面版常见)

查看连接名:

nmcli connection show

设置 DNS(假设连接名为 Wired connection 1):

nmcli connection modify "Wired connection 1" ipv4.dns "8.8.8.8 8.8.4.4"
nmcli connection modify "Wired connection 1" ipv4.ignore-auto-dns yes
nmcli connection up "Wired connection 1"

✅ 方法 4:使用 systemd-resolved(Debian 10+)

检查状态:

systemctl status systemd-resolved

编辑配置:

sudo nano /etc/systemd/resolved.conf

取消注释并设置:

[Resolve]
DNS=8.8.8.8 8.8.4.4
#FallbackDNS=1.1.1.1

重启服务:

sudo systemctl restart systemd-resolved

确认 DNS:

resolvectl status

三、验证 DNS 是否生效

cat /etc/resolv.conf

或测试解析:

nslookup google.com

dig google.com

四、常见坑位 ⚠️

问题 说明
/etc/resolv.conf 被覆盖 被 systemd-resolved / NetworkManager 管理
修改后不生效 没重启网络或 DNS 被 DHCP 覆盖
桌面和服务器方式不同 桌面多用 NetworkManager

五、我可以进一步帮你

你可以告诉我:

  • Debian 版本(如 11 / 12)
  • 服务器还是桌面
  • DHCP 还是静态 IP

我可以给你最合适、最简洁的配置方案

0