GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment installer le serveur DNS rapide et léger MaraDNS sur CentOS 7

MaraDNS est un petit serveur de noms de domaine gratuit et léger. Il s'agit d'un serveur DNS open source alternatif, qui agit comme un serveur de noms de mise en cache, récursif ou faisant autorité. Il est remarquablement facile à configurer et disponible pour les plateformes Linux et Windows. Il peut être téléchargé à partir d'ici. Vous pouvez en savoir plus sur le DNS, le DNS récursif, le DNS faisant autorité ici.

Voici quelques caractéristiques intéressantes de MarDNS :

  • Facile à installer
  • Faible utilisation de la mémoire (utilise environ 5 Mo de RAM)
  • Peut agir en tant que serveur de noms faisant autorité et serveur de noms récursif.
  • A ne pas manquer, la documentation sur le site MaraDNS est très simple à comprendre.

Commençons maintenant avec MaraDNS sur CentOS 7. Les étapes ci-dessous vous guideront dans l'installation et la configuration de MaraDNS :

Installer MaraDNS

Pour l'instant, aucun RPM de MaraDNS pour CentOS 7 n'est disponible, nous allons donc l'installer et le compiler à partir de la source.

Installer gcc :

sudo yum install gcc

Téléchargez la dernière archive source à partir d'ici. Vous pouvez le faire comme :

wget http://maradns.samiam.org/download/2.0/2.0.11/maradns-2.0.11.tar.bz2

Extrayez le contenu de l'archive :

tar -xjf maradns-2.0.11.tar.bz2

Passez au répertoire MaraDNS extrait, compilez et installez les programmes :

cd maradns-2.0.11
sudo make
sudo make install

MaraDNS est maintenant installé. Le service MaraDNS est installé dans /etc/init.d/maradns. Vous pouvez simplement démarrer le service en :

sudo /etc/init.d/maradns start

Pour démarrer le démon récursif, exécutez :

sudo /etc/init.d/maradns.deadwood start

Par défaut, le serveur de noms faisant autorité écoute sur le port 127.0.0.1 et le serveur récursif sur le port 127.0.0.2.

Assurons-nous de démarrer MaraDNS au démarrage :

chkconfig maradns on


Le script d'initialisation du serveur DNS récursif doit être rendu compatible avec chkconfig avant de pouvoir l'exécuter au démarrage. Ajoutez le contenu ci-dessous en haut du fichier /etc/init.d/maradns.deadwood :

# chkconfig: - 55 45
# description: MaraDNS is secure Domain Name Server (DNS)
# probe: true

Configurez-le pour qu'il s'exécute au démarrage :

chkconfig maradns.deadwood on

Configuration de MaraDNS en tant que serveur de noms faisant autorité

Les serveurs DNS faisant autorité "connaissent" le mappage de l'URL à l'IP pour un domaine donné. Ils sont la source des informations que les serveurs DNS récursifs envoient aux clients web comme les navigateurs (Chrome, Firefox). Vous pouvez configurer MaraDNS en tant que serveur de noms faisant autorité comme :

Modifiez le fichier de configuration de MaraDNS, c'est-à-dire /etc/mararc :

ipv4_bind_addresses = "127.0.0.1"
chroot_dir = "/etc/maradns"
csv2 = {} csv2["example.net."] = "db.example.net"

La première ligne indique à MaraDNS d'écouter sur IP-127.0.0.1. Vous pouvez y ajouter plus d'adresses IP, séparées par une virgule. Par exemple - 127.0.0.1, x.x.x.x

La deuxième ligne chroot_dir est de mentionner le répertoire où tous les fichiers de zone seront conservés.

La troisième ligne initialise le hachage csv2 avec la commande csv2 ={}.

La quatrième ligne mentionne le fichier de zone nommé db.example.net pour le nom de domaine example.net.

Voici le fichier de zone nommé db.example.net pour le nom de domaine example.net qui est explicite :

