如何在Alibaba Cloud Linux实例中通过“/etc/resolv.conf”文件自定义配置DNS

创建ECS实例时,DNS服务器采用默认配置,不需要额外配置。如果您的DNS服务器无法满足业务需求,可参考本文在Alibaba Cloud Linux 2/3实例中自定义配置DNS。

背景信息

/etc/resolv.conf文件中自定义配置DNS之后,需要将该文件锁定。避免因为网络重启或系统重启动态更新/etc/resolv.conf文件的内容。

说明
  • Alibaba Cloud Linux 2系统中默认的网络配置服务为systemd-networkd,Alibaba Cloud Linux 3系统中默认的网络配置服务为NetworkManager。

  • CentOS等系统中默认的网络配置服务为network-scripts,如果您希望将Alibaba Cloud Linux实例的网络配置切换为network-scripts,请参见相关文档

操作步骤

Alibaba Cloud Linux 2系

  1. 登录ECS实例。

    具体操作,请参见连接方式概述

  2. 执行以下命令,确认/etc/resolv.conf文件是指向systemd-resolved服务配置文件的软链接。

    ls -l /etc/resolv.conf

    系统显示类似如下,说明/etc/resolv.conf文件是指向systemd-resolved服务配置文件的软链接。

  3. 执行以下命令,将/etc/resolv.conf文件移动到其他目录中。

    mv /etc/resolv.conf /tmp/resolv.conf.bak
  4. 执行以下命令,重新创建并编辑/etc/resolv.conf普通文件。

    vim /etc/resolv.conf
    1. i键切换至编辑模式,在文件中添加以下配置,自定义DNS配置。

      nameserver <DNS1>
      nameserver <DNS2>
      说明
      • nameserver为自定义配置的DNS信息。

      • <DNS1>和<DNS2>是您自定义的DNS IP地址。

    2. 修改完成后,按下Esc键后,输入:wq并回车以保存并关闭配置文件。

    3. 执行以下命令,锁定/etc/resolv.conf配置文件,防止网络或系统重启动态更新/etc/resolv.conf配置文件。

      chattr +i /etc/resolv.conf
      说明

      如果需要修改/etc/resolv.conf文件,可执行chattr -i /etc/resolv.conf命令解除文件的锁定。

  5. 执行以下命令,重启systemd-resolved服务。

    systemctl restart systemd-resolved
  6. 执行以下命令,确认/etc/resolv.conf普通文件中的自定义的DNS信息没有改变。

    cat /etc/resolv.conf

Alibaba Cloud Linux 3系

  1. 登录ECS实例。

    具体操作,请参见连接方式概述

  2. 执行以下命令,创建/etc/NetworkManager/conf.d/90-dns-none.conf文件。

    vim /etc/NetworkManager/conf.d/90-dns-none.conf
    1. i键切换至编辑模式,在文件中添加以下配置,将DNS从NetworkManager移除。

      [main]
      dns=none
    2. 修改完成后,按下Esc键后,输入:wq并回车以保存并关闭配置文件。

    3. 执行以下命令,使配置生效。

      systemctl reload NetworkManager
  3. 执行以下命令,将/etc/resolv.conf文件移动到其他目录中。

    mv /etc/resolv.conf /tmp/resolv.conf.bak

  4. 执行以下命令,重新创建并编辑/etc/resolv.conf普通文件。

    vim /etc/resolv.conf
    1. i键切换至编辑模式,在文件中添加以下配置,自定义DNS配置。

      nameserver <DNS1>
      nameserver <DNS2>
      说明
      • nameserver为自定义配置的DNS信息。

      • <DNS1>和<DNS2>是您自定义的DNS IP地址。

    2. 修改完成后,按下Esc键后,输入:wq并回车以保存并关闭配置文件。

    3. 执行以下命令,锁定/etc/resolv.conf配置文件,防止网络或系统重启动态更新/etc/resolv.conf配置文件。

      chattr +i /etc/resolv.conf
      说明

      如果需要修改/etc/resolv.conf文件,可执行chattr -i /etc/resolv.conf命令解除文件的锁定。

  5. 执行以下命令,确认/etc/resolv.conf普通文件中的自定义的DNS信息没有改变。

    cat /etc/resolv.conf

相关文档

将Alibaba Cloud Linux 2系统实例的systemd-networkd网络配置更换为network-scripts