Zones DNS

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.

#!/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