web-dev-qa-db-fra.com

Exécuter DNS localement pour le réseau domestique

J'ai un petit réseau domestique qui vient de s'agrandir (un nouveau colocataire, mon coloc existant a un ordinateur portable (en plus de son ordinateur), mes amis arrivent avec des ordinateurs portables, etc.).

Je voudrais exécuter un serveur DNS local pour rechercher des informations sur mon réseau local (fileserver.local, windowsTV.local, machineA.local, machineB.local, appletv.local). J'avais un secteur d'activité avec une adresse IP statique et j'exécutais bind/named en interne. Cependant, maintenant j'ai un compte normal.

Les serveurs DNS de mon fournisseur d'accès changent constamment (pour quelque raison que ce soit, mon fournisseur d'accès n'aime pas conserver longtemps la même plage d'adresses IP). J'ai besoin que mon DNS local soit automatiquement mis à jour pour utiliser le DNS de mon fournisseur de services Internet pour le trafic externe, mais je suis capable de maintenir un serveur DNS interne (mettre à jour le fichier hosts est une tâche fastidieuse pour chaque nouvelle machine, en plus de reconstruire les machines existantes avec win7 ou Ubuntu 9.04).

De plus, les serveurs DNS de mon fournisseur de services Internet plantent souvent ou ne répondent plus. Existe-t-il des serveurs DNS ouverts fiables (que je ne souhaite pas reconfigurer tous les jours) et que je pourrais utiliser comme serveur principal, puis, si ceux-ci échouent, utilisez ceux de mon fournisseur de services Internet?

MISE À JOUR: Nous cherchons également à ce que chaque poste de travail puisse utiliser dhcp pour se connecter, mais au lieu d’obtenir des serveurs DNS du fournisseur de services Internet, je reçois mon serveur interne ....

96
Roy Rico

Si vous voulez que les faux domaines internes fonctionnent, vous ne pouvez pas configurer vos postes de travail avec des serveurs DNS autres que le vôtre. Une fois que vous avez configuré BIND, il peut fonctionner de manière autonome et vous n'avez pas du tout besoin de votre fournisseur d'accès à Internet ou de tout autre serveur DNS non faisant autorité.

15
Bender

Fondamentalement, vous devez exécuter vos propres serveurs DHCP et DNS. Vous utilisez déjà votre propre serveur DHCP si vous avez un routeur typique qui donne des adresses IP privées.

Votre serveur DHCP doit être configuré pour distribuer l'adresse IP de votre routeur en tant qu'adresse de passerelle et l'adresse IP de votre serveur DNS en tant qu'adresse de serveur DNS, bien entendu.

