Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ceci est une ancienne révision du document !
- Pour choisir, voir les autres Tags possibles dans l'Atelier.
DNS permet une correspondance entre nom d'hôte (FQDN) et adresse IP.
Principe de hiérarchie :
Le point après com
est sous-entendu pour l'utilisation du côté client, mais pas dans la configuration du DNS.
Tout cela compose le FQDN (fool domaine name).
Un client souhaite savoir à quel adresse IP correspond www.toto.com.
Dans l'ordi de ce client on a configuré un ou plusieurs DNS dans le fichier /etc/resolve.conf dans lequel est indiqué l'adresse IP de serveur local Bind comme server de référence.
Cette ordi a donc l'adresse IP d'un DNS est lui pose la question “donne moi l'IP de www.toto.com.
Si le server sait répondre il lui donne l'IP, s'il ne sait pas il va interroger les serveurs DNS au dessus de lui, TLD, Racine…
Quand il a l'adresse, il répond au client qui peut joindre l'ordi de toto.com
Donc les serveur qui font autorité sur un domaine sont, soit des serveurs primaires, soit des serveurs secondaires s'ils ont une copie de ces informations.
bind : Berkeley Internet Name Daemon
Version 9 : stable, sécurisée est celle dont il s'agit .
(Version 10 depuis 2013 intègre le DHCP.)
Le programme qui lance le server.
rndc est un utilitaire de contrôle.
rndc |b source-adress] [-c config-file] [k key-file] [-s serveur] [-p port] [-V] [-y key-id] {commande}
→ commandes :
reload
: pour recharger
stop
: arrêter le serveur
flush
: vider le cache
status
: afficher l'état du serveur
aucune : liste des commandes utilisables
C'est le fichier de configuration centrale de bind.
Il peut se trouver dans différents dossiers (sécurité, chroot) par exemple dans /etc/named.conf ou /etc/
On peut externaliser certaines points de configuration de ce fichier central dans des fichiers;
/etc/bind/named.conf.local
/etc/bind/named.conf.options
Ils 'agit d'un init script qui permet de redémarrer bind :
/etc/init.d/bind9 restart
Il s'agit d'un répertoire de travail.
(named.conf, named.conf.local, named.conf.options, etc.)
On donne une “intruction” (statements)
mot-clé { ... };
Par exemple dans /etc/bind/named.conf :
include "/etc/bind/name.conf.options"; include "/etc/bind/name.conf.local"; include "/etc/bind/name.conf.default-zones"; include "/etc/bind/name.conf.example-zones";
Souvent dans le fichier “named.conf.options.
Dans l'instruction “option” du fichier named.conf.options, on peut donner les instructions suivantes:
Options | significations | exemples |
---|---|---|
directory | répertoire de travail | directory ”/var/named”; |
forwarders | serveurs de référence (aucun par défaut) | forwarders { adresses.IP.de.serveurs.de.référence; } (sinon il interroge récursivement les autres serveurs DNS) |
forward | comportement avec les forwarders (first : en prorité only : uniquement) | forward only ; |
version | version du serveur à afficher quand le serveur est interrogé | version none ; |
Permet de définir les paramètres généraux d'une zone.
zone "nom-de-notre-zone" { type master; file "/etc/bind/db.xxx"; }
Il s'agit d'un serveur qui ne fera autorité que sur le réseau local et non sur aucune autre zone.
Il va s'occuper d'aller chercher les infos sur des forwarders ou des serveurs racine … et de les stoker dans son cache.
Se rendre sur le site de son FAI, et associer l'adresse mac du serveur à l'IP dans les BAUX/DHCP.
vim /etc/hostname
debian-serveur.mondomaine.hyp
/etc/init.d/hostname.sh start
vim /etc/host.conf
order hosts, bind multi on
vim /etc/hosts
127.0.0.1 localhost.localdomain localhost 192.168.0.14 serveur-debian.mondomaine.hyp serveur-debian 192.168.0.22 debian.mondomaine.hyp debian 192.168.0.1 gateway.modomaine.hyp gateway # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters
If faut déclarer un nom de domaine dans /etc/resolv.conf.
Au passage on peut indiquer d'autre DNS extérieurs que ceux du FAI.
Il faut pour que la nouvelle configuration du fichier /etc/resolv.conf ne soit par effacer lors d'un redémarrage, par networmanager créer un script.
apt-get remove --purge network-manager-gnome netwok-manager
On peut soit éditer le fichier /etc/resolv.conf, mais comme le script suivant est nécessaire pour ne pas être embêté par networmanager, on va modifier le fichier avec le script.
cd /etc/NetworkManager/
touch /etc/NetworkManager/dispatcher.d/99-dns
vim /etc/NetworkManager/dispatcher.d/99-dns
#!/bin/sh echo "domain mondomaine.hyp" > /etc/resolv.conf echo "search mondomaine.hyp" >> /etc/resolv.conf echo "nameserver 127.0.0.1" >> /etc/resolv.conf echo "nameserver 8.8.8.8" >> /etc/resolv.conf echo "nameserver 8.8.4.4" >> /etc/resolv.conf
Adapter le contenu à la configuration
chmod 755 /etc/NetworkManager/dispatcher.d/99-dns
bash /etc/NetworkManager/dispatcher.d/99-dns
less /etc/resolv.conf
domain mondomaine.hyp search mondomaine.hyp nameserver 127.0.0.1 nameserver 8.8.8.8 nameserver 8.8.4.4
/etc/init.d/networking start
apt-get update apt-get
apt-get install bind9
named-checkzone webadonf.lan /etc/bind/db.webadonf.lan
named-checkzone webadonf.lan /etc/bind/db.webadonf.lan.inv
named-checkconf /etc/bind/named.conf
named-checkconf /etc/bind/named.conf.options
tail -30 /var/log/syslog
cd /etc/bind/ && ls
bind.keys db.127 db.empty db.root named.conf.default-zones named.conf.options zones.rfc1918 db.0 db.255 db.local named.conf named.conf.local rndc.key
Prendre le fichier /etc/bind/db.local pour modèle.
cp /etc/bind/db.local /etc/bind/db.mondomaine.hyp
Éditer “/etc/bind/db.mondomaine.hyp” :
vim /etc/bind/db.mondomaine.hyp
; ; BIND data file for local loopback interface ; $TTL 604800 @ IN SOA debian-serveur.mondomaine.hyp. root.mondomaine.hyp. ( 2 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS debian-serveur.mondomaine.hyp. debian-serveur IN A 192.168.0.14
Prendre pour modèle /etc/bind/db.127
cp /etc/bind/db.127 /etc/bind/db.192
Éditer “/etc/bind/db.192” :
vim /etc/bind/db.192
; ; BIND reverse data file for eth0 interface ; $TTL 604800 @ IN SOA debian-serveur.mondomaine.hyp. root.mondomaine.hyp. ( 1 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS debian-serveur. 14 IN PTR debian-serveur.mondomaine.hyp.
vim /etc/bind/named.conf.local
// // Do any local configuration here // // Consider adding the 1918 zones here, if they are not used in your // organization //include "/etc/bind/zones.rfc1918"; zone "mondomaine.hyp" { type master; file "/etc/bind/db.mondomaine.hyp"; }; zone "0.168.192.in-addr.arpa" { type master; file "/etc/bind/db.192"; };
vim /etc/bind/named.conf.options
options { directory "/var/cache/bind"; // If there is a firewall between you and nameservers you want // to talk to, you may need to fix the firewall to allow multiple // ports to talk. See http://www.kb.cert.org/vuls/id/800113 // If your ISP provided one or more IP addresses for stable // nameservers, you probably want to use them as forwarders. // Uncomment the following block, and insert the addresses replacing // the all-0's placeholder. forwarders { 192.168.0.1; 8.8.8.8; 8.8.4.4; // 212.27.40.240; // 212.27.40.241; }; //======================================================================== // If BIND logs error messages about the root key being expired, // you will need to update your keys. See https://www.isc.org/bind-keys //======================================================================== dnssec-validation auto; auth-nxdomain no; # conform to RFC1035 version none; forward only; // listen-on-v6 { any; }; };
On peut mettre les forwarders qu'on souhaite, par exemple ici ceux de google ou/et ceux de “boxmachin”, fournisseur adsl.
service bind9 restart
ou
/etc/init.d/bind9 restart
[....] Stopping domain name service...: bind9rndc: connect failed: 127.0.0.1#953: connection refused . ok [ ok ] Starting domain name service...: bind9.
Pour avoir le nom complet :
hostname
debian-serveur.mondomaine.hyp
nslookup
> debian-serveur.mondomaine.hyp Server: 127.0.0.1 Address: 127.0.0.1#53 Name: debian-serveur.mondomaine.hyp Address: 192.168.0.14 > exit
nslookup
> 192.168.0.14 Server: 127.0.0.1 Address: 127.0.0.1#53 14.0.168.192.in-addr.arpa name = debian-serveur.mondomaine.hyp. > exit
Il répond aux deux, donc tout va bien !
dig debian-serveur
dig mondomaine.hyp
/code>dig -x @192.168.0.14
vim /etc/bind/db.mondomaine.hyp
; ; BIND data file for local loopback interface ; $TTL 604800 @ IN SOA debian-serveur.mondomaine.hyp. root.mondomaine.hyp. ( 2 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS debian-serveur.mondomaine.hyp. debian-serveur IN A 192.168.0.14 debian-client1 IN A 192.168.0.22
Et pour la réserve inverse :
vim /etc/bind/db.192
; ; BIND reverse data file for eth0 interface ; $TTL 604800 @ IN SOA debian-serveur.mondomaine.hyp. root.mondomaine.hyp. ( 1 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS debian-serveur. 14 IN PTR debian-serveur.mondomaine.hyp. 22 IN PTR debian-client1.
On recharge bind :
/etc/init.d/bind9 restart
nslookup
> debian-client1 Server: 127.0.0.1 Address: 127.0.0.1#53 Name: debian-client1.mondomaine.hyp Address: 192.168.0.22 > 192.168.0.22 Server: 127.0.0.1 Address: 127.0.0.1#53 22.0.168.192.in-addr.arpa name = debian-client1. > exit
Installer le script pour networkmanager networkmanager avant tout.
/etc/init.d/networking start