Wie kann ich eine "lokale" Domain einrichten, damit jeder in meinem lokalen Netzwerk eine lokal gehostete Site anzeigen kann?

Ich möchte MediaWiki auf einem meiner Heimcomputer einrichten und dann alle Anfragen im lokalen Netzwerk für ' wiki.Heimat "oder " wiki".lokale ' zeigen Sie auf diese Box. Ich weiß, dass dies getan werden kann, indem jede /etc/hosts-Datei einzeln bearbeitet wird, aber ich möchte etwas Automatisierteres, damit beispielsweise ein Freund oder ein Familienmitglied, das zu mir nach Hause kommt, nicht mit der Hosts-Datei herumspielen muss, um die Site anzuzeigen.

Gibt es einen einfachen Weg, dies zu tun? Ich habe das Wiki läuft und ich habe dnsmasq untersucht, aber ich kann nicht herausfinden, wie ich den DNS richtig einrichten kann. Da ich eine automatisierte Lösung möchte, muss ich die DNS-Einstellungen auf meinem Router ändern, aber wenn ich die DNS-Einstellungen dort ändere, wie kann ich dann immer noch externe Hosts auflösen?

Konfigurationsdetails

  • Router: Netgear WNR2000v2. Der Router gibt mir die Möglichkeit, DNS-Server manuell anzugeben, von denen ich annehme, dass ich auf mein Ubuntu verweisen muss box, wenn ich das zum Laufen bringen will.

  • MediaWiki und dnsmasq Host: Läuft Ubuntu 12.04. Ich hatte einige Schwierigkeiten mit der dnsmasq-Konfiguration (hauptsächlich aufgrund meiner Unerfahrenheit). Zum Beispiel bin ich mir nicht sicher, aber ich denke, Ubuntu hat während der Installation meine DNS-Einstellungen so geändert, dass /etc/resolv.conf jetzt 127.0.0.1 als einzigen DNS-Server hatte. Zu diesem Zeitpunkt konnte ich die lokalen Hosts auflösen, aber sonst nichts. Ich habe dies vorübergehend gelöst, indem ich /etc/resolv.conf geändert und 192.168.1.1 als sekundären Nameserver hinzugefügt habe, aber die Sorge hier ist, dass 192.168.1.1 die Ubuntu-Box für DNS verwenden wird. Fehlt mir hier etwas Offensichtliches?

  • Dnsmasq-Einstellungen: kommentierte die folgenden Zeilen nicht:

    domain-needed
    bogus-priv
    local=/local/
    domain=local
    
Author: justnajm, 2012-04-08

3 answers

Mit Standard-DNS würden Sie einen DNS-Server ausführen, der für die lokale Domäne autorisierend ist (home. oder local., obwohl es besser ist, letzteres zu vermeiden – siehe Hinweis unten), aber auch als Resolver für alle anderen Domänen fungiert.

dnsmasq kann für diesen Zweck verwendet werden – der rekursive Modus ist standardmäßig aktiviert und Ihre Konfiguration sieht gut aus; Alles, was benötigt wird, ist ihm mitzuteilen, welche Nameserver für nicht lokale Domänen verwendet werden sollen. Normalerweise würden diese von system /etc/resolv.conf datei; Da Sie jedoch möchten, dass die lokale Domäne auch auf dem DNS-Servercomputer funktioniert, müssen Sie eine dedizierte Kopie von resolv erstellen.conf, das nur von dnsmasq, während das Original resolv.conf würde auf nameserver 127.0.0.1 zeigen.

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

Hinweis: Diese Anweisungen sind sehr einfach und sollten an die verwendete Linux-Distribution angepasst werden. Überprüfen Sie insbesondere die Anleitungen Debian und Ubuntu auf dnsmasq.

Nach dies, Der Router muss so konfiguriert werden, dass dieser Computer als DNS-Server verwendet wird; Alle DNS-Abfragen von Computern in Ihrem Netzwerk würden dann von dnsmasq behandelt.

(DNS-Server mit vollem Funktionsumfang wie bind9 können rekursive Abfragen selbst durchführen – das Konfigurieren von Upstream-Nameserver ist völlig optional. So funktionieren beispielsweise die Nameserver Ihres ISP. Das Hosten Ihrer eigenen Domain mit bind9 ist jedoch im Vergleich dazu zunächst ziemlich kompliziert mit dem einfachen dnsmasq.)


Hinweis: Wenn Sie Avahi (auch bekannt als Bonjour) auf einem beliebigen [[14]} Computer im Netzwerk konfiguriert haben (den Ubuntu standardmäßig hat), ist es am besten, wenn Sie Vermeiden Sie local. in DNS und wählen Sie stattdessen etwas wie home., da Namen in Form von name.local bereits von Avahi behandelt werden.

(Obwohl Avahi normalerweise nur auf current-hostname.local antwortet, ist es tatsächlich möglich, zusätzliche Einträge wie wiki.local zu veröffentlichen; Sie benötigen jedoch zusätzliche IP-Adressen, die aufgrund der Funktionsweise von mDNS hinzugefügt werden müssen. Aus diesem Grund bietet die Verwendung von Avahi anstelle von zentralisiertem DNS keine weiteren Vorteile, daher schlage ich dies nicht vor.)

 12
Author: user1686,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2014-06-26 09:59:23

Ich fand den Avahi-Daemon der einfachste Weg, dies zu tun. Hinweis: wenn Sie Windows-Maschinen verwenden, um die Verbindung herzustellen .lokale Domäne, Sie müssen sicherstellen, dass auf diesen Computern entweder iTunes oder ein anderer Bonjour-Client installiert ist.

Schauen Sie sich diesen Link für weitere Informationen: http://www.howtogeek.com/167190/how-and-why-to-assign-the-.local-domain-to-your-raspberry-pi/

Obwohl dieser Link spezifisch für den Raspberry Pi ist, sollte er auf Ubuntu-Computern genauso funktionieren Weg. Für andere Linux-Distributionen, die apt-get nicht verwenden, passen Sie einfach apt-get an Ihren entsprechenden Paketmanager an ( z. B. yum für Fedora und CentOS)

Hier sind die genauen Befehle, die ich ausgeführt habe, um dies auf meinem Raspberry Pi-Medienserver zum Laufen zu bringen:

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

Von dort aus wird automatisch der Hostname Ihres Computers sowie die Erweiterung .local als Domänenname verwendet. Wenn also der Hostname Ihres Computers mediaserver ist, können Sie im Netzwerk darauf zugreifen, indem Sie mediaserver.local in die URL-Leiste eines beliebigen maschine, auf der Bonjour/Avahi installiert ist (dh alle Macs sowie Windows-Computer mit installiertem iTunes).

 4
Author: camercu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2015-08-18 18:28:20

Die lokale Namensauflösung von

Ist eine einfache Funktion und Teil der meisten Router, die ich verwendet habe. Es ist auch in der DD-WRT-Firmware implementiert. Netgear kümmert sich nicht um diese Funktion, die ständig angefordert wird .

Also, die Antwort, die viel einfacher ist als die anderen, die hier gepostet wurden-vermeiden Sie die Probleme und ändern Sie Ihren Netgerat-Router in etwas, das die lokale Namensauflösung unterstützt. Oder, wenn das keine Option ist, und Sie fühlen sich die Stärke und bekam die Zeit, Flash-DD-WRT auf sie.

 1
Author: Oleg Mikheev,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-12-04 07:56:47