Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 22/12/2014, à 11:48

riquet78

[Résolu]Mise à jour DNS(Bind) par DHCP(isc-dhcp-server)

Bonjour,
Je tente de mettre en place un server@home pour me familiariser avec l’environnement  Linux et obtenir une machine qui « serve » les besoins de la maison, où il y aura « quelques » clients dans les années à venir.
Mon problème actuel se situe sur la mise à jour du DNS par le DHCP.
J’utilise Bind9 pour le DNS et isc-dhcp-server pour le DHCP.

Après avoir bien galéré avec la configuration (syntaxe, génération des clés, aparmor et les journaux,…).
Je pensais y être parvenu, mais là je perds plus de temps à chercher ce qui se passe qu’à avancer.
J’ai écumé beaucoup de forums et de tuto mais je ne vois vraiment pas d’où vient le problème et je suis sur qu’il saute aux yeux d’un habitué.

Depuis que j’ai mis en place le DNS, lorsque qu’un client effectue une requête DHCP, j’ai ce genre d’erreur sans plus de détails :

Dec 22 09:50:30 ics dhcpd: DHCPREQUEST for 192.168.1.51 from 00:33:12:f8:07:ff via eth0
Dec 22 09:50:30 ics dhcpd: DHCPACK on 192.168.1.51 to 00:33:12:f8:07:ff via eth0
Dec 22 09:50:30 ics dhcpd: Unable to add forward map from machine1.home. to 192.168.1.51: SERVFAIL

Au démarrage de Bind, j’ai quelques anomalies mais sans plus de détails :

Dec 22 10:03:21 ics named[5398]: zone 1.168.192.in-addr.arpa/IN: journal rollforward failed: no more
Dec 22 10:03:21 ics named[5398]: zone 1.168.192.in-addr.arpa/IN: not loaded due to errors.
Dec 22 10:03:21 ics named[5398]: zone home/IN: journal rollforward failed: no more
Dec 22 10:03:21 ics named[5398]: zone home/IN: not loaded due to errors.
Dec 22 10:03:21 ics named[5398]: zone localhost/IN: loaded serial 2
Dec 22 10:03:21 ics named[5398]: all zones loaded

Voilà la confguration du dhcp :

ddns-update-style interim;
update-static-leases on;
option domain-name "home";
default-lease-time 86400;
max-lease-time 604800;
authoritative;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.1;
option domain-name-servers 192.168.1.1 ,192.168.0.254, 212.27.40.240, 212.27.40.241, 8.8.8.8;
option netbios-name-servers 192.168.1.1;
log-facility local7;
subnet 192.168.1.0 netmask 255.255.255.0 {
        range 192.168.1.150 192.168.1.199;
}
group {
  ddns-domainname "home.";
  ddns-updates on;
  ddns-rev-domainname "in-addr.arpa.";
  option domain-name "home";
  host machine1 {
        hardware ethernet 00:33:12:f8:07:ff;
        fixed-address 192.168.1.51;
        ddns-hostname "machine1";
        option host-name "machine1";
  }
  #... et la déclaration de toutes les machines statiques du réseau (nas, raspberryp,…)
}
key dhcp-update-key {
        algorithm hmac-md5;
        secret "<chut !>";
}
zone 1.168.192.in-addr.arpa {
        primary 192.168.1.1;
        key dhcp-update-key;
}
zone home {
        primary 192.168.1.1;
        key dhcp-update-key;
}

La configuration locale de Bind :

key dhcp-update-key {
  algorithm hmac-md5;
  secret "<chut !>";
};
zone "home"  IN {
  type master;
  file "/etc/bind/home.db";
  allow-update { key dhcp-update-key; };
};
zone "1.168.192.in-addr.arpa" {
  type master;
  file "/etc/bind/home-reverse.db";
  allow-update { key dhcp-update-key; };
};

La configuration des options de Bind :

include "/etc/bind/rndc.key";
controls {
        inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { rndc-key; };
};

options {
        directory "/var/cache/bind";
        forwarders {
                212.27.40.240;
                212.27.40.241;
        };
        dnssec-validation auto;
        auth-nxdomain no;    # conform to RFC1035
        listen-on-v6 { any; };
};

La configuration DNS (home.db)

$ORIGIN home.
$TTL 86400
@       IN      SOA     ics.home. hostmaster.home. (
        2014122201      ; A incrementer à chaque modif avant redemarrage bind
        10800           ; Refresh
        3600            ; Retry
        604800          ; Expire
        38400           ; Minimum
        )
;DNS Servers
@       IN      NS      ics.home.
;Machine names
localhost       IN      A       127.0.0.1
ics             IN      A       192.168.1.1

La configuration DNS reverse (home-reverse.db)

$ORIGIN 1.168.192.in-addr.arpa.
$TTL    86400
@       IN      SOA     ics.home. hostmaster.home. (
        2014122201      ; Serial
        10800           ; Refresh
        3600            ; Retry
        604800          ; Expire
        86400           ; Minimum
)
;DNS Servers
@       IN      NS      ics.home.
;Hosts
1       IN      PTR     ics.home.

