适用于:✔️ Linux VM
本文介绍如何在 Microsoft azure Linux 虚拟机(VM)上配置自定义 DNS 服务器和搜索域。
注意
本文使用 DNS 服务器 1.2.3.4 和 5.6.7.8 搜索域 "test.example.com" 作为示例。 将这些值替换为实际的 DNS 服务器地址和搜索域路径。
Azure Linux VM 中文件的初始配置 /etc/resolv.conf 如以下屏幕截图所示。
在 Azure 虚拟网络或网络接口级别配置自定义 DNS 服务器。 有关详细信息,请参阅 在虚拟网络/网络接口级别更改 DNS 服务器的步骤。
注意
在 Azure 中,可以在虚拟网络级别或网络接口级别设置自定义 DNS 服务器。 如果在网络接口级别设置自定义 DNS 服务器,它将覆盖虚拟网络中的自定义 DNS 服务器配置。
NetworkManager重启服务,然后检查/etc/resolv.conf文件。 该文件应包含你在步骤 2 中配置的 DNS 服务器。
sudo systemctl restart NetworkManager
以下屏幕截图显示了配置 DNS 服务器后的示例 /etc/resolv.conf 。
运行以下命令,确定 DNS 服务器是否已成功添加到网络接口:
sudo systemd-resolve --status
以下屏幕截图显示了配置 DNS 服务器后网络接口的示例。
配置搜索域
若要更改搜索域,请按如下 /etc/dhcp/dhclient.conf所述添加域名。 若要指定多个搜索域,请使用逗号分隔它们(例如: "test.example.com, test1.example.com, test2.example.com"
append domain-search "test.example.com";
/etc/dhcp/dhclient.conf添加搜索域后的文件示例:
NetworkManager重启服务,然后检查搜索域是否在/etc/resolv.conf文件中更新:
sudo systemctl restart NetworkManager
以下屏幕截图显示了配置搜索域后的文件示例 /etc/resolv.conf 。
运行以下命令,确定搜索域是否已成功添加到网络接口:
sudo systemd-resolve --status
以下屏幕截图显示了配置搜索域后网络接口的示例。
Azure Ubuntu VM 中文件的初始配置 /etc/resolv.conf 如以下屏幕截图所示。
在 Azure 虚拟网络或网络接口级别配置自定义 DNS 服务器。 有关详细信息,请参阅 在虚拟网络/网络接口级别更改 DNS 服务器的步骤。
注意
在 Azure 中,可以在虚拟网络级别或网络接口级别设置自定义 DNS 服务器。 如果在网络接口级别设置自定义 DNS 服务器,则会覆盖虚拟网络中的自定义 DNS 服务器配置。
运行以下命令以应用自定义 DNS 服务器的配置:
sudo netplan apply
/run/systemd/resolve/stub-resolv.conf检查文件。 该文件应包含你在步骤 2 中配置的 DNS 服务器。
从 Ubuntu 20 开始, resolv.conf 文件是文件的符号链接 /run/systemd/resolve/stub-resolv.conf 。 这可确保更新的 DNS 服务器反映在 /run/systemd/resolve/resolve.conf 文件中。 有关详细信息,请参阅 systemd-resolved。
以下屏幕截图显示了配置自定义 DNS 服务器后的示例 /run/systemd/resolve/stub-resolv.conf 。
运行以下命令,检查是否已成功将自定义 DNS 服务器添加到网络接口:
sudo resolvectl status
以下屏幕截图显示了配置搜索域后网络接口的示例:
配置搜索域
使用文本编辑器(如 Nano 或 Vim)在 DNS 服务器中创建 /etc/netplan/ YAML 配置文件。 例如:
sudo nano /etc/netplan/custom-dns-01.yaml
或
sudo vi /etc/netplan/custom-dns-01.yaml
添加以下配置,然后保存并退出。 如果使用 Nano,请按 CTRL + O 保存并 CTRL + X 退出。 如果使用 Vim,请按 ESC,键入 :wq,然后按 Enter 保存并退出。
network:
ethernets:
eth0:
nameservers:
search: [ test.example.com ]
该配置可能将多个搜索域与逗号分隔。 例如:“[”test.example.com“、”test1.example.com“、”test2.example.com“]”。
运行以下命令以应用搜索域更改:
sudo netplan apply
resolvectl查看状态以确定搜索域是否已成功添加:
sudo resolvectl status
Azure SLES VM 中文件的初始配置 /etc/resolv.conf 如以下屏幕截图所示。
在 Azure 虚拟网络或网络接口级别配置自定义 DNS 服务器。 有关详细信息,请参阅 在虚拟网络/网络接口级别更改 DNS 服务器的步骤。
注意
在 Azure 中,可以在虚拟网络级别或网络接口级别设置自定义 DNS 服务器。 如果在网络接口级别设置自定义 DNS 服务器,则会覆盖虚拟网络中的自定义 DNS 服务器配置。
wicked.service重新启动该文件,然后检查/etc/resolv.conf该文件。 该文件应包含在步骤 2 中配置的 DNS 服务器:
sudo systemctl restart wicked.service
配置搜索域
编辑 /etc/sysconfig/network/config 文件。
为搜索域添加一行,如以下示例所示:
NETCONFIG_DNS_STATIC_SEARCHLIST="test.example.com"
可以使用空格分隔符声明多个搜索域,如下所示:
NETCONFIG_DNS_STATIC_SEARCHLIST="test.example.com test1.example.com"
重启 wicked.service 或更新 netconfig,然后检查搜索域是否在 /etc/resolv.conf 文件中更新。
sudo systemctl restart wicked.service
或
sudo netconfig update
以下屏幕截图是配置搜索域后文件的示例 /etc/resolv.conf 。
如果你有任何疑问或需要帮助,请创建支持请求或联系 Azure 社区支持。 你还可以将产品反馈提交到 Azure 反馈社区。