linux配置dns怎么操作
linux配置dns怎么操作详细介绍
在 Linux 中配置 DNS 通常有 临时生效 和 永久生效 两种方式,具体操作取决于你使用的网络管理工具(如 systemd-resolve、NetworkManager 或直接修改配置文件)。以下是分场景的详细操作:
一、临时修改(重启后失效)
直接编辑 DNS 解析文件(适用于所有 Linux 发行版):
bash
/etc/resolv.conf
添加 / 修改以下内容(示例使用 114.114.114.114 和 8.8.8.8 公共 DNS):
conf
nameserver 114.114.114.114nameserver 8.8.8.8
注意:部分发行版(如 Ubuntu)会自动覆盖此文件,需用永久方法。
二、永久修改(推荐)
场景 1:使用 systemd-resolve(适用于 Debian/Ubuntu 20.04+、CentOS 8+)
- 编辑全局 DNS 配置:bash
/etc/systemd/resolved.conf找到
#DNS=行,取消注释并添加 DNS 服务器:confDNS=114.114.114.114 8.8.8.8 - 应用配置并重启服务:bash
systemctl restart systemd-resolve/run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
场景 2:使用 NetworkManager(适用于图形化发行版)
- 图形化工具(推荐):
- 打开「设置」→「网络」→ 选择连接 →「齿轮图标」→「IPv4」或「IPv6」→「DNS」→ 添加服务器。
- 命令行(nmcli):bash
nmcli connection show
nmcli connection modify ipv4.dns
nmcli connection up
场景 3:静态网络配置(适用于手动设置 IP 的场景)
编辑网络配置文件(以 Ubuntu 的 Netplan 为例,路径:/etc/netplan/*.yaml):
yaml
no
192.168.1.100/24
192.168.1.1
114.114.114.114 8.8.8.8
应用配置:
bash
netplan apply
三、验证配置
- 检查 DNS 是否生效:bash
example.com - 查看 systemd-resolve 状态(场景 1):bash
systemd-resolve - 查看 NetworkManager 配置(场景 2):bash
nmcli device show 网卡名 dns
注意事项
- 权限:所有修改需用
sudo执行。 - 避免直接编辑
/etc/resolv.conf:部分工具(如 DHCP)会覆盖此文件,优先通过systemd-resolve或NetworkManager配置。 - 多网卡场景:需为每个网卡单独配置 DNS,或在全局配置(
resolved.conf)中统一设置。
根据你的 Linux 发行版和网络管理方式选择对应方法,推荐优先使用 systemd-resolve(无图形界面服务器)或 NetworkManager(桌面环境)。