dns服务器负责将域名转换为linux系统可识别的ip,当遇到域名解析失败、上网卡顿、特定网站无法访问等问题时,修改dns服务器是最常用的排障优化方法。根据不同的使用场景、不同的linux发行版架构,我们可以通过多种方式完成修改,以下从多个维度具体说明。

临时生效修改法:适用于短期测试
如果只是临时测试配置,不需要永久保存修改,可以直接编辑系统默认的解析配置文件`/etc/resolv.conf`。使用vim或者nano打开该文件后,直接在文件头部添加两行配置:`nameserver 8.8.8.8`、`nameserver 1.1.1.1`,分别对应谷歌和cloudflare的公共dns,保存退出后配置立即生效。这种方式操作简单,但系统重启或网络服务重启后,配置会被默认规则覆盖,仅适合临时测试使用。

传统网络架构的永久修改法
对于centos 7等使用传统network网络服务的老版本发行版,永久修改需要编辑对应网卡的配置文件。配置文件路径为`/etc/sysconfig/network-scripts/ifcfg-[你的网卡名]`,常见网卡名形如ens33、eth0。打开文件后添加或修改两行参数:`dns1=8.8.8.8`、`dns2=1.1.1.1`,保存文件后执行`systemctl restart network`重启网络服务,配置即可永久生效,重启系统不会丢失修改。

现代systemd架构的永久修改法
目前ubuntu、debian、centos 8及之后的主流发行版都采用systemd-resolved管理dns服务,`/etc/resolv.conf`多为指向systemd-resolved缓存的软链接,直接修改不会生效。正确操作是编辑`/etc/systemd/resolved.conf`,取消dns行的注释,修改为`dns=8.8.8.8 1.1.1.1`,保存后执行`systemctl restart systemd-resolved`即可生效。桌面版linux用户也可以直接在图形化的网络设置界面,进入对应连接的ipv4设置,自定义dns后保存应用,操作更直观。
修改完成后可以执行`nslookup baidu.com`,查看返回的服务器,确认修改是否生效,整个过程操作简单,适配绝大多数linux使用场景。(全文约652字)


































