DNS

installation
sudo apt-get install bind9





sudo nano named.conf
zone "<nom de la zone>" { }: permet de définir une zone
type master; indique si vous êtes master ou slave sur la zone, c'est-à-dire si c'est vous qui effectuez les mises à jour (master) ou si vous les recevez d'un autre serveur (slave).
file "/etc/bind/db.reseau.fr"; indique le fichier dans lequel sera configurée votre zone. file "/etc/bind/db.reseau.fr";
allow-transfer { 192.168.0.2; }; allow-transfer { 192.168.0.2; };
exemple zone "domotrix.fr" {
type master;
file "/etc/bind/db.domotrix.fr";
allow-transfer { 192.168.0.2; };
};
vérifier la configuration named-checkconf /etc/bind/named.conf
vérifier une zone named-checkzone domotrix.fr /etc/bind/zones/db.domotrix.fr





fichier de domaine (cp /etc/bind/db.local /etc/bind/db.reseau.fr)
TTL 604800 ; 1 semaine time to leave le temps pendant lequel le client auras l'information
$ORIGIN reseau.fr. défini la variable @
lenregistrement soa @ IN SOA user.domaine. admin.domaine. (
2020082203 ; Serial
86400 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ; Negative Cache TTL
);
serial peut être comparé à un numéro de version de votre zone. Il doit être incrémenté à chaque modification. Cela indique à votre serveur que votre zone a été mise à jour et qu'il faut envoyer la notification à vos serveurs esclaves. Les best practices recommandent une syntaxe particulière pour le serial de la forme AAAAMMJJXX (où XX est la version du jour en question). Cela vous permet entre autres de savoir la date de la dernière mise à jour de votre zone.
Refresh est le temps au bout duquel les enregistrements sont stockés sur le serveur slave. Passer ce délai, le serveur slave demandera une nouvelle mise à jour au serveur master.
Retry est le temps qu'attendra le serveur slave dans le cas où le serveur master contacté n'est pas joignable pour faire un nouvel essai.
Expire est le temps pendant lequel le serveur slave continuera à essayer de contacter le serveur master.
Minimum est la durée minimale du cache ; elle est en général égale à Refresh.
named-checkconf -z permet de checker toutes les configurations
contruction d'un enregistrement
l'hôte de votre domaine la classe de l'enregistrement INternetle type d'enregistrementla valeur de l'enregistrement dépendant du type
@ ou domaine.fr.INvoir plus basUn type A attendra une adresse IP





Troubleshooting
host -t MX ndd.com pour vérifier la bonne configuration mail





