適用於:✔️ 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) 在 中 /etc/netplan/
為 DNS 伺服器建立 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 community 支援。 您也可以向 Azure 意見反應社群提交產品意見反應。