搭配內容快取將 DNS TXT 記錄用於 Apple 裝置
將 TXT 記錄加入 DNS 區域檔案
為你 DNS 伺服器上的本機網域加入一或多筆 TXT 記錄到區域檔案中。將 DNS TXT 記錄加入區域:
具有網域的授權性
符合網絡用户端的預設搜尋網域
例如,如你的機構為你本身的網域提供 DNS 服務,且為 betterbag.com 作為主機名稱的授權來源,你便會將快取 TXT 記錄置於 betterbag.com 區域檔案中。
重要事項:如你並未為你的網域託管授權性 DNS 服務,你便無法自己加入 TXT 記錄。請與 DNS 提供者協調,讓他們加入所提供的 TXT 記錄。
如你使用 BIND9 DNS,請複製產生的 TXT 記錄,並將其貼入你的 DNS 區域檔案。
對於 Linux 上的 BIND9-based DNS,此檔案位於 /private/etc/bind/ 目錄,而區域檔案名稱已在 private/etc/bind/named.conf 中定義(很可能是「db.betterbag.com.」)。
如果你使用 Windows DNS,請執行下列其中一項操作:
如你使用內容快取服務產生 TXT 記錄:以你網絡的 DNS 區域名稱取代產生的命令中之 ZoneName 變數,然後在你的 Windows DNS 電腦上執行命令。
如你手動製作 DNS TXT 記錄:使用 Windows 伺服器管理工具來手動輸入 TXT 記錄資料。
使用 DNS TXT 記錄在多個公用 IP 位址之間發佈內容
如果你的網絡使用多個公用 IP 位址來連接互聯網,例如內容快取可能使用與用户端用於搜尋的地址不同的地址進行註冊,則你需要為內容快取和用户端提供那些地址的列表。Apple 會使用這些列表來交叉配對包括多個公用 IP 位址的註冊與搜索要求。
為了避免手動配置用户端,內容快取使用 DNS TXT 記錄在你的網絡上發佈用户端的公用 IP 位址資料。TXT 記錄需要在用户端所使用的預設 DNS 搜尋網域裏發佈。
使用 macOS 10.15 或較新版本,你可以指定偏好的本機 IP 位址以減少你的網絡上其他內容快取的影響。如 TXT 記錄宣告中沒有偏好的本地 IP 位址,所有用户端都會使用任何可用的內容快取。
正確的公用 IP 位址範圍 TXT 記錄資料可以自動或手動產生。無論哪一種方式,你都需要編輯 DNS 記錄,或者將設定提供給你的 DNS 供應商以在區域檔案中製作或編輯 TXT 記錄。請注意你無法為偏好的本機 IP 位址自動產生 TXT 記錄,必須手動產生。
附註:這些記錄只有內部網絡需要使用。外部 DNS 不需要其他記錄。
DNS TXT 記錄格式
指定 TXT 記錄的語法和 TXT 記錄中非 ASCII 的字元,可能會因你的 DNS 伺服器而異。以下範例只供圖解之用。
文字快取的 DNS TXT 記錄與 DNS-SD TXT 記錄(鍵值對)格式相同:
name._tcp 10800 IN TXT "[prs|prn|fss|fsn]=addressRanges"
為公用 IP 位址範圍使用 prs
鍵和 prn
鍵;為偏好的內容快取的本機 IP 位址範圍使用 fss
鍵和 fsn
鍵。
以下範例均定義了兩個 IP 位址範圍的相同組合:一個在 17.53.22.2 開始和在 17.53.22.254 結束的範圍,以及一個包含單一 IP 位址(17.53.23.1)的範圍。兩者差別在於第一個範例使用 prs
鍵,而第二個範例則使用 prn
鍵。
_aaplcache._tcp 10800 IN TXT "prs=17.53.22.2-17.53.22.254,17.53.23.1"
_aaplcache._tcp 10800 IN TXT
_aaplcache._tcp 10800 IN TXT "prn=\x24\x11\x35\x16\x02\x11\x35\x16\xfe\x14\x11\x35\x17\x01"
這些鍵就值指定的 IP 位址範圍使用不同格式:
prs 或 fss:
prs
鍵值或fss
鍵值的值是一連串以逗號分隔的 IP 位址範圍,以呈現格式表示(ASCII 點記號)。此語法可方便進行設定。由單一 IP 位址或兩個 IP 位址(以連字號分隔)組成的範圍。prn 或 fsn:
prn
鍵值或fsn
鍵值的值是一連串鏈結的 IP 位址範圍,以二進位「網絡-位元組-順序」格式表示。此語法適用於以呈現格式指定時,對 DNS 記錄過長的範圍順序。序列中每個範圍之前均有一個位元組為緊接的範圍指定類型:0x14 代表一個單一的 IPv4 地址。
0x24 代表一個開始和結束的 IPv4 地址範圍。
你可以將多個記錄串連一起。如你這樣做,請將第一個記錄命名為_aaplcache._tcp
,後續記錄由 _aaplcache1._tcp
起至 _aaplcache24._tcp
,上限為 25 個串連記錄。
如要維持與安裝 macOS 10.14 或較舊版本用户端的相容性,請將使用 prs
或 prn
鍵的記錄置於任何使用 fss
或 fsn
鍵的記錄之前。
請在所有 TXT 記錄(除最後一個)中置入連續標記來將記錄串連一起。
prs
和 prn
語法在串連的記錄之間可以混用。prs
語法會在記錄值結尾附加「,more
」。prn
語法會在記錄值結尾附加「+
」(0x2b)。缺少此類連續標記的第一個記錄會結束串連。
串連記錄會以一次五個的批次解決,亦即 _aaplcache._tcp
和 _aaplcache1._tcp
到 _aaplcache4._tcp
會先並行解決。如它們都以連續標記結尾,接下來則是 _aaplcache5._tcp
到 _aaplcache9._tcp
並行解決,如此類推。
以下是三筆串連記錄的範例:
_aaplcache._tcp 10800 IN TXT "prs=17.250.1.1,17.250.2.1-17.250.2.254,more"
_aaplcache1._tcp 10800 IN TXT "prn=\x24\x11\xfa\x03\x01\x11\xfa\x03\xfe+"
_aaplcache2._tcp 10800 IN TXT "prs=17.250.4.5"
範例 1
此範例展示了要求 prs
或 prn
記錄之一,以及 fss
或 fsn
記錄之一的情況。
假設你已擁有一個名為「_aaplcache._tcp
」的 DNS TXT 記錄,其中包含「prs=203.0.113.10-203.0.113.19
」的值,以及三個以本機位址 10.0.0.30、10.1.0.30 及 10.2.0.30 部署的內容快取。首兩個地址僅用於共享的內容,最後一個則用於共享內容及 iCloud 內容。
如要避免用户端使用未經授權的內容快取,你可附加「,more
」至該記錄及加入第二個記錄,方法如下:
_aaplcache._tcp prs=203.0.113.10-203.0.113.19,more
_aaplcache1._tcp fss=10.0.0.30,10.1.0.30,10.2.0.30
只要三個內容快取中有最少一個使用此方式,尋找共享內容且執行 iOS 13、iPadOS 13.1、macOS 10.15 或 tvOS 13 或較新版本的裝置會專享該內容快取。如三個地址皆離線,尋找共享內容的用户端可以使用任何可用的內容快取。
只要 10.2.0.30 使用此方式,其會專供尋找 iCloud 內容且執行 iOS 13、iPadOS 13.1、macOS 10.15、tvOS 13 或較新版本的裝置使用。如其離線,尋找 iCloud 內容的用户端會使用任何可用的內容快取。
安裝 iOS 12 或較新版本,以及 macOS 10.14 或較舊版本的裝置會使用任何可用的內容快取,而非只限該三個。
範例 2
此範例展示的情況未有要求 prs
或 prn
記錄。
假設你只有一個公用 IP 位址,而沒有使用 DNS TXT 記錄功能,但有數個為伺服器機器(192.168.50/24)專用的子網絡。
如要避免未經授權的內容快取,你可以這樣設定一個的記錄:
_aaplcache._tcp fss=192.168.50.1-192.168.50.254
只要在該範圍內至少有一個內容快取可用於它所尋求的用户端類型(共享或 iCloud),安裝 iOS 13、iPadOS 13.1、macOS 10.15、tvOS 13 或較新版本的用户端會專享該內容快取。