目錄

簡介

必要條件

需求

採用元件

精確定位DNS概述

設定

建立DNS SRV記錄

配置Windows DNS伺服器

配置繫結DNS伺服器

驗證

疑難排解

相關資訊

簡介

本文說明如何為內部名稱伺服器(NS)上的服務記錄(SRV)建立精確定位專案，以便解決缺乏分割網域名稱系統(DNS)設定的問題。

作者：Zoltan Kelemen，編輯者：Joshua Alero和Lidiya Bogdanova，思科TAC工程師。

必要條件

需求

思科建議您瞭解以下主題：

- 對DNS的基本瞭解

- 在公共授權NS上正確配置的域

採用元件

本文中的資訊係根據以下軟體和硬體版本：

- Microsoft Windows Server 2012

- 視訊通訊系統(VCS)/Expressway

附註：本檔案中的資訊可與Microsoft DNS伺服器或BIND搭配使用。您只需使用適用於您的特定DNS伺服器的步驟。未提供其他型別DNS伺服器的說明，但是如果伺服器支援此配置，則此概念可以用於任何其他DNS伺服器。

附註：內部NS由內部使用者以及影片通訊系統(VCS)/Cisco Expressway-C使用。

本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除（預設）的組態來啟動。如果您的網路運作中，請確保您瞭解任何指令可能造成的影響。

精確定位DNS概述

Pinpoint DNS條目是僅為單個主機建立的區域。此條目可以定義為名稱伺服器上的權威條目，該條目不是父域的權威條目。這允許將此域的其他DNS查詢轉發到授權伺服器。

除了所需的授權開始(SOA)和名稱伺服器記錄之外，準點區域通常還包含一條記錄。此記錄是自引用，與區域的名稱相同，並與Microsoft DNS中的父資料夾顯示相同，或者由BIND zone檔案中的@符號引用。該記錄可以是DNS支援的任何型別。@符號也在Windows命令列介面(CLI)工具中使用，其工作方式與在BIND中相同。

以下影象提供了這些記錄的示例：

這是DNS系統的一個功能，不依賴Cisco Jabber或Cisco Expressway應用中的任何機制。如果拆分DNS不可用，它也是思科Jabber部署支援的解決方案。

如果域名伺服器被配置為域的權威或主伺服器，則即使域名伺服器無法解析特定名稱，也不會將對該域內名稱的查詢轉發給其轉發器。因此，為了正常地向域的內部和外部使用者提供同一域內的不同名稱解析，將使用拆分DNS。在拆分DNS配置中，內部DNS伺服器維護具有內部特定條目的區域副本，外部DNS伺服器維護具有外部特定條目的區域副本。對於內部查詢，外部區域中存在、但內部區域中不存在的所有條目必須無法解析。

由於這會導致管理開銷，因此某些網路管理員傾向於避免拆分DNS配置。在這些情況下，精確定位DNS條目提供了另一種選擇。

設定

建立DNS SRV記錄

對於Cisco Jabber自動調配以及移動和遠端訪問(MRA)服務，每個域都涉及兩個SRV記錄(以domain.com為例):

- _collab-edge._tls.domain.com

- _cisco-uds._tcp.domain.com

如果Expressway和/或Cisco Unified Communications Manager(CUCM)是集群的，則這些記錄可以有多個條目。

當外部NS上僅存在domain.com的授權區域檔案時，內部NS上需要_cisco-uds._tcp的精點DNS條目。首先需要建立精確定點DNS區域，然後建立區域中的SRV。

_cisco-uds._tcp SRV記錄只能在內部網路上解析，不能從外部解析，並且必須解析為具有使用者資料服務(UDS)的CUCM節點的完全限定域名(FQDN)。

_collab-edge._tls SRV記錄必須從外部網路解析，並且解析為Expressway-E伺服器的完全限定域名(FQDN)。

配置Windows DNS伺服器

點DNS條目作為任何其他區域建立，其名稱必須包含整個SRV名稱(例如_cisco-uds._tcp.domain.com)。 也可以通過圖形使用者介面(GUI)執行此步驟，不過以下示例假定尚未建立精確定位DNS條目。

