在 Linux 系统中,有多种方法可以修改 DNS 设置,以下是几种常见的方式:
1. 临时修改(重启后失效)
sudo nano /etc/resolv.conf
修改为:
nameserver 8.8.8.8 nameserver 8.8.4.4 或者使用其他DNS,如: nameserver 114.114.114.114 nameserver 223.5.5.5
2. 永久修改方法
方法一:使用 NetworkManager(推荐用于桌面版)
查看当前连接 nmcli connection show 修改DNS(将"连接名"替换为你的网络连接名称) sudo nmcli connection modify "连接名" ipv4.dns "8.8.8.8,8.8.4.4" sudo nmcli connection up "连接名"
方法二:修改 /etc/systemd/resolved.conf
sudo nano /etc/systemd/resolved.conf
取消注释并修改:
[Resolve] DNS=8.8.8.8 8.8.4.4 FallbackDNS=114.114.114.114
重启服务:
sudo systemctl restart systemd-resolved
方法三:修改网卡配置文件(CentOS/RHEL)
sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0
添加或修改:
DNS1=8.8.8.8 DNS2=8.8.4.4
重启网络服务:
sudo systemctl restart network
方法四:Ubuntu/Debian 使用 netplan
编辑 netplan 配置文件:
sudo nano /etc/netplan/01-netcfg.yaml
添加 DNS 设置:
network: version: 2 ethernets: eth0: dhcp4: true nameservers: addresses: [8.8.8.8, 8.8.4.4]
应用配置:
sudo netplan apply
3. 验证 DNS 设置
查看当前DNS cat /etc/resolv.conf 测试DNS解析 nslookup google.com dig google.com 查看系统使用的DNS systemd-resolve --status
常用公共 DNS 服务器
Google DNS: 8.8.8.8, 8.8.4.4
Cloudflare: 1.1.1.1, 1.0.0.1
阿里云: 223.5.5.5, 223.6.6.6
114DNS: 114.114.114.114, 114.114.115.115
选择哪种方法取决于你的 Linux 发行版和网络管理方式,推荐使用 NetworkManager 或 systemd-resolved 进行管理。
文章摘自:https://idc.huochengrm.cn/dns/16637.html
评论
颜艳娇
回复在C语言中,修改DNS通常涉及调用系统API如getaddrinfo和setenv,通过设置环境变量如DNS_SERVER或直接修改socket选项来实现,这需要操作系统权限和适当的错误处理。