Comportamento e logica di risoluzione DNS
Il sistema dei nomi di dominio (DNS) è alla base del web e lavora in modo trasparente in background per convertire i nomi dei siti web leggibili dall'uomo in indirizzi IP numerici leggibili dal computer. Questi indirizzi seguono le linee guida RFC 1918 di Internet per IPv4 e RFC 4193 per IPv6. In breve, i server DNS associano i nomi di dominio, come ad esempio ibm.com, ai corrispondenti indirizzi IP, che la maggior parte
delle persone non ha mai bisogno di conoscere.
Per eseguire questa traduzione, il sistema DNS interroga una rete di server DNS interconnessi su Internet. Questo processo è simile all'utilizzo di un elenco telefonico o di una mappa per trovare un luogo specifico.
Server dei nomi
Un name server fornisce servizi che rispondono alle interrogazioni di una directory, traducendo nomi web o hostname significativi e basati su testo in indirizzi IP.
La delega del server dei nomi si verifica quando il server dei nomi di un dominio riceve una richiesta per i record di un sottodominio e risponde rimandando il richiedente al server dei nomi delegato che gestisce il sottodominio. Questo processo
consente la gestione decentralizzata di domini di grandi dimensioni, come ibm.com.
Con un server DNS personalizzato, puoi utilizzare i server del provider DNS con il nome di riferimento personalizzato del tuo dominio. Ad esempio, è possibile definire il proprio server dei nomi come ns1.cloud.ibm.com invece di
quello predefinito dal provider, come ns1.acme.com.
Proxying dei record DNS e balancelli di carico globali
CIS supporta il proxying per i bilanciatori di carico globali e i record DNS. Quando un record o un bilanciatore di carico è proxy, il suo traffico passa direttamente attraverso CIS.
Attualmente, è possibile utilizzare un proxy per i record DNS di tipo A, AAAA o CNAME. Per ulteriori informazioni, vedere Tipi di record DNS.
Impostazione delle modalità proxy
I bilanciatori di carico e i record DNS supportano sia la modalità DNS-only che quella proxy- HTTP. È possibile avere HTTP domini proxy e domini solo DNS nella stessa istanza di CIS, ma il comportamento di instradamento del traffico è diverso: il traffico per i record che sono proxy passa attraverso CIS, mentre il traffico per i record che non sono proxy (modalità solo DNS) passa direttamente dal client all'origine.
HTTP modalità proxy
In modalità proxy di HTTP, CIS annuncia all'esterno gli indirizzi IP dell' IBM, ma protegge (maschera) gli indirizzi IP del server di origine. I record di indirizzi IP annunciati hanno un TTL automatico. Il traffico passa attraverso CIS, dove vengono applicate tutte le caratteristiche di sicurezza, prestazioni e affidabilità, come le regole del firewall e la cache. Il TTL "automatico" (cinque minuti) riduce anche il numero di interrogazioni autoritative che vengono effettuate nei confronti di CIS.
Modalità solo DNS
In modalità solo DNS, i record vengono risolti all'IP di origine ed è possibile personalizzare il TTL dei record. Per i bilanciatori di carico globali, CIS serve direttamente gli indirizzi dei server di origine sani, ma si affida ai resolver DNS, che rispettano il TTL breve, per richiedere a CIS DNS un elenco aggiornato di indirizzi sani.
In modalità solo DNS, nessuna delle funzionalità di sicurezza, affidabilità e prestazioni di CIS viene applicata.
Flattening del CNAME del record root
La funzione di "appiattimento dei CNAME" di CIS consente ai record radice di aggirare la restrizione delle RFC IETF. Questa restrizione stabilisce che se un record radice è un CNAME, non può avere altri record per quel dominio. I server
autoritativi di CIS aggirano questa restrizione restituendo il A records corrispondente al CNAME di destinazione invece di restituire il CNAME stesso, nascondendo di fatto il CNAME. Questa tecnica consente di aggiungere al dominio
altri record, come i record MX, anche se il record radice è un CNAME.
DNS protetto
Il DNSSEC è una tecnologia che "firma" digitalmente i dati DNS, consentendo di avere la certezza della loro validità. Per eliminare le vulnerabilità da Internet, è necessario implementare il protocollo DNSSEC in ogni fase del processo
di ricerca, dalla zona radice al nome di dominio finale (ad esempio, www.icann.org).
Modifiche di record DNS in batch
CIS supporta le modifiche dei record DNS in batch, consentendo di aggiornare più record di zona in un'unica azione. Questo approccio riduce l'impegno manuale e semplifica le attività di gestione del dominio, come le migrazioni, la configurazione degli ambienti o i flussi di lavoro di automazione. Mentre la console CIS supporta le modifiche individuali, le operazioni in batch sono meglio eseguite utilizzando l'API.
L'endpoint API Batch DNS records consente di eseguire più DELETES, PATCHES, PUTS e POSTS in un'unica richiesta.
Le operazioni incluse nel corpo della richiesta /batch vengono sempre elaborate nel seguente ordine:
- Eliminazioni
- Patch
- Inserimenti
- Messaggi
All'interno di ogni tipo di operazione, le modifiche ai singoli record vengono applicate nell'ordine in cui vengono elaborate. Se una delle operazioni fallisce, non vengono applicate modifiche e l'API restituisce il primo errore che incontra.
Considerazioni chiave per i record DNS batch
Quando si specifica ogni operazione nel corpo della richiesta /batch, seguire le seguenti linee guida per i campi obbligatori e la gestione dei campi non specificati:
-
Deletes: Solo il campoidè richiesto per ogni oggetto record. È possibile includere campi aggiuntivi, comenameper chiarezza, ma tutti gli altri campi vengono ignorati. -
Patches: Oltre a ciascun recordid, specificare i campi che si desidera aggiornare. Tutti i campi non specificati rimangono invariati. -
Puts: Specificareid,content,nameetypedi ciascun record. Specificare anche gli altri campi che si desidera impostare su valori non predefiniti. I campi non specificati assumono il valore predefinito per ogni tipo di record. Questa operazione funziona come una sovrascrittura, quindi tutti i campi di un record sono sempre interessati. -
Posts: Utilizzato per creare nuovi record. Il campoidnon è obbligatorio. Per le definizioni dei campi, vedere l'endpoint Crea record DNS e selezionare il tipo di record appropriato dalle specifiche del corpo della richiesta.
Richiesta di esempio
In questo esempio, il campo proxy per il primo record elencato in puts assume il valore predefinito false.
{
"deletes": [
{
"id": "023e105f4ecef8ad9ca31a8372d0c353"
}
],
"patches": [
{
"id": "023e105f4ecef8ad9ca31a8372d0c353",
"comment": "Domain verification record",
"name": "example.com",
"proxied": true,
"settings": {},
"tags": [],
"ttl": 3600,
"content": "198.51.100.4",
"type": "A"
}
],
"posts": [
{
"comment": "Domain verification record",
"name": "example.com",
"proxied": true,
"settings": {},
"tags": [],
"ttl": 3600,
"content": "198.51.100.4",
"type": "A"
}
],
"puts": [
{
"id": "023e105f4ecef8ad9ca31a8372d0c353",
"comment": "Domain verification record",
"name": "example.com",
"proxied": true,
"settings": {},
"tags": [],
"ttl": 3600,
"content": "198.51.100.4",
"type": "A"
}
]
}