Використання записів DNS TXT із кешами вмісту для пристроїв Apple
Додавання TXT-записів до файлу зони DNS
Додайте один або кілька TXT-записів у файл зони для вашого локального домену на DNS-сервері. Додайте TXT-запис DNS до зони, яка:
Підтверджена для домену
Відповідає стандартному домену пошуку для клієнтів мережі
Наприклад, якщо ваша організація надає службу DNS для вашого власного домену та може сертифікувати імена вузлів для betterbag.com, розмістіть запис TXT кешування у файлі зони betterbag.com.
Важливо! Якщо ви не розміщуєте підтверджену службу DNS для свого домену, ви не зможете власноруч додати TXT-запис. Зверніться до постачальника послуг DNS і попросіть його додати наданий TXT-запис.
Якщо ви використовуєте DNS BIND9, скопіюйте згенерований TXT-запис і вставте його у файл зони DNS.
У випадку DNS на базі BIND9 у Linux цей файл розташовано в каталозі /private/etc/bind/, а назву файлу зони визначено в /private/etc/bind/named.conf (найімовірніше — це db.betterbag.com).
Якщо ви використовуєте DNS Windows, виконайте одну з наведених нижче дій.
Якщо запис створено за допомогою служби кешування вмісту, замініть змінну ZoneName у згенерованій команді на назву зони DNS вашої мережі, а тоді запустіть команду на комп’ютері Windows DNS.
Якщо текстовий запис створено вручну, введіть інформацію TXT-запису вручну за допомогою засобів адміністрування серверів Windows.
Використання записів DNS TXT для публікації вмісту на різних публічних IP-адресах
Якщо для з’єднання з нтернетом мережа використовує кілька публічних IP-адрес, щоб кеш вмісту можна було зареєструвати за допомогою іншої адреси (не тієї, яку клієнт використовує для виявлення), вам потрібно надати кешу вмісту та клієнтам список цих адрес. Apple використовує такі списки для перехресної реєстрації та виявлення запитів із використанням кількох публічних IP-адрес.
Щоб не здійснювати конфігурацію клієнтів вручну, кешування вмісту використовує записи TXT DNS. Це дозволяє публікувати інформацію про IP-адреси для клієнтів у мережі. Запис TXT має бути опубліковано в стандартному домені пошуку DNS, який використовують ваші клієнти.
В macOS 10.15 і новіших можна також указати пріоритетні локальні IP-адреси, щоб зменшити вплив інших кешів вмісту на вашу мережу. Якщо в TXT-записі не вказано вибраних локальних IP-адрес, усі клієнти використовуватимуть увесь доступний кеш вмісту.
Правильні дані для TXT-запису для діапазонів публічних IP-адрес можна згенерувати автоматично або вручну. У будь-якому випадку вам потрібно змінити запис DNS або надати постачальнику послуг DNS параметри, щоб створити або змінити запис TXT у файлі зони. Однак не можна автоматично генерувати TXT-записи для вибраних локальних IP-адрес, — їх потрібно створювати вручну.
Примітка. Такі записи обов’язкові лише для внутрішньої мережі. Для зовнішнього DNS додатковий запис не потрібен.
Формат текстового запису DNS
Синтаксис для вказування TXT-записів і символи, що не належать до ASCII у TXT-записах, можуть залежати від DNS-сервера. Приклади наведено лише для ілюстрації.
Ці текстові записи DNS для кешування вмісту мають такий самий формат, що й TXT-записи DNS-SD (пари ключ-значення).
name._tcp 10800 IN TXT "[prs|prn|fss|fsn]=addressRanges"
Використовуйте ключі prs
і prn
для публічних діапазонів IP-адрес, і ключі fss
і fsn
для вибраних локальних діапазонів IP-адрес вибраних кешів вмісту.
Наведені приклади визначають однакові набори двох діапазонів 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-адрес, розділених дефісом.prn або fsn: значення ключа
prn
абоfsn
— це послідовність об’єднаних діапазонів IP-адрес у двійковому форматі network-byte-order. Цей синтаксис призначений для послідовностей діапазонів, які задовгі для запису 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
.
Припустімо, у вас уже є один TXT-запис DNS із назвою «_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
Поки принаймні один із трьох кешів вмісту використовуватиме цей метод, пристрої з iOS 13, iPadOS 13.1, macOS 10.15 і tvOS 13 або новішими, які шукають спільний вміст, використовуватимуть їх ексклюзивно. Яекщо всі три стануть недоступними, клієнти, які шукають спільний вміст, можуть використовувати будь-який доступний кеш вмісту.
Поки сервер 10.2.0.30 використовуватиме цей метод, пристрої з iOS 13, iPadOS 13.1, macOS 10.15 і tvOS 13 або новішими, які шукають вміст iCloud, використовуватимуть його ексклюзивно. Якщо він стане недоступним, клієнти, які шукають вміст iCloud, використовуватимуть будь-який доступний кеш вмісту.
Пристрої з iOS 12 і старішими та macOS 10.14 і старішими використовуватимуть будь-який доступний кеш вмісту, а не лише ці три.
Приклад 2
Цей приклад демонструє сценарій, коли запис prs
або prn
не потрібний.
Припустімо, у вас є одна публічна IP-адреса й узагалі немає TXT-запису DNS, але є кілька кешів вмісту в підмережі, зарезервованій для серверів (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 або новішими, які шукають спільний вміст, використовуватимуть їх ексклюзивно.