# Zones DNS

# Après altair

Les fichiers sont dans le dossier: `/var/lib/knot/zones` sur Altair.

Le serial n'a pas besoin d'être mis à jours après édition de la zone.

Pour reload `systemctl reload knot` ou `knotc zone-reload <nom de la zone>`

# Avant Altair (obsolète):

## ppsfleet.navy

La zone externe ppsfleet.navy est signée avec DNSSEC, pour rajouter une entrée dans la zone il faut dabord modifier le fichier `/var/named/ppsfleet.navy.d/ppsfleet.navy.zone` puis signer la zone avec le script `/var/named/sign-zone.sh ppsfleet.navy`.

## signe.zone.sh

Le script s'utilise de la manière suivante :  
`/var/named/sign-zone.sh [nom de la zone]`

Pour qu'il fonctionne la zone dois être placée dans `/var/named/[nom de la zone].d/[nom de la zone].zone`.
Ce script s'occupe de vérifier la validité de la zone, mettre à jour le serial, signer la zone et de recharger le service. 

```sh
#!/bin/bash

set -e

OLD_DIR=$(pwd)

today=$(date +%Y%m%d)

cd /var/named/$1.d/

named-checkzone $1 $1.zone
serial=$(named-checkzone $1 $1.zone | grep --color=never serial | cut -d' ' -f5)
serialDate=${serial:0:8}
serialIncr=${serial:8:2}
echo $serial
echo $today
if [ $today == $serialDate ]; then
  newSerial=$today$(printf %02d $(($serialIncr+1)))
else
  newSerial=${today}01
fi

sed -i "0,/$serial/s//$newSerial/" $1.zone

sudo -u named dnssec-signzone -A -3 $(head -c 1000 /dev/urandom | sha1sum | cut -b 1-16) -N keep -o $1 -t $1.zone
systemctl reload named
cd $OLD_DIR
```