背景信息
阿里云为 ECS 实例提供高可用、高性能的默认 DNS 服务器(IP 地址为 100.100.2.136 和 100.100.2.138),该服务由阿里云自动维护,您无需为ECS实例进行额外配置。
请注意,阿里云默认的DNS服务器可以解析阿里云服务的内网域名,如果删除默认DNS服务器,会导致ECS实例无法访问一系列服务,例如OSS Bucket内网域名等。建议您将自定义的DNS服务器地址放在阿里云默认DNS服务器地址前(越前优先级越高),将阿里云默认DNS服务器作为备选DNS服务器。
操作步骤
方式一:使用DHCP选项集自动配置(推荐)
DHCP选项集(DHCP Options Set)是阿里云中用于定义和集中管理网络参数的工具,允许用户统一配置如DNS服务器、域名等关键网络设置。专有网络VPC绑定DHCP选项集后,VPC中的ECS实例向DHCP服务器发送请求以获取选项集中的网络配置信息(域名、DNS服务器等),从而可以确保VPC内的所有ECS实例接收一致且定制化的网络配置,而无需手动为每个实例配置这些网络信息。
方式二:登录实例手动配置
不同的操作系统具有不同的配置步骤,以下列举了一些常见的操作系统,请根据您ECS实例的操作系统进行相应配置。
Windows Server 2022(其他Windows Server版本操作类似)
登录ECS实例。
具体操作,请参见使用Workbench工具以RDP协议登录Windows实例。
打开网络和Internet中的网络和共享中心。
单击更改适配器设置。
选择要配置的网络适配器,默认情况下,主网卡的设备名称为以太网。右键选择属性。

在以太网属性对话框中,双击Internet 协议版本4(TCP/IPv4),如果配置IPv6的DNS服务器地址,选择Internet 协议版本6(TCP/IPv6)。