為了新增SRV記錄本身，必須使用CLI工具。您不能通過GUI將SRV記錄新增到精確定位DNS條目，因為此操作不起作用。一旦通過CLI新增，這些SRV記錄就可以使用常規工具進行管理，就像使用任何其他條目一樣。Windows CLI提供兩種方法 — dnscmd或PowerShell命令。以下兩個示例均建立兩個精確定位DNS條目並為_cisco-uds._tcp新增一個SRV記錄

一次只能使用這兩種方法之一：

- 示例1 — 使用dnscmd

dnscmd . /zoneadd _cisco-uds._tcp.domain.com. /dsprimary

dnscmd . /recordadd _cisco-uds._tcp.domain.com. "@" SRV 10 10 8443 cucm.domain.local

- 示例2 — 使用PowerShell命令(因為dnscmd在將來版本的Microsoft Windows Server中將被棄用，PowerShell可以用於同一用途)。複製範圍選項為Domain、Forest，或者如果區域未整合Active Directory(AD)，則可以使用-ZoneFile設定檔案

Import-Module DnsServer

Add-DnsServerPrimaryZone -Name "_cisco-uds._tcp.domain.com" -ReplicationScope "Domain"

Add-DnsServerResourceRecord -Srv -ZoneName "_cisco-uds._tcp.domain.com" -Name "@" –Priority 10 -Weight 10 -Port 8443 -DomainName "cucm.domain.local"

以下影象提供了在GUI中使用SRV記錄的精確定點DNS條目如何顯示的示例：

配置繫結DNS伺服器

使用BIND DNS伺服器，精確定位DNS條目的建立方式與常規區域檔案的建立方式相同。

$ORIGIN條目必須指向SRV記錄的FQDN(例如， _cisco-uds._tcp.domain.com),SOA和NS記錄會照常新增。SRV是可選的（無論是精確定位DNS條目定義還是覆蓋SRV記錄），且使用的名稱為@，等同於區域的名稱/源。

以下是_cisco-uds._tcp.domain.com.zone檔案內容的示例：

$TTL 1h

$ORIGIN _cisco-uds._tcp.domain.com.

@       IN      SOA     internalns.domain.local. hostmaster.domain.local. (

2016033000;

12h;

15m;

3w;

3h;

)

IN      NS      internalns.domain.local.

@       IN      SRV     10  10  8443  cucm.domain.local.

以下示例說明如何將區域定義新增到named.conf:

zone "_cisco-uds._tcp.domain.com" IN {

type master;

file "_cisco-uds._tcp.domain.com.zone";

};

驗證

使用本節內容，確認您的組態是否正常運作。

- 使用命令nslookup（伺服器設定為內部NS），以驗證精確定位DNS條目。

以下示例說明如何從父域中查詢一個主機名，以及如何查詢在內部NS上建立的SRV記錄：

C:\>nslookup exp-e.domain.com internalNS.domain.local

Non-authorative answer:

Name:    exp-e.domain.com

Address:  198.51.100.50

C:\>nslookup -type=srv _cisco-uds._tcp.domain.com internalNS.domain.local

_cisco-uds._tcp.domain.com      SRV service location:

priority       = 10

weight         = 10

port           = 8443

svr hostname   = cucm.domain.local

cucm.domain.local       internet address = 192.168.100.11

以下示例說明如何查詢未在內部NS上配置的一個主機名名，以驗證請求是否按預期轉發。

C:\>nslookup www.example.com internalNS.domain.local

Non-authoritative answer:

Name:    www.example.com

Addresses:  203.0.113.42

- 將伺服器設定為公共NS或外部NS，然後重複相同步驟。_cisco-uds._tcp SRV記錄的SRV查詢失敗。

疑難排解

本節提供的資訊可用於對組態進行疑難排解。

如果nslookup驗證返回包含重複部分的主機名(例如cucm.domain.local.domain.local)，則必須驗證DNS條目以使用完全停止符號終止，否則區域的原點將新增到解析的主機名。

如果對建立的條目存在疑慮，則只需從DNS伺服器將其刪除。雖然將條目新增到Microsoft DNS時需要CLI，但是可在GUI中安全且簡單地刪除條目。

相關資訊

有關MRA的多域部署（不同的內部和外部域名），請參閱以下文檔：

組態範例:在多域部署中通過Expressway/VCS進行移動和遠端訪問