example.net.      +14400    soa    ns1.example.net. [email protected] 2012010117 14400 3600 604800 14400 ~ 
example.net.      +14400    ns     ns1.example.net. ~ 
example.net.      +14400    ns     ns2.example.net. ~ 
ns1.example.net.  +14400    a      127.0.0.1 ~ 
ns2.example.net.  +14400    a      127.0.0.1 ~ 
example.net.      +14400    a      127.0.0.1 ~ 
www.example.net.  +14400    a      127.0.0.1 ~ 
example.net.      +14400    mx     10 mail.example.net. ~
mail.example.net. +14400    a      127.0.0.1 ~

Vous commencez par la ligne Start Of Authority (SOA). Vous spécifiez ensuite les serveurs de noms faisant autorité et les autres enregistrements. Un enregistrement se compose du nom de domaine, du TTL (Time to live), du type d'enregistrement et de la valeur de l'enregistrement.
Deux choses à noter sont que tous les noms de domaine se terminent par un point, c'est-à-dire qu'ils doivent être des noms de domaine complets et tous les enregistrements se terminent par un caractère tilde (~). Pour en savoir plus, consultez la documentation sur le format des fichiers de zone.

Pour être plus simple, faisons juste pointer example.net vers 127.0.0.1. Voici comment procéder :

example.net.    127.0.0.1 ~

Redémarrez le service en tant que :

sudo /etc/init.d/maradns restart

Configuration de MaraDNS en tant que serveur de noms récursif

Lorsque votre navigateur Web envoie une requête DNS - en supposant que le navigateur n'a pas déjà le mappage stocké dans son cache - il est envoyé à un serveur DNS récursif. Il est également appelé redirection DNS. Il écoute par défaut sur le port 127.0.0.2 et vous pouvez y ajouter plus d'adresses IP, séparées par une virgule. Par exemple - 127.0.0.2, x.x.x.x. Vous pouvez configurer MaraDNS en tant que serveur de noms récursif en ajoutant les lignes ci-dessous au fichier /etc/dwood3rc :

upstream_servers = {}
upstream_servers["."] = "8.8.8.8, 8.8.4.4" # Forwarding requests to Google DNS Servers

Redémarrez le service en tant que :

sudo /etc/init.d/maradns.deadwood restart

Vous avez terminé la configuration du serveur MaraDNS ! :)

Astuce- Si vous souhaitez que votre serveur MaraDNS réponde aux requêtes DNS externes, vous devez :

Ajoutez l'adresse IP publique de votre machine aux deux fichiers de configuration (/etc/mararc &/etc/dwood3rc) et modifiez-les comme :

/etc/mararc :

ipv4_bind_addresses = "127.0.0.1, x.x.x.x" #Replace x.x.x.x with your machine's public address.

/etc/dwood3rc :

bind_address="127.0.0.2, x.x.x.x" #Replace x.x.x.x with your machine's public address.

recursive_acl ="0.0.0.0/0" #Pour autoriser les connexions depuis n'importe où.

Vous pouvez obtenir ces exemples de fichiers à partir d'ici. N'oubliez pas de redémarrer les services une fois de plus.

C'est tout !


Cent OS
  1. Comment installer le serveur DNS sur RHEL 8 / CentOS 8 Linux

  2. Comment installer et configurer VNC sur CentOS 7

  3. Comment installer et utiliser TeamSpeak Server sur CentOS 7

  4. Comment installer et configurer Gitlab sur CentOS 8

  5. Comment installer et configurer Postgres 13 sur Centos 8

Comment installer et configurer Zimbra Multi Server sur CentOS 7

Comment installer et configurer le serveur VNC dans CentOS 7 / RHEL 7

Comment installer et configurer Memcached sur CentOS 8

Comment installer le serveur et le bureau CentOS 7

Comment installer et configurer le serveur DHCP sur Centos 8

Comment installer et configurer Gitlab CE Server sur Centos 8