En plus de la réponse de Yamakaja , c'est ainsi que vous configurez un serveur DNS local.
Tout d'abord, vous avez besoin d'un ordinateur sur lequel vous souhaitez exécuter le serveur DNS. Cela peut être l'un de vos ordinateurs normaux (s'ils fonctionnent sous Linux et sont la plupart du temps) ou par exemple un Raspberry Pi . Les avantages d'un tel appareil sont qu'il est bon marché, n'a pas besoin de beaucoup d'énergie et est petit.
Configuration du serveur DNS
J'ai décidé de configurer le serveur DNS sur un Raspberry Pi en utilisant dnsmasq
, qui est un petit outil de serveur DNS, idéal pour une utilisation dans de petits réseaux. Vous pouvez également utiliser bind
l'outil DNS standard de facto, mais c'est probablement un peu trop puissant pour un petit réseau domestique.
Installer en dnsmasq
utilisant le gestionnaire de paquets, sur les systèmes basés sur Debian (par exemple Raspbian), la commande serait
sudo apt-get install dnsmasq
Je suppose maintenant que vous avez déjà configuré une allocation d'adresses IP statiques (c'est-à-dire que les adresses IP que vous mentionnez dans votre question ne changent pas). Si ce n'est pas le cas, dnsmasq
peut également être utilisé comme serveur DHCP, mais je ne l'ai pas encore fait.
dnsmasq
récupère les noms d'hôtes du /etc/hosts
. Modifiez ce fichier comme suit:
# IP address Host name
192.168.1.1 router
192.168.1.22 printer
Le nom d'hôte router
est désormais attribué à 192.168.1.1
, printer
à 192.168.1.22
.
Vous avez maintenant configuré votre propre serveur DNS, mais les ordinateurs de votre réseau ne l'utilisent pas encore. Pour les faire utiliser ce serveur, vous devez faire une étape de préparation:
Trouvez l'adresse IP de votre appareil dnsmasq en utilisant ip address
(supposons que ce soit 192.168.1.42
). Ouvrez le /etc/dnsmasq.conf
et ajoutez les lignes suivantes:
listen-address=127.0.0.1
listen-address=192.168.1.42
Cela lui indique dnsmasq
qu'il doit écouter les requêtes qui leur sont adressées 127.0.0.1
(c'est- à -dire quand lui-même veut utiliser son serveur DNS) ou 192.168.1.42
(c'est-à-dire lorsque d'autres ordinateurs veulent utiliser son serveur DNS).
Utilisation du serveur DNS
Vous devez indiquer à chaque ordinateur de votre réseau qu'il doit (également) l'utiliser 192.168.1.42
comme serveur DNS. La façon dont vous procédez dépend de votre système d'exploitation. Vous pouvez facilement rechercher cela sur votre système d'exploitation spécifié sur Internet (recherchez simplement "Changer le serveur DNS sur <OS>", ou quelque chose comme ça).
Pour Windows 7, vous pouvez suivre ce didacticiel: https://www.opennicproject.org/configure-your-dns/how-to-change-dns-servers-in-windows-7/ .
Sur mon système (Arch Linux), je devais ajouter la ligne suivante à /etc/resolvconf.conf
name_servers=192.168.1.42
Notez que le fichier que vous devez utiliser dépend de la configuration de votre gestionnaire de réseau. Ajoutez l'IP du serveur DNS sur chaque ordinateur sur lequel vous souhaitez utiliser votre DNS.
Vous devrez probablement redémarrer les appareils si cela ne fonctionne pas immédiatement.
Voilà, vous avez terminé. Vous pouvez maintenant accéder à tous les périphériques que vous avez entrés sur /etc/hosts
le serveur dnsmasq simplement en utilisant le nom d'hôte que vous lui avez donné.
(Facultatif) Vérification de la fonctionnalité
Si vous souhaitez vérifier si la résolution DNS fonctionne correctement, installez dnsutils
(Linux) sur le système qui doit utiliser votre serveur. Ensuite, exécutez
$ dig router
Cela devrait retourner quelque chose comme ça
; <<>> DiG 9.10.4-P1 <<>> router
;; global options: +cmd
;; Got answer:
...
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;router. IN A
;; ANSWER SECTION:
router. 0 IN A 192.168.1.1
;; Query time: 14 msec
;; SERVER: 192.168.1.42#53(192.168.1.42)
;; WHEN: So Jun 26 10:43:18 CEST 2016
;; MSG SIZE rcvd: 50
Il vous montre le nom d'hôte que vous souhaitez résoudre, l'adresse IP à laquelle il a été résolu et le serveur DNS utilisé. Comme vous le voyez, tout va bien.
(Facultatif) Spécification d'un TLD
Si vous souhaitez accéder aux appareils non seulement avec router
ou printer
mais avec router.home
et printer.home
, ajoutez les lignes suivantes à votre /etc/dnsmasq.conf
:
expand-hosts # Tells dnsmasq to add a TLD to each host name
domain=home # The TLD
Vous devrez peut-être redémarrer à nouveau.
Sources / lectures complémentaires
À propos de dnsmasq
:
À propos bind
(si cela vous intéresse):