在属性对话框中,选择使用下面的DNS服务器地址,填写首选DNS服务器与备用DNS服务器地址(建议将自定义DNS服务器作为首选,将阿里云默认DNS服务器作为备选)。如果需要配置两个以上的DNS服务器,点击高级->选择DNS栏->添加多个DNS服务器地址。
单击确定保存各对话框中的设置。
Alibaba Cloud Linux 2/CentOS 6/CentOS 7
登录ECS实例。
具体操作,请参见使用Workbench工具以SSH协议登录Linux实例。
执行以下命令,编辑/etc/resolv.conf
普通文件。
说明
以下操作涉及配置文件内容的修改,修改文件之前,建议先进行备份。
sudo vim /etc/resolv.conf
按i
键切换至编辑模式,在文件中添加以下配置,自定义DNS配置。 您需要将<DNS1>和<DNS2>修改为实际的DNS服务器地址(建议将自定义DNS服务器放在阿里云默认DNS服务器上方)。优先使用上方的DNS服务器,优先级越往下越低。
nameserver <DNS1>
nameserver <DNS2>
修改完成后,按下Esc
键后,输入:wq
并回车以保存并关闭配置文件。
执行以下命令,锁定/etc/resolv.conf
配置文件,防止网络或系统重启动态更新/etc/resolv.conf
配置文件。
sudo chattr +i /etc/resolv.conf
说明
如果后续需要修改/etc/resolv.conf
文件,可执行chattr -i /etc/resolv.conf
命令解除文件的锁定。
Alibaba Cloud Linux 3(CentOS 8/AlmaLinux/Rocky Linux/CentosStream适用)
登录ECS实例。
具体操作,请参见使用Workbench工具以SSH协议登录Linux实例。
在Alibaba Cloud Linux 3中,DNS配置默认由NetworkManager管理。若需手动配置DNS,需要先禁用NetworkManager对DNS的管理功能。
创建/etc/NetworkManager/conf.d/90-dns-none.conf
文件。
sudo vim /etc/NetworkManager/conf.d/90-dns-none.conf
按i
键切换至编辑模式,在文件中添加以下配置,将DNS从NetworkManager移除。
修改完成后,按下Esc
键后,输入:wq
并回车以保存并关闭配置文件。
执行以下命令,使配置生效。
sudo systemctl reload NetworkManager
执行以下命令,编辑/etc/resolv.conf
文件。
说明
以下操作涉及配置文件内容的修改,修改文件之前,建议先进行备份。
sudo vim /etc/resolv.conf
按i
键切换至编辑模式,在文件中添加以下配置,自定义DNS配置。 您需要将<DNS1>和<DNS2>修改为实际的DNS服务器地址(建议将自定义DNS服务器放在阿里云默认DNS服务器上方)。优先使用上方的DNS服务器,优先级越往下越低。
nameserver <DNS1>
nameserver <DNS2>
修改完成后,按下Esc
键后,输入:wq
并回车以保存并关闭配置文件。
执行以下命令,锁定/etc/resolv.conf
配置文件,防止网络或系统重启动态更新/etc/resolv.conf
配置文件。
sudo chattr +i /etc/resolv.conf
说明
如果后续需要修改/etc/resolv.conf
文件,可执行chattr -i /etc/resolv.conf
命令解除文件的锁定。
登录ECS实例。
具体操作,请参见使用Workbench工具以SSH协议登录Linux实例。
执行以下命令,新建文件,禁用cloud-init的网络配置功能。
sudo vim /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
添加如下配置项:
network: {config: disabled}
修改完成后,按下Esc
键后,输入:wq
并回车以保存并关闭配置文件。
执行以下命令,编辑/etc/netplan/50-cloud-init.yaml
配置文件。 此处以主网卡配置文件为例,如果您配置了辅助网卡,请修改/etc/netplan/
目录下对应的网卡配置文件。
说明
以下操作涉及配置文件内容的修改,修改文件之前,建议先进行备份。
sudo vim /etc/netplan/50-cloud-init.yaml
按i
键切换至编辑模式,在网络接口(如eth0)的配置中添加自定义配置DNS信息。
nameservers:
addresses:
- 10.0.XX.XX
- 192.168.XX.XX
修改后的内容如下所示。需要注意避免多余或缺失的空格与换行。
network:
version: 2
ethernets:
eth0:
dhcp4: true
match:
macaddress: 00:16:3e:13:xx:xx
set-name: eth0
nameservers:
addresses:
- 10.0.XX.XX
- 192.168.XX.XX
说明
eth0:配置的网卡名称,本文以eth0网卡为例。
dhcp4:ECS实例的网络配置默认为DHCP模式。
match:实例的MAC地址。
nameservers:自定义配置的DNS信息,本文以DNS IP地址10.0.XX.XX
和192.168.XX.XX
为例,请按照实际情况填写DNS IP地址(建议将自定义DNS服务器放在阿里云默认DNS服务器前方)。优先使用前方的DNS服务器,优先级越往后越低。
修改完成后,按下Esc
键后,输入:wq
并回车以保存并关闭配置文件。
执行以下命令,应用网卡配置。
Debian 10/Debian 11/Ubuntu 16
登录ECS实例。
具体操作,请参见使用Workbench工具以SSH协议登录Linux实例。
执行以下命令,编辑/etc/network/interfaces
网卡配置文件。某些高版本系统网卡配置文件中若配置为 source /etc/network/interfaces.d/*
,则需在文件 /etc/network/interfaces.d/50-cloud-init.cfg
中进行相应修改。
sudo vim /etc/network/interfaces
按i
键切换至编辑模式,在网络接口(如eth0)的配置中添加以下配置,自定义配置DNS信息。请按照实际情况填写DNS IP地址(建议将自定义DNS服务器放在阿里云默认DNS服务器前面)。优先使用前面的DNS服务器,优先级越往后越低。
dns-nameservers 10.0.XX.XX 192.168.XX.XX
修改之后的内容如下所示,注意不要有缺失或多余的空格。
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
dns-nameservers 10.0.XX.XX 192.168.XX.XX
修改完成后,按下Esc
键后,输入:wq
并回车以保存并关闭配置文件。
然后执行以下命令,重启网络服务。
sudo systemctl restart networking.service
SUSE Linux 12/SUSE Linux 15/OpenSUSE 15
登录ECS实例。
具体操作,请参见使用Workbench工具以SSH协议登录Linux实例。
执行以下命令,启动YaST控制中心。
选择 Network Settings,回车键进入。
说明
在不能使用鼠标点击时,YaST控制中心可以通过键盘方向键或Tab键选择操作。
切换至DNS栏,在下方Name Server区域设置自定义DNS服务器地址。您需要填写实际的DNS服务器地址(建议将自定义DNS服务器放在阿里云默认DNS服务器上方)。优先使用上方的DNS服务器,优先级越往下越低。设置完成后保存退出。
执行以下命令,重启网络服务。
sudo service network restart
验证测试
在配置完成后,您可以使用如下命令,测试您新配置的DNS服务器是否生效。
重要
在执行测试前,您需要确保ECS实例到目标DNS服务器的53端口是可达的,请检查可能限制此流量的节点,包括但不限于安全组、实例内防火墙。
nslookup
命令适用于大多数操作系统,以Alibaba Cloud Linux 3为例,默认没有安装nslookup
,需要通过以下命令安装。
sudo yum install bind-utils
nslookup
命令适用于Ubuntu系统,但是Ubuntu默认启用了systemd-resolved服务。这个服务提供了一个本地DNS解析服务,您的DNS查询首先会发送到本地的解析服务,例如127.0.0.53。如果需要查看实际使用的DNS服务器,请使用以下命令。
查看返回结果的 Server 信息,如果已经更新为您在上一步设置的DNS服务器地址,表示配置成功。
