web-dev-qa-db-fra.com

Comment puis-je configurer un domaine "local" afin que toutes les personnes de mon réseau local puissent voir un site hébergé localement?

Je souhaite configurer MediaWiki sur l'une de mes machines domestiques, puis toutes les demandes effectuées sur le réseau local pour "wiki.home" ou "wiki.local" pointent sur cette boîte. Je sais que cela peut être fait en éditant chaque fichier/etc/hosts individuellement, mais je veux quelque chose de plus automatisé pour que, par exemple, si un ami ou un membre de la famille vient chez moi, il n'a pas besoin de s'embarrasser. fichier hosts afin de voir le site.

Y a-t-il un moyen simple de faire cela? Le wiki est opérationnel et je me suis penché sur dnsmasq, mais je n'arrive pas à comprendre comment configurer le DNS correctement. Étant donné que je souhaite une solution automatisée, j’ai le besoin de modifier les paramètres DNS de mon routeur, mais si j’y modifie les paramètres DNS, comment puis-je résoudre le problème des hôtes externes?

Détails de la configuration

  • Routeur: Netgear WNR2000v2. Le routeur me donne la possibilité de spécifier manuellement les serveurs DNS, ce qui suppose que je devrai pointer sur ma boîte Ubuntu si je veux que tout soit opérationnel.

  • MediaWiki et hôte Dnsmasq: exécute Ubuntu 12.04. J'ai eu quelques difficultés avec la config Dnsmasq (principalement à cause de mon inexpérience). Par exemple, je ne suis pas sûr, mais je pense que lors de l'installation, Ubuntu a modifié mes paramètres DNS afin que /etc/resolv.conf dispose désormais de 127.0.0.1 comme seul serveur DNS. À ce stade, je pouvais résoudre les hôtes locaux, mais rien d’autre. J'ai résolu ce problème temporairement en modifiant /etc/resolv.conf et en ajoutant 192.168.1.1 en tant que serveur de noms secondaire, mais le problème ici est que 192.168.1.1 utilisera la zone Ubuntu pour DNS. Est-ce que je manque quelque chose d'évident ici?

  • paramètres Dnsmasq: annulez les lignes suivantes:

    domain-needed
    bogus-priv
    local=/local/
    domain=local
    
16
Dan

Avec le DNS standard, vous exécuteriez un serveur DNS faisant autorité pour le domaine local (home. ou local., bien qu'il soit préférable d'éviter ce dernier (voir la remarque ci-dessous)), tout en agissant également comme un résolveur pour tous les autres domaines.

dnsmasq peut être utilisé à cet effet - le mode récursif est activé par défaut et votre configuration semble correcte; tout ce dont vous avez besoin est de lui indiquer les serveurs de noms à utiliser pour les domaines non locaux. Normalement, ceux-ci seraient lus à partir du fichier /etc/resolv.conf du système; Toutefois, comme vous souhaitez que le domaine local fonctionne également sur le serveur DNS, vous devez créer une copie dédiée de resolv.conf , qui ne serait utilisé que par dnsmasq , alors que l'original resolv.conf pointerait sur nameserver 127.0.0.1.

# cp /etc/resolv.conf /etc/dnsmasq-resolv.conf
# echo "nameserver 127.0.0.1" > /etc/resolv.conf
# dnsmasq -r /etc/dnsmasq-resolv.conf

Remarque: Ces instructions sont très basiques et doivent être adaptées à la distribution Linux utilisée. En particulier, consultez les guides Debian et Ubuntu sur dnsmasq.

Ensuite, le routeur doit être configuré pour utiliser cet ordinateur en tant que serveur DNS. toutes les requêtes DNS effectuées par les ordinateurs de votre réseau seraient alors traitées par dnsmasq .

(Les serveurs DNS complets, tels que bind9 , peuvent effectuer eux-mêmes des requêtes récursives. La configuration des serveurs de noms en amont devient tout à fait facultative. C'est ainsi que fonctionnent les serveurs de noms de votre fournisseur de services Internet. Cependant, l'hébergement votre propre domaine avec bind9 est assez compliqué au début, en comparaison avec le simple dnsmasq .


Remarque: Si vous avez Avahi (alias Bonjour) configuré sur un ordinateur du réseau (qu'Ubuntu possède, par défaut), il est préférable que vous évitiez local. dans DNS et choisissez plutôt home., car les noms sous la forme name.local sont déjà gérés par Avahi.

(Bien qu'Avahi ne réponde normalement qu'à current-hostname.local, il est en fait possible de publier des entrées supplémentaires telles que wiki.local; toutefois, il faudra ajouter des adresses IP supplémentaires en raison du fonctionnement de mDNS. Pour cette raison, utiliser Avahi au lieu d'un DNS centralisé n'offre plus d'avantages, donc je ne le suggère pas.)

7
grawity

J'ai trouvé le démon Avahi comme le moyen le plus simple de le faire. Remarque: si vous utilisez des machines Windows pour vous connecter au domaine .local, vous devez vous assurer qu'iTunes ou un autre client Bonjour est installé sur ces machines.

Consultez ce lien pour plus d'informations: http://www.howtogeek.com/167190/how-and-why-to-assign-the-.local-domain-to-your- framboise-pi/

Bien que ce lien soit spécifique au Raspberry Pi, il devrait fonctionner de la même manière sur les machines Ubuntu. Pour les autres distributions Linux n'utilisant pas apt-get, ajustez simplement apt-get au gestionnaire de paquets approprié - par exemple. yum pour Fedora et CentOS)

Voici les commandes exactes que j'ai exécutées pour que cela se produise sur mon serveur multimédia Raspberry Pi:

Sudo apt-get update && Sudo apt-get upgrade Sudo apt-get install avahi-daemon

À partir de là, il commence automatiquement à utiliser le nom d'hôte de votre ordinateur plus l'extension .local en tant que nom de domaine. Donc, si le nom d’hôte de votre ordinateur est mediaserver, vous pouvez y accéder sur le réseau en tapant mediaserver.local dans la barre d’URL de tout ordinateur sur lequel Bonjour/Avahi est présent (c’est-à-dire tous les Mac, ainsi que les ordinateurs Windows avec iTunes installé).

2
camercu

La résolution de noms locaux est une fonctionnalité simple et fait partie de la plupart des routeurs que j'ai utilisés. Il est également implémenté dans le micrologiciel DD-WRT. Netgear ne se soucie pas de cette fonctionnalité qui est constamment demandée .

Donc, la réponse est beaucoup plus simple que les autres réponses publiées ici: évitez les problèmes et remplacez votre routeur Netgerat par un support prenant en charge la résolution de noms locale. Ou, si ce n'est pas une option et que vous sentez la force et que vous avez le temps, lancez le flash DD-WRT dessus.

0
Oleg Mikheev