Detectie van een materiaalcache in meerdere publieke IP-adressen inschakelen op de Mac
Als het netwerk meerdere publieke IP-adressen gebruikt om verbinding te maken met het internet, kan het zijn dat een materiaalcache voor de registratie een ander adres gebruikt dan een client voor de detectie. Je moet daarom zowel de materiaalcache als de clients van een lijst met deze adressen voorzien. Deze lijsten worden gebruikt voor het koppelen van registratie- en detectieaanvragen waarbij meerdere publieke IP-adressen betrokken zijn.
Om handmatige configuratie van clients te voorkomen, wordt bij materiaalcaching gebruikgemaakt van DNS TXT-records om de openbare IP-adresgegevens voor clients in je netwerk te publiceren. De TXT-record moet worden gepubliceerd in het standaard-DNS-zoekdomein dat door je clients wordt gebruikt.
In macOS 10.15 en hoger kun je ook lokale IP-adressen als voorkeursadressen opgeven om het effect van andere materiaalcaches in je netwerk te verminderen. Als er geen lokale IP-adressen als voorkeursadressen zijn opgenomen in een TXT-record, gebruiken alle clients een willekeurige beschikbare materiaalcache.
De juiste gegevens voor de TXT-record voor bereiken met publieke IP-adressen kunnen automatisch of handmatig worden gegenereerd. In beide gevallen moet je nog wel de DNS-record aanpassen of de instellingen aan je DNS-provider doorgeven, zodat hij de TXT-record kan aanmaken of bewerken in het zonebestand. Het is niet mogelijk om automatisch TXT-records te genereren voor lokale IP-adressen die als voorkeursadressen zijn opgegeven. Dergelijke records moeten handmatig worden aangemaakt.
Opmerking: Deze records zijn alleen vereist voor je interne netwerk. Voor extern DNS is geen extra record nodig.
Clients voor materiaalcaching configureren voor het gebruik van meerdere IP-adressen
Kies op de Mac Apple-menu > 'Systeemvoorkeuren', klik op 'Delen' en selecteer vervolgens 'Materiaalcaching'.
Open het paneel 'Materiaalcaching' van het paneel 'Delen' in Systeemvoorkeuren
Houd de Option-toets ingedrukt en klik op 'Geavanceerde opties'.
Klik op 'Clients'.
Klik op het venstermenu 'Mijn lokale netwerken' en kies 'gebruiken aangepaste publieke IP-adressen'.
Klik op de knop met het plusteken en geef een bereik met publieke IP-adressen op.
Herhaal dit voor elk extra bereik van IP-adressen dat je wilt opgeven.
Maak een DNS-tekstrecord aan waarin de ingevoerde publieke IP-adressen beschreven staan.
Je kunt de voorziening voor materiaalcaching gebruiken om het tekstrecord te genereren of de record handmatig aanmaken (de indeling wordt hieronder beschreven). Je genereert de tekstrecord als volgt:
Klik op de knop 'DNS-configuratie'.
Kies het type DNS-server (BIND of Windows).
Kopieer de gegenereerde tekstrecord en plak deze vervolgens in een tekstbestand, zodat deze later kan worden gebruikt (wanneer je de record toevoegt aan het DNS-zonebestand).
Klik op 'Gereed'.
Klik op 'OK' als je klaar bent met de configuratie.
Voeg de tekstrecord toe aan het zonebestand van de DNS-zone die als autoriteit voor het domein geldt.
Indeling van DNS TXT-records
De syntaxis die moet worden gebruikt voor het opgeven van TXT-records en niet-ASCII-tekens in TXT-records varieert per DNS-server. De voorbeelden hieronder dienen uitsluitend ter illustratie.
De DNS-tekstrecords voor materiaalcaching hebben dezelfde indeling als DNS-SD TXT-records (sleutelwaardeparen):
name._tcp 10800 IN TXT "[prs|prn|fss|fsn]=addressRanges"
Gebruik de prs- en prn-sleutel voor bereiken met publieke IP-adressen. Gebruik de fss- en fsn-sleutel voor bereiken met lokale IP-adressen van voorkeursmateriaalcaches.
IPv4- en IPv6-adressen worden beide geaccepteerd, maar alleen IPv4 wordt ondersteund.
In de onderstaande voorbeelden wordt dezelfde set van twee IP-adresbereiken gedefinieerd: een bereik dat begint bij 17.53.22.2 en eindigt met 17.53.22.254, en een bereik dat uit één IP-adres, 93.184.216.119, bestaat. Het verschil is dat in het eerste voorbeeld de prs-sleutel wordt gebruikt en in het tweede voorbeeld de prn-sleutel.
_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"
De sleutels gebruiken verschillende notaties voor het IP-adresbereik dat in de waarde wordt opgegeven:
prs of fss: De waarde van de prs- of fss-sleutel is een reeks door komma's gescheiden IP-adresbereiken in presentatie-indeling (ASCII-puntnotatie). Deze syntaxis vereenvoudigt de configuratie. Een bereik bestaat uit één IP-adres of twee IP-adressen die zijn gescheiden door een koppelteken.
prn of fsn: De waarde van de prn- of fsn-sleutel is een reeks achter elkaar geplaatste IP-adresbereiken in binaire indeling in volgorde van netwerkbytes. Deze syntaxis is voor bereikreeksen die te lang zijn voor een DNS-record als deze worden opgegeven in presentatie-indeling. Elk bereik in de reeks wordt voorafgegaan door een byte waarmee het type bereik wordt aangeduid:
0x14 geeft één IPv4-adres aan.
0x16 geeft één IPv6-adres aan.
0x24 geeft een IPv4-adresbereik aan met een begin- en eindadres.
0x26 geeft een IPv6-adresbereik aan met een begin- en eindadres.
Je kunt meerdere records aan elkaar koppelen. Als je dit doet, geef je de eerste record de naam _aaplcache._tcp
en gebruik je voor volgende records _aaplcache1._tcp
tot en met _aaplcache24._tcp
. Het maximale aantal ketenrecords is 25.
Om compatibiliteit met clients met macOS 10.14 of lager te waarborgen, moet je records waarvoor de prs- of prn-sleutel wordt gebruikt vóór records plaatsen waarvoor de fss- of fsn-sleutel wordt gebruikt.
Koppel records door aan alle records behalve de laatste TXT-record een vervolgaanduiding toe te voegen.
Het gebruik van de prs- en prn-syntaxis is mogelijk gemengd in de recordketen. Voeg bij de prs-syntaxis ",more" toe aan het eind van de recordwaarde. Voeg bij de prn-syntaxis "+" (0x2b) toe aan het eind van de recordwaarde. De eerste record zonder deze vervolgaanduiding vormt het einde van de keten.
Gekoppelde records worden herleid in batches van vijf stuks. _aaplcache._tcp en _aaplcache1._tcp tot en met _aaplcache4._tcp worden eerst parallel herleid. Als deze allemaal eindigen met een vervolgaanduiding, worden vervolgens _aaplcache5._tcp tot en met _aaplcache9._tcp herleid, enzovoort.
Hieronder zie je een voorbeeld van drie recordketens:
_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"
De syntaxis die moet worden gebruikt voor het opgeven van TXT-records en niet-ASCII-tekens in TXT-records kan per DNS-server variëren. Voor bepaalde servers is de lengtebyte aan het begin (\x2a, \x12, \x2b, \x0e en \x0e in de voorbeelden) niet nodig, omdat deze automatisch wordt toegevoegd.
Voorbeeld 1
Dit voorbeeld laat een scenario zien waarin zowel een prs- of prn-record als een fss- of fsn-record is vereist.
Stel dat je al één DNS TXT-record hebt met de naam "_aaplcache._tcp" en de waarde "prs=203.0.113.10-203.0.113.19" en dat je drie materiaalcaches hebt die zijn geïmplementeerd met de lokale adressen 10.0.0.30, 10.1.0.30 en 10.2.0.30. De eerste twee caches leveren alleen gedeeld materiaal aan, terwijl de laatste zowel gedeeld materiaal als iCloud-materiaal aanlevert.
Om te voorkomen dat clients een niet-geautoriseerde materiaalcache gebruiken, kun je ",more" aan die bestaande record toevoegen en als volgt een tweede record toevoegen:
_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
Zolang ten minste één van de drie materiaalcaches actief is, gebruiken clients met macOS 10.15, iOS 13, iPadOS 13 of tvOS 13 of hoger die naar gedeeld materiaal zoeken, uitsluitend die materiaalcaches.
Als alle drie de servers offline zijn, gebruiken clients die naar gedeeld materiaal zoeken elke willekeurige materiaalcache die beschikbaar is.
Zolang 10.2.0.30 actief is, gebruiken clients met macOS 10.15, iOS 13, iPadOS 13 of tvOS 13 of hoger die naar iCloud-materiaal zoeken, alleen die cache. Als 10.2.0.30 offline is, gebruiken clients die naar gedeeld iCloud-materiaal zoeken elke willekeurige materiaalcache die beschikbaar is.
Apparaten met macOS 10.14 of lager of iOS 12 of lager gebruiken elke willekeurige materiaalcache die beschikbaar is, niet alleen die drie caches.
Voorbeeld 2
Dit voorbeeld laat een scenario zien waarin geen prs- of prn-record vereist is.
Stel dat je slechts één publiek IP-adres hebt en de DNS TXT-recordfunctie helemaal niet gebruikt, maar wel een paar materiaalcaches hebt in een subnet dat is gereserveerd voor servercomputers (192.168.50/24).
Om niet-geautoriseerde materiaalcaches te voorkomen, kun je één record als volgt instellen:
_aaplcache._tcp fss=192.168.50.1-192.168.50.254
Zolang er ten minste één materiaalcache beschikbaar is in dat bereik voor het type client waarnaar wordt gezocht (gedeeld of iCloud), gebruiken clients met macOS 10.15, iOS 13, iPadOS 13 of tvOS 13 of hoger uitsluitend die materiaalcache.
TXT-records aan het DNS-zonebestand toevoegen
Voeg een of meer TXT-records toe aan het zonebestand voor het lokale domein op je DNS-server. Voeg de DNS TXT-record toe aan de zone die:
Als autoriteit voor het domein geldt
Overeenkomt met het standaardzoekdomein voor netwerkclients
Als je organisatie een DNS-voorziening voor je eigen domein biedt en de autoriteitsbron is voor de hostnamen voor example.com, voeg je de TXT-cacherecord toe aan het zonebestand van example.com.
Belangrijk: Als je niet de host bent van de DNS-voorziening die als autoriteit voor je domein geldt, kun je de TXT-record niet zelf toevoegen. Vraag je DNS-aanbieder de TXT-record toe te voegen.
Als je BIND9 DNS gebruikt, kopieer je de gegenereerde TXT-record en plak je deze in je DNS-zonebestand.
Voor BIND9-gebaseerde DNS op Linux bevindt dit bestand zich in de directory /etc/bind/
en is de naam van het zonebestand gedefinieerd in /etc/bind/named.conf
(waarschijnlijk 'db.example.com').
Als je Windows DNS gebruikt, voer je een van de volgende stappen uit:
Als je de tekstrecord hebt gegenereerd met de voorziening voor materiaalcaching: Vervang de variabele Zonenaam in het gegenereerde commando door de DNS-zonenaam van je netwerk en voer volgens het commando uit op je Windows DNS-computer.
Als je de tekstrecord handmatig hebt aangemaakt: Voer de TXT-recordgegevens handmatig in met behulp van de Windows Server-beheerprogramma's.