linux系统怎么设置dns
linux系统怎么设置dns详细介绍
在 Linux 系统中设置 DNS 的方法因发行版和网络管理工具而异,以下是常见场景的操作指南:
一、临时修改(重启后失效)
直接编辑 DNS 配置文件(需 root 权限):
bash
/etc/resolv.conf
添加或修改 DNS 服务器(每行一个,示例):
conf
nameserver 223.5.5.5 # 阿里 DNSnameserver 8.8.8.8 # Google DNS
保存后生效,适合临时测试。
二、永久修改(不同网络管理工具)
1.
静态 IP 配置(推荐)
根据发行版选择对应配置文件:
- Ubuntu/Debian(Netplan):
bash/etc/netplan/00-installer-config.yaml添加 DNS 到对应网卡配置(示例):
yamlno
192.168.1.100/24
192.168.1.1
223.5.5.5 8.8.8.8
应用配置:
bashnetplan apply - CentOS 7 及以下(ifcfg):
bash/etc/sysconfig/network-scripts/ifcfg-eth0添加:
confDNS1=223.5.5.5DNS2=8.8.8.8
重启网络:
bashsystemctl restart network - CentOS 8+/Rocky Linux(NetworkManager):
bashnmcli connection modify ipv4.dnsnmcli connection up
2.
DHCP 动态获取时指定 DNS
修改 DHCP 客户端配置,让 DHCP 分配时优先使用自定义 DNS:
bash
/etc/dhcp/dhclient.conf
添加(末尾):
conf
prepend domain-name-servers 223.5.5.5, 8.8.8.8;
重启 DHCP 服务:
bash
systemctl restart dhcpcd
3.
使用 systemd-resolve(适用于 systemd 系统)
编辑全局配置:
bash
/etc/systemd/resolved.conf
修改:
conf
[Resolve]DNS=223.5.5.5 8.8.8.8
FallbackDNS=114.114.114.114
应用并重启:
bash
systemctl restart systemd-resolve/run/systemd/resolve/resolv.conf /etc/resolv.conf
三、验证配置
测试 DNS 是否生效:
bash
baidu.com@223.5.5.5 google.com
查看当前 DNS 服务器:
bash
resolvectl status/etc/resolv.conf
注意事项
- 避免直接修改
/etc/resolv.conf:多数发行版通过 NetworkManager 或 systemd-resolve 动态管理此文件,手动修改可能被覆盖。 - 多网卡场景:需针对具体网卡配置 DNS,或在全局配置中统一设置。
- 优先级:静态配置 > DHCP 分配 > 本地默认 DNS(如 127.0.0.53)。
根据你的 Linux 发行版和网络管理工具选择对应方法即可。