在 Linux 系统中,DNS 相关的配置文件主要有以下几个,具体路径和作用如下:
/etc/resolv.conf
nameserver 8.8.8.8
)和搜索域(search
)。systemd-resolved
、NetworkManager
、dhclient
)动态生成,直接编辑可能被覆盖。/etc/hosts
plaintext
127.0.0.1 localhost
192.168.1.10 my-server
systemd-resolved
)/etc/systemd/resolved.conf
systemd-resolved
服务的 DNS 设置,例如:ini
[Resolve]
DNS=8.8.8.8 1.1.1.1
Domains=example.com
bash
systemd-resolve --status
/etc/NetworkManager/NetworkManager.conf
或每连接的配置文件(/etc/NetworkManager/system-connections/
)/etc/resolv.conf
。bash
nmcli con modify <连接名> ipv4.dns "8.8.8.8 8.8.4.4"
nmcli con up <连接名>
/etc/sysconfig/network-scripts/ifcfg-<网卡名>
plaintext
DNS1=8.8.8.8
DNS2=1.1.1.1
dhclient
: DHCP 客户端配置位于 /etc/dhcp/dhclient.conf
,可添加:plaintext
supersede domain-name-servers 8.8.8.8;
# 查看当前使用的 DNS 服务器
cat /etc/resolv.conf
# 测试解析
nslookup example.com
dig example.com
# 检查 systemd-resolved 状态(如适用)
resolvectl status
/etc/hosts
> 动态 DNS 配置(如 DHCP 或 NetworkManager)> /etc/resolv.conf
。/etc/resolv.conf
可能无效,需通过对应网络管理工具配置。根据你的 Linux 发行版和网络管理方式,选择正确的配置文件进行修改。