Configuration du DNS

Etapes pour configurer le serveur DNS pour l'appliance IBM Fusion HCI. Elle s'applique à la fois à l'interface statique et à l'interface DHCP.

Avant de commencer

  • Assurez-vous que l'adresse VIP pour Ingress et API se trouve dans le même sous-réseau que la machine CIDR.
  • Pour IBM Fusion HCI avec IP statique, configurez le serveur DNS pour interdire nslookup sur la plage IP 169.253.0.0/24. Cette plage d'adresses IP appartient au réseau d'approvisionnement et le système DNS ne doit pas essayer de la résoudre. Sur le serveur nommé Linux, effectuez les changements de configuration suivants :
    1. Modifiez /etc/named.conf pour ajouter le contenu suivant :
      zone "253.169.in-addr.arpa" {
          type master;
          file "/var/named/db.blocked-253.169";
      };
      
    2. Créez le fichier de configuration de la zone /var/named/db.blocked-253.169 et ajoutez la configuration suivante :
      $TTL 86400
      @   IN  SOA localhost. root.localhost. (
              1        ; Serial
              3600     ; Refresh
              1800     ; Retry
              604800   ; Expire
              86400 )  ; Minimum
      
          IN  NS  localhost.
    3. Exécutez la commande suivante pour redémarrer le serveur nommé :
      sudo systemctl restart named
    4. Testez si le site nslookup sur la plage IP ne renvoie aucune réponse :
      nslookup 169.253.2.53 <DNS server IP>
      Sortie :
      ** Le serveur ne trouve pas 53.2.253.169.in-addr.arpa : NXDOMAIN

A propos de cette tâche

Les recherches en aval et en amont doivent correspondre pour s'assurer qu'il n'y a pas d'usurpation de réseau. Il s'agit d'un problème de sécurité où le nom d'hôte pointe vers une adresse IP incorrecte. Pour l'adresse MAC, l'installation IBM Fusion HCI a besoin d'IP statiques pour ses nœuds et chaque nœud a son propre nom d'hôte. Pour faciliter cette exigence, DHCP est configuré pour mapper l'adresse MAC avec une adresse IP et un nom d'hôte. Dans le service DNS, un mappage similaire est configuré entre l'adresse IP et le nom d'hôte et vice-verset.
Remarque: Les exemples de cette procédure sont basés sur Red Hat® Enterprise Linux. Si vous êtes sur Microsoft® Linux®, puis utilisez des commandes équivalentes.

Procédure

  1. Exécutez la commande suivante pour interrompre les mises à jour de toutes les zones dynamiques:
    rndc freeze
  2. Editez votre recherche directe (zonefile.db) dans le dossier /var/named/ :
    Remarque: la recherche ascendante renvoie l'adresse IP d'un nom d'hôte.
    Exemple de fichier de recherche aval:
    
    $TTL 1W
    @	IN	SOA	ns1.isf.mycompany.com.	root (
    			2021052608	; serial
    			3H		; refresh (3 hours)
    			30M		; retry (30 minutes)
    			2W		; expiry (2 weeks)
    			1W )		; minimum (1 week)
    	IN	NS	ns1.isf.mycompany.com.
    	IN	MX 10	smtp.isf.mycompany.com.
    ;
    ns1	    IN	A	10.9.20.17
    smtp	IN	A	10.9.20.17
    ;
    api		    IN	A	10.9.20.127
    ;
    ; Ingress LB (apps)
    *.apps		IN	A	10.9.20.128
    ;
    bootstrap   IN  A   10.0.20.135
    ;
    ; Create entries for the master nodes
    control-1-ru2	IN	A	10.9.20.129
    control-1-ru3	IN	A	10.9.20.130
    control-1-ru4	IN	A	10.9.20.131
    ;
    ; Create entries for the worker nodes
    compute-1-ru5	IN	A	10.9.20.132
    compute-1-ru6	IN	A	10.9.20.133
    compute-1-ru7	IN	A	10.9.20.134
    servicenode-1	IN	A	10.9.20.222
    ;
    ;
    ;EOF
    Note : Le servicenode-<rackid> est utilisé pour le nom d'hôte du servicenode et pour un seul rack, il est toujours égal à 1. Dans le cas d'un rack multiple, il dépend du numéro de rack utilisé pour le rack de base.
  3. Editez le fichier de recherche inversée (reverse.db) dans le dossier /var/named/reverse.db .

    La recherche inversée renvoie le nom d'hôte d'une adresse IP.

    Exemple de fichier de recherche inversée:

    
    $TTL 1W
    @	IN	SOA	ns1.isf.mycompany.com.	root (
    			2021052608	; serial
    			3H		; refresh (3 hours)
    			30M		; retry (30 minutes)
    			2W		; expiry (2 weeks)
    			1W )	; minimum (1 week)
    	IN	NS	ns1.isf.mycompany.com.
    ; gen2003 rack
    127	IN	PTR	api.isf.mycompany.com.
    135	IN	PTR	bootstrap.isf.mycompany.com.
    ;
    ; syntax is "last octet" and the host must have fqdn with trailing dot
    129	IN	PTR	control-1-ru2.isf.mycompany.com.
    130	IN	PTR	control-1-ru3.isf.mycompany.com.
    131	IN	PTR	control-1-ru4.isf.mycompany.com.
    132	IN	PTR	compute-1-ru5.isf.mycompany.com.
    133	IN	PTR	compute-1-ru6.isf.mycompany.com.
    134	IN	PTR	compute-1-ru7.isf.mycompany.com.
    222	IN	PTR	servicenode-1.isf.mycompany.com.
    ;

    Dans cet exemple, les adresses IP 10.9.20.127-222 pointant vers le nom de domaine complet correspondant.

    Note : Veillez à ce que le sous-domaine soit composé de caractères alphanumériques minuscules, de "-" ou de ", et commence et se termine par un caractère alphanumérique. Par exemple, example.com. L'expression rationnelle utilisée pour la validation est ' a-z0-9?( \.a-z0-9?)*')",
  4. Vérifiez que votre fichier named.conf dans le dossier /etc contient les détails de vos fichiers de recherche en aval et en amont.
    Exemple de fichier named.conf :
    [root@provisioner named]# cat /etc/named.conf
    
    options {
    	listen-on port 53 { any; };
    	listen-on-v6 port 53 { ::1; };
    	directory 	"/var/named";
    	dump-file 	"/var/named/data/cache_dump.db";
    	statistics-file "/var/named/data/named_stats.txt";
    	memstatistics-file "/var/named/data/named_mem_stats.txt";
    	allow-query     { any; };
        .......
        .......
    ###### Add what's between these comments ###########
    zone "isf.mycompany.com" IN {
    	type	master;
    	file	"zonefile.db";
    };
    zone "100.44.10.in-addr.arpa" IN {
    	type	master;
    	file	"reverse.db";
    };
    ########################################################
    include "/etc/named.rfc1912.zones";
    include "/etc/named.root.key";
  5. Sur le serveur DNS, exécutez les commandes suivantes pour ouvrir le port de pare-feu pour DNS:
    firewall-cmd --zone=public --add-service=dns --permanent
    firewall-cmd --reload
  6. Redémarrez le service DNS.
    sudo systemctl restart named.service