快速入門:安裝和設定 DNS 伺服器

適用於:Windows Server 2022、Windows Server 2019、Windows Server 2016

本快速入門說明如何在 Windows Server 上安裝和設定 DNS 伺服器。 您將安裝 DNS 伺服器角色來裝載 DNS 區域資料、將 DNS 查詢轉送到 DNS 根目錄提示名稱伺服器,或選擇轉送到上游名稱伺服器。

必要條件

安裝和設定 DNS 伺服器之前,您的電腦必須符合下列必要條件:

  • 執行受支援 Windows Server 版本的電腦。
  • 靜態 IP。
  • 屬於 Administrators 群組或對等群組成員的帳戶。

安裝 DNS 伺服器

網域名稱系統 (DNS) 伺服器的安裝作業包含將 DNS 伺服器角色新增到現有的 Windows Server 伺服器。

提示

您使用 Active Directory 網域服務安裝精靈來安裝 Active Directory 網域服務 (AD DS) 時,該精靈會提供您選擇自動安裝和設定 DNS 伺服器的選項。 產生的 DNS 區域會與 AD DS 網域命名空間整合。 若要深入瞭解,請參閱瞭解 Active Directory 網域服務整合

若要將 DNS 伺服器角色安裝為獨立伺服器,請執行下列步驟:

下文說明如何使用 Install-WindowsFeature 命令來安裝 DNS 伺服器角色。

  1. 在提升權限的工作階段中在電腦上執行 PowerShell。

  2. 若要安裝 DNS 角色,請執行下列命令。 安裝不需要重新開機。

    Install-WindowsFeature -Name DNS
    

設定 DNS 伺服器

現在您已安裝 DNS 伺服器角色,您可以設定伺服器。

設定介面

根據預設,DNS 伺服器會接聽所有 IP 位址介面上的要求。 您可以使用 GUI 或使用 PowerShell,將 DNS 伺服器設定為在指定介面上接聽。

下文說明如何使用 Set-DNSServerSetting 命令來設定用來接聽 DNS 要求的介面。

  1. 在提升權限的工作階段中在電腦上執行 PowerShell。

  2. 執行 Get-NetIPAddress Cmdlet 來尋找電腦現有的 IP 位址。 記下您要用於 DNS 伺服器的 IP 位址。

    Get-NetIPAddress | fl IPAddress,InterfaceAlias
    
  3. 將目前的 DNS 伺服器設定儲存在暫存變數中、設定 ListeningIpAddress 屬性,並執行下列命令來套用新的設定。 將預留位置 <ip_address> 取代為您稍早記下的 IP。

    $DnsServerSettings = Get-DnsServerSetting -ALL
    $DnsServerSettings.ListeningIpAddress = @("<ip_address>")
    Set-DNSServerSetting $DnsServerSettings
    

設定根目錄提示

DNS 伺服器無法從託管區域或 DNS 伺服器快取本機解析查詢時,根目錄提示伺服器可用來協助解析 DNS 位址資訊。 新的安裝預設會填入根目錄提示名稱伺服器。

您可以瀏覽到 [DNS 伺服器屬性] 對話方塊的 [根目錄提示] 索引標籤或使用 PowerShell,視需要編輯根名稱伺服器清單。

不支援移除所有根目錄提示伺服器。 請改為選取 DNS 管理員主控台 [進階] 索引標籤中的 [停用遞迴] 伺服器選項,將 DNS 伺服器設定為不使用根目錄提示名稱伺服器。停用遞迴也會停用任何已設定的轉寄站。 或者,取消勾選 [轉寄站] 索引標籤中的 [沒有可用的轉寄站,使用根目錄提示]

下文說明如何使用 Set-DnsServerRootHint 命令來更新 DNS 根目錄提示名稱伺服器。

  1. 在提升權限的工作階段中在電腦上執行 PowerShell。

  2. 執行 Get-DnsServerRootHint Cmdlet 來尋找電腦現有的 IP 位址。 記下您要更新的名稱伺服器。

    Get-DnsServerRootHint
    
  3. 執行下列命令,將目前的 DNS 伺服器設定儲存在變數中。 將預留位置 <root_hint_name_server> 取代為您稍早記下的根目錄提示名稱伺服器。

    $RootHintServer = (Get-DnsServerRootHint | Where-Object {$_.NameServer.RecordData.NameServer -match "<root_hint_name_server>"} )
    
  4. 執行下列命令,在暫存變數中設定 Ipv4address 屬性。 將預留位置 <ip_address> 取代為更新的 IP 位址。

    $RootHintServer.IPAddress[0].RecordData.Ipv4address = "<ip_address>"
    
  5. 執行下列命令來套用更新的記錄。

    Set-DnsServerRootHint $RootHintServer
    
  6. 若要檢查更新的根目錄提示,請執行下列命令。 您會發現名稱伺服器具有尾端點 (.)。

    Get-DnsServerRootHint
    

設定轉寄站

您可以選擇設定轉寄站來解析 DNS 位址資訊,而不是將流量轉送到 DNS 根伺服器。 您可以使用 GUI 或使用 Set-DNSServerForwarder PowerShell Cmdlet 來新增轉寄站。

注意

除非您的轉寄站無法回應,否則不會使用 DNS 根目錄提示。

下文說明如何使用 Install-WindowsFeature 命令來安裝 DNS 伺服器角色。

  1. 在提升權限的工作階段中在電腦上執行 PowerShell。

  2. 若要設定 DNS 轉寄站,請將 預留位置 <ip_forwarder_1><ip_forwarder_2> 取代為 DNS 伺服器的 IP 位址,該 DNS 伺服器將做為轉寄站。 然後,執行下列命令。

    $Forwarders = "<ip_forwarder_1>","<ip_forwarder_2>"
    Set-DnsServerForwarder -IPAddress $Forwarders
    

移除 DNS 伺服器角色

若要移除 DNS 伺服器角色,請執行下列步驟。

下文說明如何使用 Uninstall-WindowsFeature 命令來解除安裝安裝 DNS 伺服器角色。

  1. 在已提高權限的 PowerShell 提示中,執行下列命令:

    Uninstall-WindowsFeature -Name DNS
    

重要

從 Windows Server 電腦移除 DNS 伺服器角色服務時,請注意:

  • 對於裝載 AD DS 整合區域的 DNS 伺服器,會根據這些區域的存放類型儲存或刪除這些區域。 除非解除安裝的 DNS 伺服器是裝載該區域的最後一台 DNS 伺服器,否則不會刪除區域資料。
  • 對於裝載標準 DNS 區域的 DNS 伺服器,區域檔案會保留在 %systemroot%\System32\Dns 目錄中,但如果重新安裝 DNS 伺服器,則不會重新載入這些檔案。 如果您建立一個與舊區域名稱相同的新區域,則會以新的區域檔案取代舊的區域檔案。

下一步

現在您已安裝並設定 DNS 伺服器,下列是一些可能有助於執行更多動作的文章。