« Dns » : différence entre les versions

De Banane Atomic
Aller à la navigationAller à la recherche
Ligne 71 : Ligne 71 :
Ex: pour « mon-domaine.fr », si le serveur DNS est sur « dns.mon-domaine.fr » alors qu'il aurait pu être sur un autre domaine tel que « dns.ovh.fr »}}
Ex: pour « mon-domaine.fr », si le serveur DNS est sur « dns.mon-domaine.fr » alors qu'il aurait pu être sur un autre domaine tel que « dns.ovh.fr »}}


= [https://docs.ovh.com/fr/domains/utilisation-dynhost OVH et IP dynamique (DynHOST)] =
= [https://docs.ovh.com/fr/domains/utilisation-dynhost OVH et IP dynamique (DynHost)] =
<filebox fn=dynhost lang=bash collapsed>
<filebox fn=dynhost lang=bash collapsed>
#!/bin/bash
#!/bin/bash

Version du 1 décembre 2019 à 11:41

Types

Type A (Address)

Lie un nom de host à une adresse IPv4.

.mon-domaine.fr    A    xxx.xxx.xxx.xxx

Type AAAA

Lie un nom de host à une adresse IPv6.

Type CNAME (Canonical NAME)

Créé un alias d'un nom d'hôte vers un autre.

www.mon-domaine.fr.    CNAME    mon-domain.fr.
Bien penser à mettre un . à la fin du CNAME

Type NS (Name Server)

Délègue la gestion d'une zone DNS a un serveur de nom faisant autorité.

.mon-domaine.fr    NS    ns107.ovh.net

Type MX (Mail eXchange)

Définit le nom du serveur de courrier du domaine.

.mon-domaine.fr    MX    redirect.ovh.net

Type SPF (Sender Policy Framework)

Permet au serveurs email recevant les messages de vérifier qu'ils proviennent bien des IPs configurées.
.mon-domaine.fr SPF v=spf1 a mx ~all

Option Description
a autorise l'IP correspondant au nom de domaine courant à envoyer des emails
mx autorise les IPs des serveur MX du domaine courant à envoyer les emails
ip4:x.x.x.x/yy indique les IP ou classes d'IP v4 autorisées à envoyer des emails
ip6:x:x:x:x::x/yy indique les IP ou classes d'IP v6 autorisées à envoyer des emails
ptr autorise les reverses des serveurs mail du domaine courant à envoyer des emails
Si le type SPF n'est pas disponible, le type TXT fait aussi l’affaire.

OVH et les champs SPF
SPF Record Testing Tools

Outils

Bash.svg
sudo pacman -S dnsutils

dig

Bash.svg
# rechercher DNS en forçant le serveur DNS
dig @8.8.8.8 google.com

# test si le réglage MX pointe bien vers le bon serveur
dig mx mon-domaine.fr

# obtenir l'adresse IP externe (WAN IP)
dig +short myip.opendns.com @resolver1.opendns.com

# error while loading shared libraries: libjson-c.so.3: cannot open shared object file: No such file or directory
ln -s libjson-c.so.4.0.0 /usr/lib/libjson-c.so.3

Masquer les DNS OVH

La commande « whois » permet d'afficher les informations associées à une ip. Pour afficher les dns du type « dns.mon-domaine.fr » au lieu de « dns.ovh.fr »:

  • créer un champs de type A de valeur « dns.mon-domaine.fr » qui pointe sur l'IP du serveur
  • aller dans « GLUE Registry » → créer une entrée de valeur « dns.mon-domaine.fr » qui pointe sur l'IP d'un serveur DNS d'OVH (213.251.188.151)
  • faire la même chose pour le serveur DNS secondaire: « ns.mon-domaine.fr » (213.251.128.151)

Serveurs DNS vs GLUE Registry

Un Glue Record ou Registry sert à lier une adresse IP à un nom de serveur (nom.domaine.fr) dans le cas où le serveur DNS est dans le même domaine.
Ex: pour « mon-domaine.fr », si le serveur DNS est sur « dns.mon-domaine.fr » alors qu'il aurait pu être sur un autre domaine tel que « dns.ovh.fr »

OVH et IP dynamique (DynHost)

dynhost
#!/bin/bash

set -e
set -o pipefail
set -u

dynhost_path=/root/DynHost
cd $dynhost_path

host=bananeatomic.fr
login=...
password=...
options=""

log() {
    echo $1 >> $dynhost_path/dynhost.log
}

log ----------------------------------
log "$(date)"
log 'Démarrage de DynHost'

ip=$(dig +short myip.opendns.com @resolver1.opendns.com)
last_ip=$(cat $dynhost_path/last_ip)

if [ "$ip" ]; then
    if [ "$last_ip" != "$ip" ]; then
        log "Ancienne IP: $last_ip"
        log "Nouvelle IP: $ip"
        log "Mise à jour!"
        if [ "$options" =  "" ]; then 
            options="-a $ip" 
        fi
        
        log "$(python2 $dynhost_path/ipcheck.py $options $login $password $host)"
        echo -n "$ip" > $dynhost_path/last_ip
    else
        log 'IP Identique! Pas de mise à jour.'
    fi
else
    log 'Panique à bord: Aucune IP Disponible!!'
fi