les enregistrement dns
enregistrementcode IANARFCstatutsignificationfonctions
A 1 RFC 1035 actif Address IPV4 Renvoie une ou plusieurs adresse(s) IPv4 pour un nom de host donné.
AAAA 28 RFC 3596 actif Adresse IPv6 Renvoie une ou plusieurs adresse(s) IPv6 pour un nom de domaine donné.
NS 2 RFC 1035 actif Name Server Délègue la gestion d'une zone à un serveur de nom faisant autorité
AFSDB 18 RFC 1183 actif
AXFR 252 RFC 1035
RFC 5936
actif Transfert de zone
MD 3 RFC 1035 OBSOLÈTE
MF 4 RFC 1035 OBSOLÈTE
CNAME 5 RFC 1035 actif Canonical NAME Permet de réaliser un alias (un raccourci) d'un host vers un autre.
SOA 6 RFC 1035 actif Start Of Authority Définit le serveur maitre du domaine.
MB 7 RFC 1035 EXPÉRIMENTAL
MG 8 RFC 1035 EXPÉRIMENTAL
MR 9 RFC 1035 EXPÉRIMENTAL
NULL 10 RFC 1035 EXPÉRIMENTAL
WKS 11 RFC 1035 actif Well Known Service
PTR 12 RFC 1035 actif Pointer Réalise l'inverse de l'enregistrement A ou AAAA, donne un nom de host (FQDN) pour une adresse IP.
HINFO 13 RFC 1035 actif Host information Permet de spécifier le type de CPU (processeur) et le système d'exploitation de l'hôte concerné.
MINFO 14 RFC 1035 actif Mail Information Indique l'adresse mail du responsable du domaine mail ainsi que l'adresse à contacter en cas d'erreur.
MX 15 RFC 1035 actif MX record Définit le nom du serveur de courrier du domaine
TXT 16 RFC 1035 actif Texte Une chaîne de caractères.
RP 17 RFC 1183 actif Responsible Person Définit une personne responsable du serveur (il y a toujours un champ TXT lorsqu'il y a un champ RP).
X25 19 RFC 1183 actif
ISDN 20 RFC 1183 actif
RT 21 RFC 1183 actif
NSAP 22 RFC 1706 actif
NSAP-PTR 23 RFC 1348 actif
SIG 24 RFC 4034
RFC 3755
RFC 2535
actif DNSSEC
KEY 25 RFC 4034
RFC 3755
RFC 2535
actif DNSSEC
PX 26 RFC 2163 actif
GPOS 27 RFC 1712 actif
LOC 29 RFC 1876 actif Localisation géographique
NXT 30 RFC 3755
RFC 2535 OBSOLÈTE
EID 31 Patton actif
NIMLOC 32 Patton actif
SRV 33 RFC 2782 actif SRV record Permet de définir un serveur spécifique pour une application, notamment pour la répartition de charge.
ATMA 34 ATMDOC actif
NAPTR 35 RFC 2915
RFC 2168
RFC 3403
actif
KX 36 RFC 2230 actif
CERT 37 RFC 4398 actif
A6 38 RFC 6563
RFC 3226
RFC 2874 HISTORIQUE
Adresse IPv6
DNAME 39 RFC 2672 actif Delegation Name Alias pour un nom et tous ses sous-noms
SINK 40 Eastlake actif
OPT 41 RFC 2671 actif EDNS Extensions DNS comme l'augmentation de la taille des paquets.
APL 42 RFC 3123 actif
DS 43 RFC 4034
RFC 3658
actif DNSSEC
SSHFP 44 RFC 4255 actif
IPSECKEY 45 RFC 4025 actif
RRSIG 46 RFC 4034
RFC 3755
actif DNSSEC "Resource Record Signature" contient la signature numérique d'un RRset.
NSEC 47 RFC 4034
RFC 3755
actif DNSSEC
DNSKEY 48 RFC 4034
RFC 3755
actif DNSSEC Contient la clé publique utilisée pour signée un RRSIG
DHCID 49 RFC 4701 actif
NSEC3 50 RFC 5155 actif DNSSEC
NSEC3PARAM 51 RFC 5155 actif DNSSEC
HIP 55 RFC 5205 actif Host Identity Protocol
NINFO 56 Reid actif
RKEY 57 Reid actif
TALINK 58 Wijngaards actif
SPF 99 RFC 7208 OBSOLÈTE Le code 99 est obsolète. Le SPF doit être entré dans le champ TXT. Voir RFC7208, section 3.1
UINFO 100 IANA-Reserved actif
UID 101 IANA-Reserved actif
GID 102 IANA-Reserved actif
UNSPEC 103 IANA-Reserved actif
TKEY 249 RFC 2930 actif
TLSA 52 RFC 6698 actif TLSA certificate association Un enregistrement pour l'authentification d'entités nommées basée sur DNS (DANE).
TSIG 250 RFC 2845 actif
IXFR 251 RFC 1995 actif
MAILB 253 RFC 1035 OBSOLÈTE
MAILA 254 RFC 1035 OBSOLÈTE
* 255 RFC 1035 actif
CAA 257 RFC 6844 actif DNS Certification Authority Authorization Permet d'indiquer aux autorités de certification quelles sont celles autorisées à certifier le domaine.
TA 32768 Weiler 2 actif
DLV 32769 RFC 4431 actif DNSSEC Lookaside Validation
Private use 65280-65534





Protection de Bind9
on commence par crée une zone /etc/bind/zones/blackhole.zone
que l'on remplie $TTL 6h
@ IN SOA ns.home.lan. hostmaster.home.lan. (
2015060501
10800
3600
604800
86400 )

@ NS ns.home.lan.
; Resolve domain and wildcard subdomains
@ IN A 0.0.0.0
* IN A 0.0.0.0
la mise à jour wget -O - https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts | grep '^0.0.0.0' | tr "[A-Z]" "[a-z]" | awk '!a[$0]++' | awk '{print "zone \""$2"\" { type master; notify no; file \"/etc/bind/zones/blackhole.zone\"; };"}' > /etc/bind/zones/adware-plus-malware.zones
on inclue ce fichier dans /etc/bind/named.conf en rajoutant la ligne include "/etc/bind/zones/adware-plus-malware.zones";
/!\ il peut y avoir un problème avec les nom de domaine contenant des _ "underscores" cat -n /etc/bind/zones/adware-plus-malware.zones |grep _
interdire l'utilisation de bind comme serveur relais (/etc/bind/named.conf.options)allow-recursion { 127.0.0.1;};
interdire l'utilisation du cache (/etc/bind/named.conf.options)allow-query-cache { 127.0.0.1;};





Le champ spf
Le champ spf est un champ texte exemple: domotrix.fr. IN TXT "v=spf1 ip4:176.143.135.147 -all"
v=spf1indique la version de SPF utilisée.
aautorise l’envoi depuis toutes les adresses IP répertoriées dans l’enregistrement A de votre zone DNS (c’est à dire celles de vos serveurs Web).
mxautorise l’envoi depuis toutes les adresses IP répertoriées dans l’enregistrement MX de votre zone DNS (c’est à dire celles de vos serveurs de courrier).
allconsidère les envois par d’autres serveurs que ceux listés comme potentiellement illégitimes
-alln’autorise strictement aucun envoi autrement que par l’un des éléments listés (échec grave : à n’utiliser que si vous êtes sûr de votre paramétrage)
~allconsidère les envois par d’autres serveurs comme potentiellement illégitimes (échec non grave).
?allsignale qu’il existe des serveurs supplémentaires qui peuvent faire des envois.
ip4:xxx.xxx.xxx.xxxautorise l’envoi à partir d’un serveur ayant l’adresse IPv4 mentionnée.
ip6:xxxx:xxx:x:xxxx:x:x:xxxx:xxxxautorise l’envoi à partir d’un serveur ayant l’adresse IPv6 mentionnée.
ptrautorise les serveurs associés à votre nom de domaine.
ptr:domotrix.frautorise les serveurs associés au nom de domaine bidule.fr.
include:domotrix.frajoute les autorisations spécifiées dans le champ SPF du domaine bidule.fr.





Gestion des DNS
                                                                                                                                                                                                        
                                                                                                                                                                                                        
                                                                                                                                                                                                        
                                                                                                                                                                                                        
                                                                                                                                                                                                        
                                                                 ````.....``    ````````                                                                                                                
                                                    ` ``  `..`:+++o+///::::------------.`           `````                       ``` `                                                                   
                                               .-..-:--..-::-/://:`   ````-------------`                             ```        `....----.`         `                                                   
                             `.---...`` ``..`.::/oso++.-/+--++o+oo:.     `.---------..`                 ```         ``    `.``..------------------.```.....`````                                        
                        `..+syyyyyyysssosssoosso++oso+++oy/:+-`-/ss+-    `------.```                 `.----.-..`````....-----..------------------------------------------..``                           
                    ```.:+syyyyyyyyyyyyyyyysoyyyyyyyyyso//+:`.-:so/.`   `---.`       `..`          `.--.`.--.-..---------            ---------------------------------------```                         
                    :oosso++:/ooosyyyyyyyyysoyyyyyyy+-`   `.+ss:.-`      `.`                     `----. `--..------------  RIPE NCC  -------------------------------.```--..`                           
                    `.-:.`      --yyyyyyyyyyyyyyyyyy:.`   `+yyysoy.                         ``    .`.-` `.-.-------------            --------------------------`       `-.`                             
                               ``/yyyyyyyyyyyyyoyyyyyys:`+syyyyyyy+:                      ```-`  ``..`...-------------------------------------::--------://:---.```     .-.                             
                                -/yyyyy          yyyyyyooyyyysooooo/                      ```..`..---------------------------------------::+/:os+:/:::/:oddy+::----``     `                             
                                :/sssss   ARIN   +/-+yyyyyysoo:.`-+/                        `.-------------------..---------------------/syhdhdddddhyhdyyhdddhyoo:-.``                                  
                               -syyyyyy          o//./osyss+:/:.                             `----.-.`.-----.`````.---. .---.---------:+ddddhhhdddddddhhhdddddddh:-`  -.                                
                              /yyyyyyyyyyyyyyyyyy+s+/ssso/`                              `-----.  ``.```..-..``.```.--.` `.-------.--:/ydddddddhhhhhhhhdddddhhdhy.`   :/`                               
                             .yyyyyyyyyyyyyyyyyyyyyyys/.                                 `----`   `` `` `.` .--------.-.  .---------:sdddddddddddddddddddddh:--/o-    .s`                               
                             `yyyyyyyyyyyyyyyyyyyyyyy:                                    .-.-:/++/:         ````-------------:+yhhyyyyhddddddddd         dddo` `o: ..sy.                               
                              -ssyyyyyyyyyyyyyyyyyo:`                                   `/+o++oooo+/:-` `:.`` ` `-------------+dddhydhhdsdddddddd  APNIC  ddddo`   `/.`                                 
                               /-syyysyyyyo++/::/s.                                    `:++oooooooo+ooo+/oo+o+o/:-------`.-----ohhdddhdddyhhhdddd         dddddo                                        
                               ./.yhyyhy+`       +.                                  `:/+++oooooooo+ooooooo+oooo:`-------``...--oyhdhddddddhhyoyhhyyhdddddddddd+                                        
                                .`.oyyhs`      ``.`                                  /++oo+o+oooooo++o+oooo+ooooo-`-------..-.`   `:yhddddddddoo+ydyydhhhdddys/`:                                       
       `                           /yhhy.  -o-   `.-``.`                            .o+ooo+ooo++oooooo+oooo+oooooo.`.---------`     ..hdddddh/```oddhshyo./-`                                           
                                    -/oyo+oo/``   `  `.`                            `ooooo+ooooo+         o+oooooo/. .-----..`        +dddho.    `oyyhhyo-.     -/                                      
                                       ``.:++ss`                                    -+++oooo+++++ AFRINIC +oooooo+++:.--.``           `odm/       ``:hhhyy/     .:`                                     
                                            `:o`   .:-/-...`                        `-++++++++++o         +oooooo+ooo:..--.            `ym-          /./yo/      `..                                    
                                              ..-.:yyoyyyyy/-                         -+++oo+o//oooo+++o+oo+oooo+ooooo+++/`             .:-/         /. .`     `  `:/       APNIC                       
                                                 `oyhyysyyyos++/.                      `-::-:-``-//+oo+o+o++++ooo+oooooo/`                `.       .:./+`    `-o.  `.                                   
                                                `:yyyyyssoyysssss-                                 /+++/+oooooo+++oo+o+-`                           -o+s.  .:syh.``` `                                  
                                          `     /yysyysyyyyyyyyhs+::.`                            `+o+o+oooooo+:-+oo+-`                              .sy:` /hdds.:-` ```:.`.`                           
                                                /syyyssyyyyyyyyyyyyhssoo:`                         ./++oooooo+/++o++.                                 `oh:``-:+../: ``` .-+hyo+-` ``                    
                                                -yhysyhy        yyyyyyyyhy.                         `/++++oooo/oooo/                                    .-:-:.  ``         -yhyy+``` `                  
                                                 .shyssy LACNIC yyyyyyyyy+`                          /oooo+oo+++/+o+`                                       `````` .`       `-` :-`    ``               
                                                  `yhyys        yyyyyyhy:                           `+oooo+++++o/:oo-   `-                                          ` -syo` `o.                         
                                                   `:osshyhysshyyyyyyyyh.                           -ooooo+oo++++/o+. .:+:                                        .odyhddy:`:dy`                 `      
                                                      .syyhsyoyhyyyyyyhs`                           -ooo+++++oo++/`   :oo`                                     `-oddddddddddddd/                `       
                                                       sssssyssyyyyhys+.                             -ooo+ooo+++o-   `+o-                                   -ohddddddddddddddddd/        `              
                                                       osyyyyyysoyho`                                `oo++ooooo/:`   `:-                                   `sdddddddddddddddddddd/                      
                                                       osyyyyysoyyy:                                  -++ooooo+.                                           `sdddddddddddddddddddd:                      
                                                       /yhyyyysosy-                                    -ooooo/.                                            `sddddhysosdddddddddh/                       
                                                       -yyyyyyso+-                                     `:---`                                              .s+::-``  `//dddddh/`          `             
                                                       :yyyyhys+`                                                                                                      `yyyso-           -/`            
                                                       .oyyys/``                                                                                                        .:.`          `.`/-`            
                                                        .oyhs`                                                                                                          `:`       `--:-.                
                                                        `+syo.                                                                                                                    ./.                   
                                                         .+ys.                                                                                                                                          
                                                          `-:-`  `                                                                                                                                      
                                                             `.`