Aller au contenu
Korben, roi d’internet, logo bébé avec des lunettes en mode thug life

Installer Unbound (serveur DNS) sous Linux

Après vous avoir expliqué comment installer Unbound sous Windows et OSX pour faire votre propre résolution DNS en local chez vous, voici comment faire sous Debian / Ubuntu pour votre serveur.

D’abord, on installe les outils nécessaires :

apt-get install build-essential libssl-dev

Puis on installe Unbound comme ceci :

cd /tmp

wget http://www.unbound.net/downloads/unbound-latest.tar.gz

tar xvfz unbound-latest.tar.gz

cd unbound-x.x.x/

./configure

make

make install

Ensuite, on crée le groupe et l’utilisateur qui vont bien pour faire tourner unbound :

groupadd unbound

useradd -d /var/unbound -m -g unbound -s /bin/false unbound

Le répertoire /var/unbound sera utilisé par Unbound et contiendra les fichiers de config.

Placez vous dedans et récupérez la liste des serveurs racines :

cd /var/unbound

wget ftp://ftp.internic.net/domain/named.cache

Créez ensuite le dossier /var/unbound/var/run qui contiendra unbound.pid et faites un lien symbolique vers le pid du système :

mkdir -p /var/unbound/var/run

chown -R unbound:unbound /var/unbound

ln -s /var/unbound/var/run/unbound.pid /var/run/unbound.pid

Ensuite, pour lancer / arrêter unbound, il nous faut un script de démarrage. Créez un fichier unbound (nano /etc/init.d/unbound) dans le init.d et copiez-collez y le script qui suit :

#!/bin/sh
#
# unbound This shell script takes care of starting and stopping
# unbound (DNS server).

exec= »/usr/local/sbin/unbound »
prog= »unbound »
config= »/var/unbound/unbound.conf »
pidfile= »/var/run/unbound.pid »
rootdir= »/var/unbound »

case « $1″ in
start)
[ -x $exec ] || exit 5
[ -f $config ] || exit 6
echo -n $ »Starting $prog:  »

# setup root jail
if [ -s /etc/localtime ]; then
[ -d ${rootdir}/etc ] || mkdir -p ${rootdir}/etc ;
if [ ! -e ${rootdir}/etc/localtime ] || /usr/bin/cmp -s /etc/localtime ${rootdir}/etc/localtime; then
cp -fp /etc/localtime ${rootdir}/etc/localtime
fi;
fi;
if [ -s /etc/resolv.conf ]; then
[ -d ${rootdir}/etc ] || mkdir -p ${rootdir}/etc ;
if [ ! -e ${rootdir}/etc/resolv.conf ] || /usr/bin/cmp -s /etc/resolv.conf ${rootdir}/etc/resolv.conf; then
cp -fp /etc/resolv.conf ${rootdir}/etc/resolv.conf
fi;
fi;
if ! egrep -q ‘^/[^[:space:]]+[[:space:]]+’${rootdir}’/dev/log’ /proc/mounts; then
[ -d ${rootdir}/dev ] || mkdir -p ${rootdir}/dev ;
[ -e ${rootdir}/dev/log ] || touch ${rootdir}/dev/log
mount –bind -n /dev/log ${rootdir}/dev/log >/dev/null 2>&1;
fi;
if ! egrep -q ‘^/[^[:space:]]+[[:space:]]+’${rootdir}’/dev/random’ /proc/mounts; then
[ -d ${rootdir}/dev ] || mkdir -p ${rootdir}/dev ;
[ -e ${rootdir}/dev/random ] || touch ${rootdir}/dev/random
mount –bind -n /dev/random ${rootdir}/dev/random >/dev/null 2>&1;
fi;

# if not running, start it up here
start-stop-daemon –start –quiet –pidfile $pidfile –exec $exec — -c $config
echo
;;

