ddns

5
********************************** Le DDNS permet de faire cohabiter et faire fonctionner ensemble le service de résolution de nom bind et le service dhcp. Deux façons de faire sont décrites (ad-hoc et interim) et une troisième est en cours d'élaboration. La méthode ad-hoc n'est semble t-il plus supportée par les paquets. Le processus utilisé est défini par la variable ddns-updates-style. Si la mise à jour n'est pas dynamique, la variable prend la valeur none, nous, nous utiliserons interim. La méthode “ ad-hoc ” ne prend pas en charge le protocole failover des DHCP. C'est à dire qu'avec cette méthode vous ne pourrez pas avoir 2 serveurs DHCP assurant un système redondant et mettant à jour un même ensemble d'enregistrements DNS. Le serveur détermine le nom du client en regardant d'abord dans les options de configuration des noms (ddns-hostname). Il est possible de générer dynamiquement un nom pour le client en concaténant des chaînes “ dyn+N°+NomDeDomaine ”. S'il ne trouve rien, il regarde si le client lui a fait parvenir un nom d'hôte. Si aucun nom n'est obtenu, la mise à jour du DNS n'a pas lieu. our déterminer le nom FQDN, le serveur concatène le nom de domaine au nom d'hôte du client. Le nom du domaine lui, est défini uniquement sur le serveur DHCP. Actuellement le processus ne prend pas en charge les clients ayant plusieurs interfaces réseau mais cela est prévu. Le serveur met à jour le DNS avec un enregistrement de type A et un enregistrement de type PTR pour la zone reverse. Nous verrons qu'un enregistrement de type TXT est également généré. Quand un nouveau bail est alloué, le serveur crée un enregistrement de type TXT qui est une clé MD5 pour le client DHCP (DHCID). La méthode interim est le standard. Le client peut demander au serveur DHCP de mettre à jour le serveur DNS en lui passant ses propres paramètres (nom FQDN). Dans ce cas le serveur est configuré pour honorer ou pas la demande du client. Ceci se fait avec le paramètre ignore client-updates ou allow client-updates. Par exemple, si un client jschmoe.radish.org demande à être inscrit dans le domaine exemple.org et que le serveur DHCP est configuré pour, le serveur ajoutera un enregistrement PTR pour l'adresse IP mais pas d'enregistrement A. Si l'option ignore client-updates est configurée, il y aura un enregistrement de type A pour jschmoe.exemple.org. *******************************

Upload: bob-koyandondri

Post on 29-Sep-2015

216 views

Category:

Documents


1 download

DESCRIPTION

Dynamique DNS avec Debian