Votre serveur DNS doit être configuré pour résoudre localement un domaine de premier niveau non officiel, tel que .local, puis transférer toute autre demande à un autre DNS. Dans BIND, vous devez ajouter une section forwarders { } à votre `/etc/bind/named.conf.options ', qui contient les serveurs DNS publics que vous souhaitez utiliser pour résoudre les adresses non locales. Comme d'autres commentaires le suggèrent, si vous ne souhaitez pas transférer les serveurs DNS de votre fournisseur de services Internet, vous pouvez utiliser OpenDNS, les serveurs DNS publics de Google, ou 4.2.2.1/4.2.2.2 (j'oublie qui les utilise).

Si vous utilisez votre propre serveur DNS, vous avez besoin d'une boîte qui sera allumée en permanence, car toutes les requêtes DNS sur votre réseau domestique passeront par là. Cette zone nécessite une adresse IP fixe sur votre sous-réseau domestique. Assurez-vous qu'il ne peut pas être détruit par DHCP, et que la boîte elle-même ne devrait pas recevoir d'adresse IP via DHCP. Si votre DHCP est configuré pour distribuer des adresses de 192.168.1.1 à 192.168.1.100, par exemple, indiquez l'adresse IP 192.168.1.101 à votre serveur DNS. Dans la situation habituelle des routeurs domestiques, il vous suffit d'indiquer au routeur que le serveur DNS est 192.168.1.101 et de le redémarrer.

Si vous pouvez exécuter un DNS local sur votre routeur haut débit, c'est bien, mais un serveur DNS pourrait tirer parti de beaucoup de RAM pour la mise en cache des requêtes, en fonction du logiciel DNS que vous utilisez. Sur mon réseau, je viens d'utiliser straight BIND . On dirait que vous avez peut-être un peu d'expérience avec ça et pour moi ça marche très bien.

81
LawrenceC

Existe-t-il des serveurs DNS ouverts fiables?

Vous l'avez dit: OpenDNS .

 208.67.222.222 
 208.67.220.220 
15
hyperslug

Si vous utilisez Windows, vous devriez jeter un œil à Simple DNS Plus - il s’agit d’un serveur DNS complet qui vient également avec un plug-in de serveur DHCP - et qui dispose d’une interface graphique conviviale.

[Note: le produit est développé par l'auteur de ce post]

6
Jesper

Unbound est assez facile, prend en charge les fichiers de configuration de style de liaison et est assez fiable. Si le serveur est une boîte de type "passerelle" autonome et que vous souhaitez quelques subtilités supplémentaires, vous pouvez également consulter la distribution pare-feu/passerelle appelée untangle.

5
Journeyman Geek

Si vous avez une boîte Linux, vous voudriez configurer DNSMASq, obtenir vos adresses locales et l'utiliser comme serveur DNS de transfert/mise en cache pour les adresses externes. C'est aussi souvent ce qui est utilisé sur les distributions Linux pour les routeurs domestiques tels que openwrt/ddwrt/tomato.

Alternativement, sur la plupart des réseaux Apple/Mac, vous utiliseriez Bonjour/Zeroconf, sur lequel les ordinateurs Linux et Apple peuvent communiquer pour la résolution DNS/service au niveau de la diffusion.

Cela étant dit, sur un réseau purement hybride avec les trois systèmes d'exploitation en cours d'exécution, vous souhaiterez certainement un serveur DNS local avec transfert vers OpenDNS, GoogleDNS ou le DNS de votre FAI local, en fonction de votre emplacement/de vos besoins.

4
jonathanserafini

J'utilise 4.2.2.1 & 4.2.2.2

edit: c'est-à-dire en ce qui concerne les serveurs publics. Facile à retenir et je ne pense pas les avoir vu échouer depuis que je les utilise.

2
DHayes

Tout routeur à large bande fournit les services DNS et DHCP pour le réseau local. Si vous souhaitez entrer des connexions Internet depuis des machines Internet locales, vous avez besoin d’un routeur prenant également en charge DynDNS et Incomming PortForwarding.

Si vous en choisissez un dans la liste DD-wrt supportée , vous pouvez le flasher avec ce micrologiciel. Ce dernier prend en charge toutes les fonctionnalités dont vous pourriez avoir besoin dans votre petit réseau.

2
Nikolaas

Certains serveurs DNS gratuits que vous pouvez utiliser pour le transfert:

1.1.1.1 - Cloudflare
1.0.0.1 - Cloudflare
4.2.2.1 - Layer 3
4.2.2.2 - Layer 3
4.2.2.3 - Layer 3
8.8.8.8 - Google
8.8.4.4 - Google
208.67.222.222 - OpenDNS
208.67.220.220 - OpenDNS
1
JCA122204

Pour exécuter un serveur DNS sur votre réseau local, consultez «pdnsd», qui est un serveur de noms pour * nix.

1
Zuu

Si vous téléchargez le programme de référence DNS à partir de link text , il analysera une liste de serveurs DNS publics ainsi que votre serveur DNS local. Après avoir exécuté ce programme, essayez de placer une copie des serveurs les plus rapides dans les paramètres DNS de votre routeur, puis renouvelez votre session DHCP et relancez le test.

Si votre routeur le permet, ajoutez le routeur et l'un des serveurs DNS externes rapides à la liste des serveurs DNS qu'il transmet au client DHCP (mais choisissez-en un autre que celui que vous avez entré pour les adresses de serveur DNS du routeur).

0
Walter

J'avais un problème similaire. J'ai acheté un routeur compatible OpenWRT et installé OpenWRT. Il offre une liaison IP statique ainsi que la résolution de noms dans le routeur, ce qui m'a permis de nommer les noms de mes ordinateurs et de mes périphériques du réseau à ma guise.

0
Guy