在 Mac 上讓內容快取在多個公用 IP 位址之間搜索
如果您的網路使用多個公用 IP 位址來連接 Internet(例如,內容快取),可能使用有別於用戶端的位址註冊來進行搜索,則您需要提供那些位址的列表給內容快取和用戶端。這些列表會用來交叉配對包含多個公用 IP 位址的註冊與搜索要求。
為了避免手動設定用戶端,內容快取使用 DNS TXT 記錄在您的網路上公佈用戶端的公用 IP 位址資訊。TXT 記錄需要在用戶端所使用的預設 DNS 搜尋網域裡發佈。
使用 macOS 10.15 或以上版本,您也可以指定偏好的本機 IP 位址來減少您網路上其他內容快取的影響。如果沒有在 TXT 記錄中宣告本機 IP 位址,所有用戶端都會使用任何可用的內容快取。
TXT 記錄中正確的公用 IP 位址範圍資料可以自動或手動產生。無論哪一種方式,您都需要編輯 DNS 記錄,或者將設定提供給您的 DNS 供應商以在區域檔案中製作或編輯 TXT 記錄。請注意,您無法自動產生偏好的 IP 位址的 TXT 記錄,而是必須手動製作。
【注意】這些記錄只有內部網路需要使用。外部 DNS 不需要其他記錄。
設定內容快取用戶端來支援多個 IP 位址
在 Mac 上,選擇「蘋果」選單 >「系統偏好設定⋯」,按一下「共享」,然後選擇「內容快取」。
按住 Option 鍵,然後按一下「進階選項」。
按一下「用戶端」。
按一下「我的區域網路」彈出式選單,然後選擇「使用自訂公用 IP 位址」。
按一下「加入」按鈕 ,然後輸入公用 IP 位址的範圍。
為您想要輸入的任何其他 IP 位址範圍重複此動作。
製作 DNS TXT 記錄來描述您輸入的公用 IP 位址。
您可以使用內容快取服務來產生 TXT 記錄或手動製作 TXT 記錄(格式如下所述)。若要產生 TXT 記錄:
按一下「DNS 設定」按鈕。
選擇您的 DNS 伺服器類型(BIND 或 Windows)。
拷貝產生的 TXT 記錄然後貼到文字檔中,以便供使用者日後使用(將其加入 DNS 區域檔案中時)。
按一下「完成」。
當您完成設定時,按一下「好」。
將 TXT 記錄加入網域的授權性 DNS 區域檔案。
DNS TXT 記錄格式
指定 TXT 記錄的語法和 TXT 記錄中非 ASCII 的字元,將會因您的 DNS 伺服器而異。此處顯示的範例僅供圖解之用。
內容快取的 DNS TXT 記錄與 DNS-SD TXT 記錄的格式相同(鍵值對):
name._tcp 10800 IN TXT "[prs|prn|fss|fsn]=addressRanges"
將 prs 和 prn 金鑰用於公用 IP 位址範圍;將 fss 和 fsn 金鑰用於偏好內容快取的本機 IP 位址範圍。
IPv4 和 IPv6 位址都會被接受,但只支援 IPv4。
下列範例分別定義同樣的兩個 IP 位址範圍:開頭為 17.53.22.2 且結尾為 17.53.22.254 的範圍,以及包含單一 IP 位址 93.184.216.119 的範圍。它們之間的差異在於第一個範例使用 prs 鍵,而第二個範例使用 prn 鍵。
_aaplcache._tcp 10800 IN TXT "\x2aprs=17.53.22.2-17.53.22.254,93.184.216.119"
_aaplcache._tcp 10800 IN TXT "\x12prn=\x24\x11\x35\x16\x02\x11\x35\x16\xfe\x14\x5d\xb8\xd8\x77"
鍵值使用不同的格式來在鍵值中指定 IP 位址範圍:
prs 或 fss:prs 或 fss 鍵值的值是一連串以逗號分隔的 IP 位址範圍,以呈現格式表示(ASCII 點記號)。此語法可方便進行設定。由單一 IP 位址或兩個 IP 位址(以連字號分隔)組成的範圍。
prn 或 fsn:prn 或 fsn 鍵值的值是一連串鏈結的 IP 位址範圍,以二進位「網路-位元組-順序」格式表示。此語法適用於以呈現格式指定時,對 DNS 記錄過長的範圍順序。序列中的每個範圍開頭都是一個用於指定範圍類型的位元組,其後為:
0x14 表示一個 IPv4 位址。
0x16 表示一個 IPv6 位址。
0x24 表示一個開始和結尾 IPv4 位址範圍。
0x26 表示一個開始和結尾 IPv6 位址範圍。
您可以串連多個記錄。若您這麼做,命名第一筆記錄 _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 "\x2bprs=17.250.1.1,17.250.2.1-17.250.2.254,more"
_aaplcache1._tcp 10800 IN TXT "\x0eprn=\x24\x11\xfa\x03\x01\x11\xfa\x03\xfe+"
_aaplcache2._tcp 10800 IN TXT "\x0eprs=17.250.4.5"
指定 TXT 記錄的語法和 TXT 記錄中非 ASCII 的字元,將會因您的 DNS 伺服器而異。部分伺服器不需要前導長度位元組(在此範例中分別是 \x2a、\x12、\x2b、\x0e 和 \x0e),因為他們已自動預先考慮在內。
範例 1
此範例展示同時需要 prs 或 prn 記錄及 fss 或 fsn 記錄的情況。
假設您已有一個 DNS TXT 記錄,名稱為「_aaplcache._tcp」,帶有值「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
只要三個內容快取中至少有一個執行中,尋找共享內容的 macOS 10.15、iOS 13、iPadOS 13 或 tvOS 13 或以上版本用戶端就會獨占使用那些內容快取。
如果三個伺服器均離線,尋找共享內容的用戶端就會使用任何可用的內容快取。
只要 10.2.0.30 執行中,尋找 iCloud 內容的 macOS 10.15、iOS 13、iPadOS 13、tvOS 13 或以上版本用戶端就會獨占使用該伺服器。如果此伺服器離線,尋找 iCloud 內容的用戶端就會使用任何可用的內容快取。
系統為 macOS 10.14(或較早版本)或 iOS 12(或較早版本)的裝置將會使用任何可用的內容快取,不限於這三個。
範例 2
此範例展示不需要 prs 或 prn 記錄的情況。
假設您只有一個公用 IP 位址,且根本沒有使用 DNS TXT 記錄功能,但是子網路上有幾個為伺服器機器(192.168.50/24)保留的內容快取。
若要防止未授權的內容快取,您可以設定一個記錄,如下所示:
_aaplcache._tcp fss=192.168.50.1-192.168.50.254
只要該範圍內至少有一個內容快取可供其尋找的用戶端類型(共享或 iCloud)使用,macOS 10.15、iOS 13、iPadOS 13、tvOS 13 或以上版本用戶端就會獨占使用該內容快取。
將 TXT 記錄加入 DNS 區域檔案
為您 DNS 伺服器上的本機網域加入一或多筆 TXT 記錄到區域檔案中。將 DNS TXT 記錄加入區域:
具有網域的授權性
符合網路用戶端的預設搜尋網域
例如,若您的組織為您本身的網域提供 DNS 服務,且為 example.com 作為主機名稱的授權來源,您便會將快取 TXT 記錄置於 example.com 區域檔案中。
【重要事項】若您並未為您的網域託管授權性 DNS 服務,您便無法自己加入 TXT 記錄。請與 DNS 供應商協調,讓他們加入所提供的 TXT 記錄。
若您使用 BIND9 DNS,請拷貝產生的 TXT 記錄,並將其貼入您的 DNS 區域檔案。
對於 Linux 上的 BIND9-based DNS,此檔案位於 /etc/bind/
目錄,而區域檔案名稱已在 /etc/bind/named.conf
中定義(很可能是「db.example.com」)。
如果您使用 Windows DNS,請執行下列其中一項操作:
若您使用內容快取服務來產生 TXT 記錄:在產生的指令中,用您網路的 DNS 區域名稱取代 ZoneName 變數,然後在您的 Windows DNS 電腦上執行指令。
若您手動製作 DNS TXT 記錄:使用 Windows 伺服器管理工具來手動輸入 TXT 記錄資訊。