在Linux上设置DNS有多种方法,具体取决于你使用的网络管理方式,以下是几种常见的方法:
1. 临时修改(重启后失效)
sudo nano /etc/resolv.conf示例:
nameserver 8.8.8.8 nameserver 8.8.4.4 nameserver 114.114.114.114 search localdomain
2. 永久修改方法
方法一:使用 systemd-resolved(推荐用于现代系统)
编辑配置文件 sudo nano /etc/systemd/resolved.conf 添加或修改以下内容 [Resolve] DNS=8.8.8.8 8.8.4.4 114.114.114.114 FallbackDNS=1.1.1.1 Domains=~. 重启服务 sudo systemctl restart systemd-resolved sudo systemctl enable systemd-resolved
方法二:使用 NetworkManager(图形界面/命令行)
命令行方式:
查看连接名称 nmcli connection show 设置DNS nmcli connection modify "连接名称" ipv4.dns "8.8.8.8,8.8.4.4" nmcli connection modify "连接名称" ipv4.ignore-auto-dns yes 重启连接 nmcli connection down "连接名称" nmcli connection up "连接名称"
图形界面:
- 进入网络设置 → 选择连接 → IPv4/IPv6设置
- 将DNS设置为手动,输入DNS服务器地址
方法三:修改 netplan 配置(Ubuntu 18.04+)
sudo nano /etc/netplan/01-netcfg.yaml
示例配置:
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: no
addresses: [192.168.1.100/24]
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4, 114.114.114.114]应用配置:
sudo netplan apply
方法四:修改 interfaces 文件(Debian/Ubuntu旧版本)
sudo nano /etc/network/interfaces
添加:
dns-nameservers 8.8.8.8 8.8.4.4 dns-search localdomain
3. 常用公共DNS服务器
Google DNS: 8.8.8.8, 8.8.4.4
Cloudflare: 1.1.1.1, 1.0.0.1
OpenDNS: 208.67.222.222, 208.67.220.220
阿里DNS: 223.5.5.5, 223.6.6.6
114DNS: 114.114.114.114, 114.114.115.115
4. 验证DNS设置
查看当前DNS配置 systemd-resolve --status 或 cat /etc/resolv.conf 测试DNS解析 nslookup google.com dig google.com 查看DNS缓存(如果使用systemd-resolved) systemd-resolve --statistics
注意事项:
1、权限问题:修改系统文件需要root权限
2、备份原配置:修改前建议备份原始文件
3、网络重启:某些修改需要重启网络服务才能生效
4、系统兼容性:不同Linux发行版可能使用不同的网络管理工具
选择哪种方法取决于你的Linux发行版和网络管理方式,对于现代Linux系统,推荐使用systemd-resolved或NetworkManager。
文章摘自:https://idc.huochengrm.cn/dns/18950.html
评论