TRANSCRIPT

  • **********************************

    Le DDNS permet de faire cohabiter et faire fonctionner ensemble le service de rsolution de nom bind et le service dhcp.

    Deux faons de faire sont dcrites (ad-hoc et interim) et une troisime est en cours d'laboration. La mthode ad-hoc n'est semble t-il plus supporte par les paquets.

    Le processus utilis est dfini par la variable ddns-updates-style. Si la mise jour n'est pas dynamique, la variable prend la valeur none, nous, nous utiliserons interim.

    La mthode ad-hoc ne prend pas en charge le protocole failover des DHCP. C'est dire qu'avec cette mthode vous ne pourrez pas avoir 2 serveurs DHCP assurant un systme redondant et mettant jour un mme ensemble d'enregistrements DNS.

    Le serveur dtermine le nom du client en regardant d'abord dans les options de configuration des noms (ddns-hostname).

    Il est possible de gnrer dynamiquement un nom pour le client en concatnant des chanes dyn+N+NomDeDomaine .

    S'il ne trouve rien, il regarde si le client lui a fait parvenir un nom d'hte. Si aucun nom n'est obtenu, la mise jour du DNS n'a pas lieu.

    our dterminer le nom FQDN, le serveur concatne le nom de domaine au nom d'hte du client. Le nom du domaine lui, est dfini uniquement sur le serveur DHCP.

    Actuellement le processus ne prend pas en charge les clients ayant plusieurs interfaces rseau mais cela est prvu.

    Le serveur met jour le DNS avec un enregistrement de type A et un enregistrement de type PTR pour la zone reverse. Nous verrons qu'un enregistrement de type TXT est galement gnr.

    Quand un nouveau bail est allou, le serveur cre un enregistrement de type TXT qui est une cl MD5 pour le client DHCP (DHCID).

    La mthode interim est le standard. Le client peut demander au serveur DHCP de mettre jour le serveur DNS en lui passant ses propres paramtres (nom FQDN).

    Dans ce cas le serveur est configur pour honorer ou pas la demande du client. Ceci se fait avec le paramtre ignore client-updates ou allow client-updates.

    Par exemple, si un client jschmoe.radish.org demande tre inscrit dans le domaine exemple.org et que le serveur DHCP est configur pour, le serveur ajoutera un enregistrement PTR pour l'adresse IP mais pas d'enregistrement A.

    Si l'option ignore client-updates est configure, il y aura un enregistrement de type A pour jschmoe.exemple.org.

    *******************************

  • ***********************************

    Scurit :

    Le serveur DNS doit tre configur pour pouvoir tre mis jour par le serveur DHCP. La mthode la plus sre utilise les signatures TSIG, bases sur une cl partage comme pour le programme d'administration des serveurs de nom rndc.

    Par exemple dans le fichier named.conf, le serveur DHCP disposant de la cl DHCP_UPDATER, pourra mettre jour la zone directe et la zone reverse pour lesquelles la dclaration allow- update existe.

    Dans le fichier named.conf :

    key DHCP_UPDATER { algorithm HMAC-MD5.SIG-ALG.REG.INT; secret pRP5FapFoJ95JEL06sv4PQ==; }; zone "example.org" { type master; file "example.org.db"; allow-update { key DHCP_UPDATER; }; }; zone "17.10.10.in-addr.arpa" { type master; file "10.10.17.db"; allow-update { key DHCP_UPDATER; }; };

    Dans le fichier dhcpd.conf :

    key DHCP_UPDATER { algorithm HMAC-MD5.SIG-ALG.REG.INT; secret pRP5FapFoJ95JEL06sv4PQ==; }; zone EXAMPLE.ORG. { primary 127.0.0.1; # Adresse du serveur de noms primaire key DHCP_UPDATER; } zone 17.127.10.in-addr.arpa. { primary 127.0.0.1; # Adresse du serveur de noms primaire key DHCP_UPDATER; }

    La cl DHCP_UPDATER dclare pour une zone dans le fichier dhcpd.conf est utilise pour modifier la zone si la cl correspond dans le fichier named.conf.

    ***********************

  • **************

    Configurations : 1) Dans etc/bind

    Aller dans etc/bind et taper la commande ci-dessous :

    dns-keygen -a HMAC-MD5 -b 512 -n HOST dynamic-update-dns-key

    Cette commande permet de crer une cl de 512 bits avec l'algorithme de hachage HMAC-MD5

    Deux cls st automatiquement cres dans bind :

    Kdynamic-update-dns-key.+157+56551.key Kdynamic-update-dns-key.+157+56551.private

    On lit le .private : cat Kdynamic-update-dns-key.+157+56551.private

    Puis on copie la cl :sj/vlsApuUUOePCN8geyGVdUqvBAFIyAHHyD0VtSPOCUA9ZK9QTtGO5McnIUleVF+ekNUSrFkTrgGbElxfBQEQ==

    On va utiliser cette cl pour permettre la communication entre le serveur DHCP et le serveur DNS

    2) Dans named.conf.local

    On ajoute la cl :

    key dynamic-update-dns-key{ algorithm HMAC-MD5; secret "sj/vlsApuUUOePCN8geyGVdUqvBAFIyAHHyD0VtSPOCUA9ZK9QTtGO5McnIUleVF+ekNUSrFkTrgGbElxfBQEQ=="; };

    On modifie galement les zones inverse et directe afin qu'elles mettent jour les clients DNS

    zone "exemple.sn"{ type master; notify yes; allow-transfer{ 192.168.1.2; }; file"/etc/bind/db.exemple.sn"; allow-update{ key dynamic-update-dns-key; }; forwarders{}; };

  • zone "1.168.192.in-addr.arpa"{ type master; notify yes; allow-transfer{ 192.168.1.2; };

    3) Dans dhcpd.conf

    Remplacer 'none' par 'interim' et complter la ligne suivante :

    ddns-update-style interim; ddns-ttl 3600;

    Ajouter la cl :

    key dynamic-update-dns-key{ algorithm HMAC-MD5; secret "sj/vlsApuUUOePCN8geyGVdUqvBAFIyAHHyD0VtSPOCUA9ZK9QTtGO5McnIUleVF+ekNUSrFkTrgGbElxfBQEQ=="; };

    On prcise les zones qui seront concernes :

    zone 1.168.192.in-addr.arpa{ key dynamic-update-dns-key; primary 192.168.1.2; }

    zone exemple.sn{ key dynamic-update-dns-key; primary 192.168.1.2;

    }

    Donner le droit bind9 de mettre jour les enregistrements :

    Taper la commande : chown bind:root /etc/bind

    Redemarrer le serveur de noms : /etc/init.d/bind9 restart

    On configure le sous-rseau, la plage d'adresses attribuer, le nom de domaine, le nom du serveur DNS, le bail et le delai d'expiration :

    # A slightly different configuration for an internal subnet. subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.10 192.168.1.20; option domain-name-servers bob.exemple.sn;

  • option domain-name "exemple.sn"; option routers 192.168.1.1; option broadcast-address 192.168.1.255; default-lease-time 600; max-lease-time 7200;

    }

    Configurer le client linux : Premire mthodeAller dans dhclient.conf et dfinir le nom envoyer au serveurEditer le fichier etc/network/interfaces de l'user et remplacer static par dhcp

    Deuxime mthode

    Aller dans dhcpd.conf

    Insrer la ligne suivante :

    ddns-hostname=concat(''dhcp-exemple'',''-'',binary-to-ascii(10,8,''-'',leased-address)) ;

    Redemarrer le serveur dhcp : /etc:init.d/isc-dhcp-server restart

    Configurer le client windows :

    Activer le DHCP et cocher 'obtenir les adresses des serveurs DNS automatiquement