Unbound:Installer un serveur dns sur pc Linux et sur container Proxmox

Dans cet article je vais vous montrer comment installer un serveur DNS. Dans ce tuto, je vais utiliser Unbound et l’installer soit sur Xubuntu ou sur Proxmox. Il existe un autre serveur DNS (Bind9), mais il ne fera pas l’objet de cet article. Sachez à titre d’information qu’on peut aussi installer Unbound sur Windows.

Un DNS késaco ?

Pour faire simple, un DNS est un serveur qui fait le lien entre l’adresse http et l’adresse IP où se trouve le site. On peut comparer ça a un annuaire, par exemple le nom, c’est adresse et le numéro de téléphone, l’adresse IP.

Quel est l’intérêt d’un DNS

le premier intérêt, c’est que la requête ne passe plus sur le DNS du FAI.

Le deuxième DNS étant un « annuaire » le bottin du FAI peut être incomplet (dns menteur). En ayant un DNS maison ; on peut retrouver les adresses manquantes. Aussi pas besoin d’aller sur les DNS de Google et d’autres entreprises.

Installer DNS sur son linux

Pour installer le dns; on va d’abord installer unbound

sudo apt-get update
sudo apt-get install unbound

On modifie resolved.conf

nano /etc/systemd/resolved.conf

Sous resolve copier coller ceci

[Resolve]
DNS=127.0.0.1
#FallbackDNS=
#Domains=
DNSSEC=yes
#DNSOverTLS=no
#MulticastDNS=no
#LLMNR=no
#Cache=no-negative
DNSStubListener=no
#DNSStubListenerExtra=
sudo systemctl restart systemd-resolved
felicitation dns installé
bravo votre dns fonctionne. Il n’y a pas besoin de configurer quoi que soit sur xubuntu

Installer un serveur DNS sur proxmox

Si vous avez suivi mon article précédent, vous avez vu comment installer l’hyperviseur proxmox. Je vais me servir d’un container lxc pour héberger mon serveur dns. Si j’ai plusieurs ordinateurs ; cette solution sera plus optimum.

Dans l’interface proxmox;je clique sur create ct (bouton bleu en haut à droite).

general proxmox

Je lui donne un nom et un id (ex binddns et 107) et le mot de passe pour SSH.

template

Je choisis le template précédemment téléchargé (se référer à mon article).

disque virtuel

Le stockage, je lui assigne 8 go dans cet exemple, mais vous pouvez mettre 2 go sachant que vous pouvez augmenter le stockage par la suite sans problème et que le programme ne prend pas beaucoup de place.

cores1

1 core est amplement suffisant pour l’utilisation.

memoire

Laisser 512 Mo (sachez que le container devrait prendre 50 Mo de mémoire donc vous pouvez mettre 200 Mo si vous le voulez).

ip adress

Je mets une IP statique pour pouvoir me connecter en local via SSH.

Rien mettre

Là, on est dredi; donc rien

cfini
et on valide tout ça (sans oublier start after created) hop hop hop

Il faudra aussi aller par la suite dans le container dire de démarrer à chaque démarrage de l’hyperviseur proxmox (option ->start at boot->cliquer start at boot).

Ensuite

J’installe un utilisateur que je vais appeler toto. Je le fais, car par défaut, on ne peut pas se connecter en SSH avec root (ce qui est normal).

adduser toto
adduser toto sudo
#si vous voulez vous connecter par la suite en ssh par exemple
ssh toto@192.168.17

Un petit update et on installe unbound.

sudo apt-get update
sudo apt-get install unbound

On édite resolved.conf.

nano /etc/systemd/resolved.conf

Sous resolve copier-coller ceci

[Resolve]
DNS=127.0.0.1
#FallbackDNS=
#Domains=
DNSSEC=yes
#DNSOverTLS=no
#MulticastDNS=no
#LLMNR=no
#Cache=no-negative
DNSStubListener=no
#DNSStubListenerExtra=

On fait un lien symbolique
ln -fs /run/systemd/resolve/resolv.conf /etc/resolv.conf

On redémarre systemd-resolved

systemctl restart systemd-resolved
stop
Stop, on s’arrête ; petite subtilité de proxmox en vue

⚠️ Petite particularité du container lxc est qu’il réécrit le fichier resolv.conf à chaque redémarrage. Pour éviter cela, il faut créer dans le dossier etc un fichier .pve-ignore.resolv.conf qu’on laisse vide.

touch /etc/.pve-ignore.resolv.conf

À ce moment-là; si vous faites un ping , vous verrez que ça fonctionne tout du moins sur le serveur (mais il reste quelques étapes pour cela soit fonctionnel sur votre pc)

ping -c3 adressenonlisté

Pour faire fonctionner le DNS du serveur vers un autre ordinateur, il faut éditer unbound.conf

nano /etc/unbound/unbound.conf

Juste après server, il faudra ajouter ces lignes.

server:
    # location of the trust anchor file that enables DNSSEC
    #auto-trust-anchor-file: "/var/lib/unbound/root.key"
    # send minimal amount of information to upstream servers to enhance privacy
    qname-minimisation: yes
    # the interface that is used to connect to the network (this will listen to all interfaces)
    interface: 0.0.0.0
    # interface: ::0
    # addresses from the IP range that are allowed to connect to the resolver
    access-control: 192.168.1.0/16 allow
    # access-control: 2001:DB8/64 allow

remote-control:
    # allows controling unbound using "unbound-control"
    control-enable: yes

Le paramètre important à modifier sera access-control il faudra mettre l’adresse de votre routeur ex 192.168.1.0/16

On redémarre unbound

sudo systemctl restart unbound

Connecter son ordi au serveur DNS

Je ne vais pas montrer comment connecter votre ordi sur votre ordinateur windows ,mais seulement sur xubuntu.

  • Cliquer sur l’applet wifi puis modifier les connexions
  • Choisissez selon votre connexion et cliquer sur réglage
  • Cliquer sur paramètre ipv4 et entrez l’adresse de votre serveur local sur serveur dns supplémentaire. Dans mon exemple192.168.1.17
Dans ce cas là je le met pour une connexion ethernet; vous pouvez entrer ça sur une connexion wifi.

Félicitation, vous avez officiellement un serveur dns fonctionnel.

Update: À l’heure où j’écris ce tuto; il pourrait ne plus être d’actualité dans les mois voir année à venir avec systemd; sur certain oslinux; le fichier /run/systemd/resolve/resolv.conf sera différent. Il sera écrit à la troisième ligne « do not edit ». Donc le lien symbolique risque peut être de ne pas fonctionner (Affaire à suivre ; je ferais un nouveau tuto si cela change). (https://www.youtube.com/watch?v=O4X04CWmyY4)

Source

https://unbound.docs.nlnetlabs.nl/en/latest/use-cases/home-resolver.html

https://forum.proxmox.com/threads/how-to-disable-auto-updates-of-etc-hostsname-etc-resolv-conf-maybe-others.76186

https://chez-oim.org/index.php?topic=1599.0

Comments are closed.