« Dns » : différence entre les versions

De Banane Atomic
Aller à la navigationAller à la recherche
Ligne 22 : Ligne 22 :
<syntaxhighlight lang='DNS Zone file'>.mon-domaine.fr    MX    redirect.ovh.net</syntaxhighlight>
<syntaxhighlight lang='DNS Zone file'>.mon-domaine.fr    MX    redirect.ovh.net</syntaxhighlight>


== [http://www.openspf.org/SPF_Record_Syntax Type SPF (Sender Policy Framework)] ==
== [http://www.open-spf.org/SPF_Record_Syntax Type SPF (Sender Policy Framework)] ==
Permet au serveurs email recevant les messages de vérifier qu'ils proviennent bien des IPs configurées.
Permet au serveurs email recevant les messages de vérifier qu'ils proviennent bien des IPs configurées.



Version du 3 janvier 2022 à 21:55

Types

Type A (Address)

Relie un nom de domaine à une adresse IPv4.

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

Type AAAA

Relie un nom de domaine à une adresse IPv6.

Type CNAME (Canonical NAME)

Créé un alias d'un nom de domaine 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)

Relie un nom de domaine à un serveur e-mail.
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.

Domain TTL Type Target
mon-domaine.fr. 600 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

dig

Bash.svg
# connaître le serveur DNS utilisé
dig something
#;; SERVER: 192.168.0.x#53(192.168.0.x)

# 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

# installation
sudo pacman -S dnsutils

resolvectl

Bash.svg
resolvectl status
# ancienne commande
systemd-resolve --status

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)

Permet de mettre à jour l'adresse IP liée au nom de domaine.

update-dynhost-ip-on-ovh.sh
host=domain.fr
login=domain.fr-xxx
password=***

wd=$(dirname $(realpath $0))

log() {
    echo "$(date) - $1" >> "${wd}/dynhost.log"
}

ip=$(curl -s -X POST -H "Content-Type: application/x-sah-ws-1-call+json" \
    -d '{"service":"NMC","method":"getWANStatus","parameters":{}}' \
    http://192.168.1.1/ws | jq .result.data.IPAddress)

if [ -z "${ip}" ]; then
    log 'ERROR - Unable to get external IP from livebox.'
    exit 1
fi

last_ip=''
if [[ -f ${wd}/last-ip.txt ]]; then
    last-ip="$(cat "${wd}/last-ip.txt")"
fi

if [[ ${ip} != "${last-ip}" ]]; then
    log "INFO - Update from old IP: ${last-ip} to new IP: ${ip}"
    curl "https://www.ovh.com/nic/update?system=dyndns&hostname=${host}&myip=${ip}" \
        -u "${login}:${password}"
    echo -n "${ip}" > "${wd}/last-ip.txt"
else
    log 'DEBUG - IP has not changed.'
fi