stop)
echo -n $ »Stopping $prog:  »
start-stop-daemon –stop –quiet –oknodo –pidfile $pidfile
echo
if egrep -q ‘^/[^[:space:]]+[[:space:]]+’${rootdir}’/dev/log’ /proc/mounts; then
umount ${rootdir}/dev/log >/dev/null 2>&1
fi;
if egrep -q ‘^/[^[:space:]]+[[:space:]]+’${rootdir}’/dev/random’ /proc/mounts; then
umount ${rootdir}/dev/random >/dev/null 2>&1
fi;
;;

restart)
start-stop-daemon –stop –quiet –oknodo –pidfile $pidfile
start-stop-daemon –start –quiet –pidfile $pidfile –exec $exec — -c $config
;;

reload)
start-stop-daemon –stop –signal 1 –quiet –oknodo –pidfile $pidfile –exec $exec
;;

force_reload)
start-stop-daemon –stop –signal 1 –quiet –oknodo –pidfile $pidfile –exec $exec
;;

*)
echo $ »Usage: $0 {start|stop|restart|reload|force-reload} »
exit 2
;;
esac

exit 0

Puis rendez ce script exécutable comme ceci :

chmod 755 /etc/init.d/unbound

update-rc.d unbound defaults

Et voilà c’est installé, mais ne lancez pas unbound tout de suite. Maintenant, on va régler les permissions pour que vos autres machines puissent s’y connecter et faire des requêtes DNS.

Créez le fichier de conf comme ceci :

nano /var/unbound/unbound.conf

Et collez-y la conf suivante :

server:
verbosity: 1
interface: 0.0.0.0
port: 53
do-ip4: yes
do-ip6: yes
do-udp: yes
do-tcp: yes
do-daemonize: yes
access-control: 0.0.0.0/0 allow
#access-control: 0.0.0.0/0 refuse
#access-control: 127.0.0.0/8 allow
chroot: « /var/unbound »
username: « unbound »
directory: « /var/unbound »
use-syslog: yes
pidfile: « /var/run/unbound.pid »
root-hints: « /var/unbound/named.cache »

Vous voyez la ligne « access-control: 0.0.0.0/0 allow » ? Ça veut dire que tout le monde peut se servir de votre serveur DNS. Mais vous pouvez changer 0.0.0.0/0 par 192.168.0.0/24 pour autoriser uniquement vos IPs locales…etc. Si c’est juste pour une utilisation par la machine seule, vous pouvez mettre simplement « access-control: 127.0.0.0/8 allow ».

Bref, vous voyez l’idée. Concernant le fichier de conf, on peut faire plein de choses, mais je vous laisse lire la doc ici.

Pour vérifier que le fichier de conf est correct, on utilise cette commande :

unbound-checkconf /var/unbound/unbound.conf

Si ça vous dit que c’est bon, faites alors ceci pour démarrer unbound :

/etc/init.d/unbound start

Et voilà… Maintenant y’a plus qu’à entrer l’IP de votre serveur comme serveur DNS sur les clients de votre choix, et ce sera ce serveur qui résoudra lui-même les URL.

Source


Comment supprimer vos données personnelles d’Internet avec Incogni ?

Espace partenaire

🔒Votre vie privée est-elle vraiment privée❓

😮Vous l’ignorez peut-être, mais des sociétés appelées Data Brokers collectent, agrègent et monnaient vos données personnelles sans votre consentement.

📝Votre nom, votre prénom, votre date de naissance, 📧 votre email, 🏠 votre adresse postale, et bien d’autres informations sont ainsi collectés pour être revendus à des publicitaires. Il est donc temps de reprendre le contrôle de vos informations personnelles grâce à Incogni

🛡️Incogni est un service qui se charge pour vous de contacter ces Data Brokers et d’exiger la suppression de vos données personnelles.

💥 Profitez d’une offre spéciale avec le code INCOGNI60 et ne laissez pas votre vie privée entre de mauvaises mains❗🙅‍♀️

👇🔍 CLIQUEZ ICI POUR EN SAVOIR PLUS 🔍👇

Les articles du moment