introduction#
les deux premiers tp portaient sur l’installation d’une infrastructure dns avec bind9
je n’ai pas fait les notions “transversales” : gestion des logs & les acl
pour nous le qcm sur bind9, dovecot, postfix sera le 18 ou le 19 octobre, sur des notions de cours, td, tp
pas de points négatifs, pas de choix multiples -> une seule réponse possible
explications#
j’utilise 3 vm debian 12 : r303-deb12-host1
, r303-deb12-bind1
& r303-deb12-bind2
le réseau local des vm est le 192.168.122.0/24
avec leur passerelle par défaut en 192.168.122.1
.2] bind1[r303-deb12-bind1
.3] srv-bind(Service Bind9) srv-bind2(Service Bind9) bind2[r303-deb12-bind2
.4] gw{NAT
.1} end wan{WAN} wan --- gw gw --- host1 & bind1 gw --- bind2 bind1 -.- srv-bind bind2 -.- srv-bind2
j’utilise debian par habitude, mr. le prof veut nous faire accèder en ssh à ces vm pour ne pas utiliser l’environnement de bureau des ubuntu
configuration initiale#
pour éviter d’avoir root@debian
sur toutes les vm en ssh, je change leur hostname
pour avoir root@serveur-bind-1
par exemple
lors des manipulations en terminal, ça évite de se tromper entre qui est qui & de rentrer une commande sur la mauvaise vm
hostnamectl set-hostname nouveau_hostname && logout
je change aussi les ip des vm de manière statique dans /etc/network/interfaces
nano /etc/network/interfaces
je supprime la ligne indiquant de se référer au dhcp (si elle existe): inet iface enp1s0 dhcp
&& je rajoute cette configuration selon l’interface, ici enp1s0
où X
est le dernier octet de l’adresse des vm configurées sur le schéma
|
|
pour me simplifier la connexion en ssh, j’autorise l’accès au compte root
sur les vm - désactivé par défaut par sécurité
en éditant le fichier /etc/ssh/sshd_config
nano /etc/ssh/sshd_config
en décommentant & changeant la valeur de cette variable
|
|
je redémarre le daemon ssh pour prendre la modification en compte
systemctl restart sshd
je change aussi le mot de passe du compte root des vm
passwd root
pour ne pas trop réflechir avec des ip - je le fais mais une erreur d’inattention dans une ip & j’y suis pour 4h de deboggage…
sur la machine qui va accèder en ssh aux vm, je crée des alias pour juste rentrer ssh bind
& arriver sur la vm bind par exemple - j’essaye d’être “fénéant intelligemment” :smile:
nano ~/.ssh/config
avec la configuration suivante
|
|
après ça je peux juste faire ssh host1
qui sera l’équivalent de ssh root@192.168.122.2
conf. serveur bind1#
j’utiliserai le nom de domaine adehu.com
j’accède au shell du serveur bind
ssh bind1
j’installe les paquets nécessaires
apt install -y dbus bind9* dnsutils
avant de débuter:
une zone inverse
: on demande au serveur dns -> pour cette adresse ip, tu as quel domaine?
ce qui est l’inverse de -> j’ai ce nom de domaine, donne-moi son ip associée
dans la zone inverse, il faut mettre les mêmes enregistrements que ceux dans adehu.com, mais à l’envers (vous allez comprendre)
je définis aussi que ce serveur dns (bind1) est le serveur principal pour ces zones dns
dans le fichier de gestion des zones /etc/bind/named.conf
, sera définit la zone dns & sa zone inverse
même si la bonne pratique voudrait qu’il inclut un fichier de configuration pour chaque zone…
nano /etc/bind/named.conf
contenant la configuration suivante
|
|
on fait référence à des fichiers qui seront la configuration de ces zones
type master
: ce dns est le serveur dns principal de cette zone
pour vérifier la syntaxe du fichier après l’enregistrement
named-checkconf /etc/bind/named.conf
le serveur bind1 sait maintenant qu’il doit se référer au fichier de configuration /etc/bind/adehu.com
pour la gestion de la zone adehu.com
qu’il gère
configuration de la zone dns adehu.com
nano /etc/bind/adehu.com
|
|
la directive $ORIGIN
est là pour indiquer le domaine si un hôte est pas totalement défini
@ IN SOA
pour accorder qui a l’autorité sur cette zone (ici bind1) avec sa config.
IN NS
pour faire le record d’un serveur dns (pour cette zone il y a deux serveurs dns)
je rajoute un . à la fin des fqdn pour indiquer leur fin (sinon ils répètent leur domain.tld)
guest.adehu.com. IN NS r303-deb12-bind2
définit un sous domaine & le délègue à bind2 -> si tu veux aller sur le sous-domaine guest.adehu.com
, va contacter ce serveur dns
par contre, sur le deuxième serveur dns (bind2), il faudra lui indiquer qu’il gère cette zone (guest.adehu.com
)
IN A
record pour définir les adresses ip des machines qu’on renseigne (A pour ipv4, AAAA pour ipv6)
IN CNAME
les serveurs bind seront accessibles via bindX.adehu.com
où X
leur nombre
les valeurs chiffrées je ne les ai pas sorti de mon chapeau mais de ce tableau d’équivalence (secondes -> instances de temps)
secondes | instances de temps |
---|---|
60 | 1 min |
1800 | 30 min |
3600 | 1 heure |
10800 | 3 heures |
21600 | 6 heures |
43200 | 12 heures |
86400 | 1 jour |
259200 | 3 jours |
604800 | 1 semaine |
pour la zone inverse
nano /etc/bind/adehu.com.inverse
|
|
IN PTR
le nombre au début = dernier octet de l’ip voulue, on enregistre un pointeur (ptr) vers tel machine
vérification de la syntaxe
named-checkzone adehu.com /etc/bind/adehu.com
named-checkzone adehu.com.inverse /etc/bind/adehu.com.inverse
redémarrage du service bind9 pour prendre en compte les modifications
systemctl restart bind9
/etc/resolv.conf
de la machine host1
l’ip du serveur bind1 pour l’avoir en tant que serveur dnsnano /etc/resolv.conf
|
|
vérification de l’installation
tous les tests en dessous fonctionnent
# pour tester un domaine: dig domain.tld
dig adehu.com
# connaitre les serveurs dns gérant un domaine: dig NS domain.tld
dig NS adehu.com
# résoudre un nom: dig sub-domain.domain.tld
dig bind1.adehu.com
dig bind2.adehu.com
# tester la zone inverse: nslookup ip-machine-a-joindre
# ou dig -x
nslookup 192.168.122.3
nslookup 192.168.122.4
cependant, je n’ai pas testé le sous-domaine guest.adehu.com
car pas encore configuré sur le serveur bind2
deuxième serveur bind#
je vais partager la gestion de la zone adehu.com
au deuxième serveur dns r303-deb12-bind2
, le serveur bind1 sera le serveur dns primaire (master) & bind2 le secondaire (secondary)
j’autorise alors le transfert de la zone adehu.com
vers le serveur bind2 r303-deb12-bind2
par en renseignant son ip
nano /etc/bind/named.conf
1// This is the primary configuration file for the BIND DNS server named.
2//
3// Please read /usr/share/doc/bind9/README.Debian for information on the
4// structure of BIND configuration files in Debian, *BEFORE* you customize
5// this configuration file.
6//
7// If you are just adding zones, please do that in /etc/bind/named.conf.local
8
9include "/etc/bind/named.conf.options";
10include "/etc/bind/named.conf.local";
11include "/etc/bind/named.conf.default-zones";
12
13zone "adehu.com" IN {
14 type master;
15 file "/etc/bind/adehu.com";
16 allow-transfer { 192.168.122.4; };
17};
18
19zone "122.168.192.in-addr.arpa" {
20 type master;
21 file "/etc/bind/adehu.com.inverse";
22 allow-transfer { 192.168.122.4; };
23};
redémarrage du service bind9
systemctl restart bind9
de l’autre côté, je dois informer au serveur bind2 qu’il a cette zone, avec r303-deb12-bind1
en serveur dns maitre
side note: si une modification est faite sur la zone sur le serveur bind1, elle sera répliquée sur le serveur bind2
j’ajoute aussi le sous domaine qu’il lui a été attribué (guest.adehu.com
) -> délégation de zone, où il sera le dns primaire
nano /etc/bind/named.conf
1// This is the primary configuration file for the BIND DNS server named.
2//
3// Please read /usr/share/doc/bind9/README.Debian for information on the
4// structure of BIND configuration files in Debian, *BEFORE* you customize
5// this configuration file.
6//
7// If you are just adding zones, please do that in /etc/bind/named.conf.local
8
9include "/etc/bind/named.conf.options";
10include "/etc/bind/named.conf.local";
11include "/etc/bind/named.conf.default-zones";
12
13zone "adehu.com" IN {
14 type slave;
15 file "/etc/bind/adehu.com";
16 masters { 192.168.122.3; };
17};
18
19zone "122.168.192.in-addr.arpa" {
20 type slave;
21 file "/etc/bind/adehu.com.inverse";
22 masters { 192.168.122.3; };
23
24zone "guest.adehu.com" IN {
25 type master;
26 file "/etc/bind/guest.adehu.com";
27};
on lui renseigne les zones
à commencer par adehu.com
nano /etc/bind/adehu.com
même configuration qud bind1
|
|
y compris la zone inverse
nano /etc/bind/adehu.com.inverse
même configuration que bind1
|
|
vu qu’un sous-domaine a été délégué, il faut définir sa zone
nano /etc/bind/guest.adehu.com
|
|
application des modifications
named-checkzone adehu.com /etc/bind/adehu.com
named-checkzone adehu.com.inverse /etc/bind/adehu.com.inverse
systemctl restart bind9
pour tester le serveur bind2 depuis la machine host1
nslookup adehu.com 192.168.122.4
nslookup guest.adehu.com 192.168.122.4