6.5. Utilisation de la redirection DNS


Vous pouvez utiliser la redirection DNS pour remplacer la configuration de la redirection par défaut dans le fichier /etc/resolv.conf de la manière suivante :

  • Spécifiez les serveurs de noms pour chaque zone. Si la zone transférée est le domaine Ingress géré par OpenShift Container Platform, le serveur de noms en amont doit être autorisé pour le domaine.
  • Fournir une liste de serveurs DNS en amont.
  • Modifier la politique de transfert par défaut.
Note

Une configuration de transfert DNS pour le domaine par défaut peut comporter à la fois les serveurs par défaut spécifiés dans le fichier /etc/resolv.conf et les serveurs DNS en amont.

Procédure

  1. Modifier l'objet Opérateur DNS nommé default:

    $ oc edit dns.operator/default

    Cela permet à l'opérateur de créer et de mettre à jour la carte de configuration nommée dns-default avec des blocs de configuration de serveur supplémentaires basés sur Server. Si aucun des serveurs ne dispose d'une zone correspondant à la requête, la résolution de noms revient aux serveurs DNS en amont.

    Configuration de la redirection DNS

    apiVersion: operator.openshift.io/v1
    kind: DNS
    metadata:
      name: default
    spec:
      servers:
      - name: example-server 1
        zones: 2
        - example.com
        forwardPlugin:
          policy: Random 3
          upstreams: 4
          - 1.1.1.1
          - 2.2.2.2:5353
      upstreamResolvers: 5
        policy: Random 6
        upstreams: 7
        - type: SystemResolvConf 8
        - type: Network
          address: 1.2.3.4 9
          port: 53 10

    1
    Doit être conforme à la syntaxe du nom de service rfc6335.
    2
    Doit être conforme à la définition d'un sous-domaine dans la syntaxe du nom de service rfc1123. Le domaine de cluster, cluster.local, n'est pas un sous-domaine valide pour le champ zones.
    3
    Définit la politique de sélection des résolveurs en amont. La valeur par défaut est Random. Vous pouvez également utiliser les valeurs RoundRobin, et Sequential.
    4
    Un maximum de 15 upstreams est autorisé par forwardPlugin.
    5
    Facultatif. Vous pouvez l'utiliser pour remplacer la stratégie par défaut et transmettre la résolution DNS aux résolveurs DNS spécifiés (résolveurs en amont) pour le domaine par défaut. Si vous ne fournissez pas de résolveurs en amont, les requêtes de nom DNS sont envoyées aux serveurs situés à l'adresse /etc/resolv.conf.
    6
    Détermine l'ordre dans lequel les serveurs en amont sont sélectionnés pour l'interrogation. Vous pouvez spécifier l'une de ces valeurs : Random RoundRobin , ou Sequential. La valeur par défaut est Sequential.
    7
    Facultatif. Vous pouvez l'utiliser pour fournir des résolveurs en amont.
    8
    Vous pouvez spécifier deux types de upstreams - SystemResolvConf et Network. SystemResolvConf configure l'amont pour utiliser /etc/resolv.conf et Network définit un Networkresolver. Vous pouvez spécifier l'un ou l'autre ou les deux.
    9
    Si le type spécifié est Network, vous devez fournir une adresse IP. Le champ address doit être une adresse IPv4 ou IPv6 valide.
    10
    Si le type spécifié est Network, vous pouvez éventuellement indiquer un port. Le champ port doit avoir une valeur comprise entre 1 et 65535. Si vous ne spécifiez pas de port pour l'amont, le port 853 est utilisé par défaut.

    Lorsque vous travaillez dans un environnement très réglementé, vous pouvez avoir besoin de sécuriser le trafic DNS lorsque vous transmettez des requêtes à des résolveurs en amont, afin de garantir un trafic DNS supplémentaire et la confidentialité des données. Les administrateurs de clusters peuvent configurer la sécurité de la couche transport (TLS) pour les requêtes DNS transmises.

    Configuration du transfert DNS avec TLS

    apiVersion: operator.openshift.io/v1
    kind: DNS
    metadata:
      name: default
    spec:
      servers:
      - name: example-server 1
        zones: 2
        - example.com
        forwardPlugin:
          transportConfig:
            transport: TLS 3
            tls:
              caBundle:
                name: mycacert
              serverName: dnstls.example.com  4
          policy: Random 5
          upstreams: 6
          - 1.1.1.1
          - 2.2.2.2:5353
      upstreamResolvers: 7
        transportConfig:
          transport: TLS
          tls:
            caBundle:
              name: mycacert
            serverName: dnstls.example.com
        upstreams:
        - type: Network 8
          address: 1.2.3.4 9
          port: 53 10

    1
    Doit être conforme à la syntaxe du nom de service rfc6335.
    2
    Doit être conforme à la définition d'un sous-domaine dans la syntaxe du nom de service rfc1123. Le domaine de cluster, cluster.local, n'est pas un sous-domaine valide pour le champ zones. Le domaine de cluster, cluster.local, est un subdomain non valide pour zones.
    3
    Lors de la configuration de TLS pour les requêtes DNS transférées, le champ transport doit avoir la valeur TLS. Par défaut, CoreDNS met en cache les connexions transférées pendant 10 secondes. CoreDNS maintiendra une connexion TCP ouverte pendant ces 10 secondes si aucune requête n'est émise. Dans le cas de clusters importants, assurez-vous que votre serveur DNS est conscient du fait qu'il pourrait recevoir de nombreuses nouvelles connexions à maintenir ouvertes, car vous pouvez initier une connexion par nœud. Configurez votre hiérarchie DNS en conséquence pour éviter les problèmes de performance.
    4
    Lors de la configuration de TLS pour les requêtes DNS transmises, il s'agit d'un nom de serveur obligatoire utilisé dans le cadre de l'indication du nom du serveur (SNI) pour valider le certificat du serveur TLS en amont.
    5
    Définit la politique de sélection des résolveurs en amont. La valeur par défaut est Random. Vous pouvez également utiliser les valeurs RoundRobin, et Sequential.
    6
    Il est obligatoire. Vous pouvez l'utiliser pour fournir des résolveurs en amont. Un maximum de 15 entrées upstreams est autorisé par entrée forwardPlugin.
    7
    Facultatif. Vous pouvez l'utiliser pour remplacer la stratégie par défaut et transmettre la résolution DNS aux résolveurs DNS spécifiés (résolveurs en amont) pour le domaine par défaut. Si vous ne fournissez pas de résolveurs en amont, les requêtes de nom DNS sont envoyées aux serveurs situés à l'adresse /etc/resolv.conf.
    8
    Network indique que ce résolveur en amont doit traiter les demandes transférées séparément des résolveurs en amont répertoriés dans /etc/resolv.conf. Seul le type Network est autorisé en cas d'utilisation de TLS et vous devez fournir une adresse IP.
    9
    Le champ address doit être une adresse IPv4 ou IPv6 valide.
    10
    Vous pouvez optionnellement fournir un port. La valeur de port doit être comprise entre 1 et 65535. Si vous ne spécifiez pas de port pour l'amont, le port 853 est utilisé par défaut.
    Note

    Si servers est indéfini ou invalide, la carte de configuration ne contient que le serveur par défaut.

  2. Afficher la carte de configuration :

    $ oc get configmap/dns-default -n openshift-dns -o yaml

    Exemple de ConfigMap DNS basé sur l'exemple précédent de DNS

    apiVersion: v1
    data:
      Corefile: |
        example.com:5353 {
            forward . 1.1.1.1 2.2.2.2:5353
        }
        bar.com:5353 example.com:5353 {
            forward . 3.3.3.3 4.4.4.4:5454 1
        }
        .:5353 {
            errors
            health
            kubernetes cluster.local in-addr.arpa ip6.arpa {
                pods insecure
                upstream
                fallthrough in-addr.arpa ip6.arpa
            }
            prometheus :9153
            forward . /etc/resolv.conf 1.2.3.4:53 {
                policy Random
            }
            cache 30
            reload
        }
    kind: ConfigMap
    metadata:
      labels:
        dns.operator.openshift.io/owning-dns: default
      name: dns-default
      namespace: openshift-dns

    1
    Les modifications apportées au site forwardPlugin déclenchent une mise à jour continue de l'ensemble des démons CoreDNS.

Ressources supplémentaires

Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.