Vous savez à peu près tout sur la configuration.
Je peux vous envoyer d’autres éléments si nécessaire.
Ce qui est sur, c’est que la configuration d’un DNS n’est pas forcément à la portée d’un débutant Linux smile
Si vous pouviez me guider vers la résolution de ce problème cela serait sympa.
Cordialement,

Dernière modification par riquet78 (Le 22/12/2014, à 14:45)

Hors ligne

#2 Le 22/12/2014, à 12:02

jplemoine

Re : [Résolu]Mise à jour DNS(Bind) par DHCP(isc-dhcp-server)

Après une recherche rapide, regardes les paragraphes 5.6 et 5.7 de cette page.
Ça doit permettre de réinitialiser bind : on sait jamais...


Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.

Hors ligne

#3 Le 22/12/2014, à 13:09

riquet78

Re : [Résolu]Mise à jour DNS(Bind) par DHCP(isc-dhcp-server)

Génial !
Je savais que cela n'était pas grand chose...
Si çà peut aider d'autres personnes :
Il suffit d'arrêter Bind, de supprimer les fichier .jnl, et de redémarrer bind.

En fait je pense que cela vient du fait que j'ai créé les fichiers .db.jnl à la main suite aux soucis avec les permissions et appArmor.
J'y ai repensé car au re-démarrage de bind après avoir supprimé les journaux, j'ai eu encore une erreur d'accès au fichiers journaux!
J'ai donc fait chown sur le dossier /etc/bind/ puis rédémarré le service, et là miracle tout marche big_smile

Un grand merci à Jean-Philippe.

Hors ligne

#4 Le 22/12/2014, à 13:15

riquet78

Re : [Résolu]Mise à jour DNS(Bind) par DHCP(isc-dhcp-server)

Petite question subsidiaire qui est lié au DNS, mais par forcément au problème.

Pourquoi sur les machines Linux je suis obligé de mettre le suffixe .home pour faire un ping, et pas sur les machines windows ?
Sous Linux :
   ping machine1.home -> OK
   ping machine1 -> Unknow host ?
Sous Windows :
   ping machine1.home -> OK
   ping machine1 -> OK

Est-ce un problème de configuration des zones ou c'est réellement comme çà sous linux ?

Hors ligne

#5 Le 22/12/2014, à 13:35

jplemoine

Re : [Résolu]Mise à jour DNS(Bind) par DHCP(isc-dhcp-server)

Je pense que c'est parce que sous windows, home est le domaine par défaut.
Sous linux, on peut le mettre dans les options du dhcp...
dans /etc/dhcp, fichier dhcpd.conf
dans les options générales :

ddns-update-style interim;
ddns-domainname "home.";
ddns-rev-domainname "in-addr.arpa.";
ddns-updates on;

si tu as des adresses statiques, ajouter

option domain-name "home";

dans les options


Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.

Hors ligne

#6 Le 22/12/2014, à 14:41

riquet78

Re : [Résolu]Mise à jour DNS(Bind) par DHCP(isc-dhcp-server)

C'est plus ou moins ce qui était configuré à la base (cf dhcp.conf ci dessus au niveau du "group")

J'ai refait plusieurs essais, en remontant notamment les ddsn- au niveau global, et option-domain au niveau group puis host.
Mais rien n'y change...

Les utilisateurs linux penseront à ajouter le suffixe de domaine tongue

Encore une fois merci pour déblocage Bind !

Hors ligne

#7 Le 22/12/2014, à 14:56

jplemoine

Re : [Résolu]Mise à jour DNS(Bind) par DHCP(isc-dhcp-server)

Je sais que j'avais eu le même problème mais que maintenant ça fonctionne : j'ai dû faire quelque chose mais je ne souviens pas quoi.
Dans /etc/dhcp/dhcpd.conf, j'ai aussi

# option definitions common to all supported networks...
option domain-name "home";
option domain-name-servers 192.168.1.25,192.168.1.1;

La seule autre différence, c'est que mon domaine virtuel s'appelle bachellerie.lan et non pas home (j'ai fait le remplacement dans les lignes que j'ai posté).
Mais je te confirme qu'avec mes clients linux, il n'est pas nécessaire (sans rien modifier coté client) de mettre le nom du domaine.

ping -c4 toto

(si toto est le nom de la machine) fonctionne.


Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.

Hors ligne

#8 Le 22/12/2014, à 15:04

jplemoine

Re : [Résolu]Mise à jour DNS(Bind) par DHCP(isc-dhcp-server)

ignore client-updates;      # Overwrite client configured FQHNs
update-static-leases on;
ddns-domainname "bachellerie.lan.";
ddns-rev-domainname "in-addr.arpa.";
ddns-updates on;
allow unknown-clients;
update-conflict-detection false;

Je viens de comparer ce que tu avais listé au début et ce que j'ai : il y a un peu plus de lignes chez moi : je te les met telle quelle car je dois m'absenter sans savoir si je pourrais me reconnecter dans le courant de l'après-midi.


Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.

Hors ligne