Comment puis-je configurer un domaine «local» afin que tout le monde sur mon réseau local puisse voir un site hébergé localement?

16

Je souhaite configurer MediaWiki sur l'une de mes machines personnelles, puis faire en sorte que toutes les demandes effectuées sur le réseau local pour «wiki.home» ou «wiki.local» pointent vers cette case. 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 jouer avec le héberge le fichier afin de visualiser le site.

Existe-t-il un moyen simple de procéder? J'ai le wiki opérationnel et j'ai étudié dnsmasq, mais je n'arrive pas à comprendre comment configurer correctement le DNS. Étant donné que je veux une solution automatisée, je sens que je dois changer les paramètres DNS sur mon routeur, mais si je change les paramètres DNS là-bas, comment puis-je toujours résoudre les hôtes externes?

Détails de configuration

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

  • Hôte MediaWiki et dnsmasq: exécute Ubuntu 12.04. J'ai eu quelques difficultés avec la configuration 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 pour qu'ils /etc/resolv.confaient désormais 127.0.0.1comme seul serveur DNS. À ce stade, j'ai pu résoudre les hôtes locaux, mais rien d'autre. J'ai résolu ce problème temporairement en modifiant /etc/resolv.confet en ajoutant en 192.168.1.1tant que serveur de noms secondaire, mais le problème ici est qu'il 192.168.1.1utilisera la boîte Ubuntu pour DNS. Suis-je en train de manquer quelque chose d'évident ici?

  • paramètres dnsmasq: décommente les lignes suivantes:

    domain-needed
    bogus-priv
    local=/local/
    domain=local
    
Dan
la source
Pensez à publier vos détails de configuration. Et qu'avez-vous essayé? Quels paramètres avez-vous modifiés sur votre routeur? Quel type de routeur avez-vous? Je suppose que vous utilisez Linux, mais quelle distribution? Il y a tellement de choses qui pourraient mal tourner que nous pourrions écrire un livre sur le sujet;)
jmort253
dnsmasq fonctionnera, mais d'autres alternatives incluent mDNS et NIS .
Lèse majesté
pouvez-vous simplement changer le nom de votre machine sur le wifi?
ytpillai

Réponses:

8

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 note ci-dessous), mais agit également comme un résolveur pour tous les autres domaines.

dnsmasq peut être utilisé à cette fin - le mode récursif est activé par défaut et votre configuration semble correcte; il suffit de lui indiquer les serveurs de noms à utiliser pour les domaines non locaux. Normalement, ceux-ci seraient lus à partir du /etc/resolv.conffichier système ; cependant, comme vous souhaitez que le domaine local fonctionne également sur l'ordinateur serveur DNS, vous devrez créer une copie dédiée de resolv.conf qui ne serait utilisée que par dnsmasq , tandis que le resolv.conf d' origine pointerait vers 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.

Après cela, le routeur doit être configuré pour utiliser cet ordinateur comme serveur DNS; toutes les requêtes DNS des 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 entièrement facultative. C'est ainsi que fonctionnent les serveurs de noms de votre FAI, par exemple. Cependant, l'hébergement de votre propre domaine avec bind9 est assez compliqué au début, dans comparaison avec le dnsmasq simple .)


Remarque: Si Avahi (aka Bonjour) est configuré sur n'importe quel ordinateur du réseau (qu'Ubuntu a, par défaut), il est préférable d' éviter local.dans DNS et de choisir quelque chose comme à la home.place, car les noms sous la forme de name.localsont 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; elles auront toutefois besoin d'ajouter des adresses IP supplémentaires en raison du fonctionnement de mDNS. Pour cette raison, l'utilisation d'Avahi au lieu du DNS centralisé ne signifie pas offrent plus d'avantages, donc je ne le suggère pas.)

user1686
la source
2

J'ai trouvé que le démon Avahi était 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-raspberry-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 qui n'utilisent pas apt-get, ajustez- apt-getvous simplement à votre gestionnaire de paquets approprié - par exemple yumpour Fedora et CentOS)

Voici les commandes exactes que j'ai exécutées pour que cela se passe 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' .localextension comme nom de domaine. Donc, si le nom d'hôte de votre machine est mediaserver, vous pouvez y accéder sur le réseau en tapant mediaserver.localdans la barre d'URL de toute machine sur laquelle Bonjour / Avahi est installé (c'est-à-dire tous les Mac, plus les machines Windows avec iTunes installé).

camercu
la source
0

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 firmware 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 publiées ici - évitez les ennuis et changez votre routeur Netgerat en quelque chose qui prend en charge la résolution de noms locaux. Ou, si ce n'est pas une option, et que vous sentez la force et que vous avez le temps, flashez DD-WRT dessus.

Oleg Mikheev
la source