Comportement du DNS et logique de résolution

Le système de noms de domaine (DNS) est à la base du web. Il travaille de manière transparente en arrière-plan pour convertir les noms de sites web lisibles par l'homme en adresses IP numériques lisibles par l'ordinateur. Ces adresses respectent les directives RFC 1918 de l'Internet pour IPv4 et RFC 4193 pour IPv6. En résumé, les serveurs DNS associent les noms de domaine, tels que ibm.com, à leurs adresses IP correspondantes, que la plupart des gens n'ont jamais besoin de connaître.

Pour effectuer cette traduction, le système DNS interroge un réseau de serveurs DNS interconnectés sur l'internet. Ce processus est similaire à l'utilisation d'un annuaire téléphonique ou d'une carte pour trouver un lieu spécifique.

Serveurs de noms

Un serveur de noms fournit des services qui répondent aux requêtes d'un annuaire, en traduisant des noms de sites web ou des noms d'hôtes textuels et significatifs en adresses IP.

Il y a délégation de serveur de noms lorsque le serveur de noms d'un domaine reçoit une demande d'enregistrement d'un sous-domaine et répond en renvoyant le demandeur au serveur de noms délégué qui gère le sous-domaine. Ce processus permet une gestion décentralisée de grands domaines, tels que ibm.com.

Avec un serveur de noms de domaine personnalisé, vous pouvez utiliser les serveurs du fournisseur DNS en leur attribuant le nom de référence personnalisé de votre propre domaine. Par exemple, vous pouvez définir votre serveur de noms comme ns1.cloud.ibm.com au lieu de la valeur par défaut du fournisseur, ns1.acme.com.

Mise en proxy des enregistrements DNS et des équilibreurs de charge globaux

CIS prend en charge la mise en proxy pour les équilibreurs de charge globaux et les enregistrements DNS. Lorsqu'un serveur de base de données ou un équilibreur de charge est mis en proxy, son trafic transite directement par CIS.

Actuellement, le proxy peut être activé sur les enregistrements DNS avec les type A, AAAA ou CNAME. Pour plus d'informations, voir les types d'enregistrements DNS.

Définition des modes proxy

Les équilibreurs de charge et les enregistrements DNS prennent en charge les modes "DNS-only" et "HTTP Proxy". Vous pouvez avoir HTTP proxy et des domaines DNS uniquement dans la même instance de CIS, mais le comportement de routage du trafic diffère : le trafic pour les enregistrements qui sont mandatés passe par CIS, tandis que le trafic pour les enregistrements qui ne sont pas mandatés (mode DNS uniquement) passe directement du client à l'origine.

Mode "HTTP proxy"

En mode proxy d' HTTP, CIS rend publiques les adresses IP IBM vers l'extérieur, tout en protégeant (masquant) les adresses IP de vos serveurs d'origine. Les enregistrements d'adresse IP annoncés ont une durée de vie (TTL) "automatique". Le trafic transite par CIS, où toutes les fonctionnalités de sécurité, de performance et de fiabilité, telles que les règles de pare-feu et la mise en cache, sont mises en œuvre. Le TTL « automatique » (cinq minutes) réduit également le nombre de requêtes faisant autorité adressées à CIS.

Mode "DNS-only"

En mode DNS uniquement, les enregistrements sont résolus vers l'adresse IP d'origine, et vous pouvez personnaliser la durée de vie (TTL) de vos enregistrements. Pour les équilibreurs de charge globaux, CIS fournit directement les adresses des serveurs d'origine opérationnels, mais s'appuie sur les résolveurs DNS, qui respectent le TTL court, pour interroger à nouveau le DNS de CIS afin d'obtenir une liste mise à jour des adresses opérationnelles.

En mode DNS uniquement, aucune des fonctionnalités de sécurité, de fiabilité et de performance d' CIS n'est appliquée.

Mise à plat de CNAME pour enregistrement racine

La fonction "CNAME flattening" de CIS permet aux enregistrements racine de contourner la restriction RFC de l'IETF. Cette restriction stipule que si un enregistrement racine est de type CNAME, il ne peut pas exister d'autres enregistrements pour ce domaine. CIS Les serveurs faisant autorité contournent cette restriction en renvoyant l' A records correspondant à la cible du CNAME au lieu de renvoyer le CNAME lui-même, ce qui revient à masquer le CNAME. Cette technique permet d'ajouter d'autres enregistrements, tels que des enregistrements MX, au domaine, même si l'enregistrement racine est un CNAME.

DNS sécurisé

Le DNSSEC est une technologie qui « signe » numériquement les données DNS, ce qui vous permet de vous assurer de leur validité. Pour éliminer les vulnérabilités sur Internet, le protocole DNSSEC doit être déployé à chaque étape du processus de recherche, depuis la zone racine jusqu'au nom de domaine final (par exemple, www.icann.org).

Changements d'enregistrements DNS par lots

CIS prend en charge les modifications d'enregistrements DNS par lots, ce qui vous permet de mettre à jour plusieurs enregistrements de zone en une seule action. Cette approche réduit les efforts manuels et simplifie les tâches de gestion des domaines, telles que les migrations, les configurations d'environnement ou les flux de travail automatisés. Bien que la console CIS prenne en charge les modifications individuelles, il est préférable d'utiliser l'API pour les opérations par lots.

Le point de terminaison de l'API pour les enregistrements DNS par lots vous permet d'effectuer plusieurs requêtes DELETES, PATCHES, PUTS et POSTS en une seule fois.

Les opérations incluses dans le corps de la requête /batch sont toujours traitées dans l'ordre suivant :

  1. Suppressions
  2. Correctifs
  3. Commandes Put
  4. Articles

Dans chaque type d'opération, les modifications apportées aux enregistrements individuels sont appliquées dans l'ordre dans lequel elles sont traitées. Si l'une des opérations échoue, aucune modification n'est appliquée et l'API renvoie la première erreur qu'elle rencontre.

Considérations clés pour les enregistrements DNS par lots

Lorsque vous spécifiez chaque opération dans le corps de la requête /batch, suivez les directives suivantes concernant les champs obligatoires et la manière dont les champs non spécifiés sont traités :

  • Deletes: Seul le champ id est requis pour chaque objet d'enregistrement. Vous pouvez inclure des champs supplémentaires, tels que name pour plus de clarté, mais tous les autres champs sont ignorés.

  • Patches: Outre chaque enregistrement id, indiquez les champs que vous souhaitez mettre à jour. Tous les champs non précisés restent inchangés.

  • Puts: Indiquez les adresses id, content, name et type de chaque enregistrement. Indiquez également tous les autres champs auxquels vous souhaitez attribuer des valeurs autres que celles par défaut. Tout champ non spécifié prend la valeur par défaut pour chaque type d'enregistrement. Cette opération fonctionne comme un écrasement, de sorte que tous les champs d'un enregistrement sont toujours concernés.

  • Posts: Utilisé pour créer de nouveaux enregistrements. Le champ id n'est pas obligatoire. Pour la définition des champs, voir le point de terminaison Créer un enregistrement DNS et sélectionner le type d'enregistrement approprié dans la spécification du corps de la requête.

Exemple de demande

Dans cet exemple, le champ mandaté pour le premier enregistrement figurant dans la liste puts prend la valeur par défaut 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"
    }
  ]
}