C 怎么修改 DNS?

HCRM技术_小炮 DNS 2025-09-27 1 1

在 Linux 系统中,有多种方法可以修改 DNS 设置,以下是几种常见的方式:

1. 临时修改(重启后失效)

修改 /etc/resolv.conf

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

评论

精彩评论
  • 2025-09-27 09:35:41

    在C语言中,修改DNS通常涉及调用系统API如getaddrinfo和setenv,通过设置环境变量如DNS_SERVER或直接修改socket选项来实现,这需要操作系统权限和适当的错误处理。