Ich möchte MediaWiki auf einem meiner Heimcomputer einrichten und dann alle Anfragen im lokalen Netzwerk nach "wiki.home" oder "wiki.local" auf dieses Feld verweisen lassen. Ich weiß, dass dies durch Bearbeiten jeder / etc / hosts-Datei einzeln geschehen kann, aber ich möchte etwas Automatischeres, damit zum Beispiel ein Freund oder ein Familienmitglied, das zu mir nach Hause kommt, nicht mit dem herumspielen muss Hosts-Datei, um die Website anzuzeigen.
Gibt es eine einfache Möglichkeit, dies zu tun? Ich habe das Wiki eingerichtet und habe mich mit dnsmasq befasst, aber ich kann nicht herausfinden, wie das DNS richtig eingerichtet wird. Da ich eine automatisierte Lösung haben möchte, muss ich die DNS-Einstellungen meines Routers ändern. Wie kann ich externe Hosts trotzdem auflösen, wenn ich dort die DNS-Einstellungen ändere?
Konfigurationsdetails
Router: Netgear WNR2000v2. Der Router bietet mir die Möglichkeit, DNS-Server manuell anzugeben. Ich gehe davon aus, dass ich auf meine Ubuntu-Box verweisen muss, wenn ich diese zum Laufen bringen möchte.
MediaWiki und dnsmasq Host: Läuft Ubuntu 12.04. Ich hatte einige Probleme mit der dnsmasq-Konfiguration (hauptsächlich aufgrund meiner Unerfahrenheit). Ich bin mir zum Beispiel nicht sicher, aber ich denke, Ubuntu hat während der Installation meine DNS-Einstellungen so geändert, dass sie
/etc/resolv.conf
jetzt127.0.0.1
als einziger DNS-Server verfügbar sind. Zu diesem Zeitpunkt konnte ich die lokalen Hosts auflösen, aber sonst nichts. Ich habe dieses Problem vorübergehend gelöst, indem/etc/resolv.conf
ich192.168.1.1
den sekundären Nameserver geändert und hinzugefügt habe , aber hier geht es darum, dass192.168.1.1
die Ubuntu-Box für DNS verwendet wird. Vermisse ich hier etwas Offensichtliches?dnsmasq settings: Folgende Zeilen wurden nicht kommentiert:
domain-needed bogus-priv local=/local/ domain=local
Antworten:
Mit Standard-DNS würden Sie einen DNS-Server ausführen, der für die lokale Domäne autorisierend ist (
home.
oderlocal.
, obwohl es besser ist, letzteres zu vermeiden - siehe Hinweis unten), der jedoch auch als Auflöser 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. Sie müssen lediglich angeben, welche Nameserver für nicht lokale Domänen verwendet werden sollen. Normalerweise werden diese aus der Systemdatei gelesen
/etc/resolv.conf
. aber da Sie die lokale Domäne Arbeit auf dem DNS - Server - Computer zu wollen, müssen Sie eine eigene Kopie erstellen resolv.conf , die nur verwendet werden würde dnsmasq , während die ursprüngliche resolv.conf Punkt würdenameserver 127.0.0.1
.Hinweis: Diese Anweisungen sind sehr einfach und sollten an die verwendete Linux-Distribution angepasst werden. Überprüfen Sie insbesondere die Debian- und Ubuntu- Handbücher auf dnsmasq.
Danach muss der Router so konfiguriert werden, dass er diesen Computer als DNS-Server verwendet. Alle DNS-Abfragen von Computern in Ihrem Netzwerk würden dann von dnsmasq verarbeitet .
(DNS-Server mit vollem Funktionsumfang wie bind9 können rekursive Abfragen selbst durchführen. Die Konfiguration von Upstream-Nameservern ist dann völlig optional. So funktionieren beispielsweise die Nameserver Ihres Internetdienstanbieters . Das Hosten Ihrer eigenen Domain mit bind9 ist jedoch zunächst recht kompliziert.) Vergleich mit dem einfachen dnsmasq .)
Hinweis: Wenn Sie Avahi (auch bekannt als Bonjour) auf einem Computer im Netzwerk konfiguriert haben (das standardmäßig von Ubuntu verwendet wird), vermeiden
local.
Sie am besten DNS und wählen Siehome.
stattdessen etwas wie , da Namen in Form vonname.local
bereits von Avahi verarbeitet werden .(Obwohl Avahi normalerweise nur antwortet,
current-hostname.local
ist es tatsächlich möglich, zusätzliche Einträge zu veröffentlichen, wie z.wiki.local
B.: Aufgrund der Funktionsweise von mDNS müssen jedoch zusätzliche IP-Adressen hinzugefügt werden. Aus diesem Grund ist es nicht möglich, Avahi anstelle von zentralem DNS zu verwenden bieten keine weiteren Vorteile, also schlage ich es nicht vor.)quelle
Ich fand, dass der Avahi-Dämon der einfachste Weg ist, dies zu tun. Hinweis: Wenn Sie mit Windows-Computern eine Verbindung zur lokalen Domäne herstellen, müssen Sie sicherstellen, dass auf diesen Computern iTunes oder ein anderer Bonjour-Client installiert ist.
Weitere Informationen finden Sie unter diesem Link: 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-Rechnern genauso funktionieren. Für andere Linux-Distributionen, die nicht verwendet werden
apt-get
, passenapt-get
Sie einfach 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
Ab diesem Zeitpunkt wird automatisch der Hostname Ihres Computers sowie die
.local
Erweiterung als Domänenname verwendet. Wenn also der Hostname Ihres Computers lautetmediaserver
, können Sie im Netzwerk darauf zugreifen, indem Siemediaserver.local
in die URL-Leiste jedes Computers eingeben, auf dem Bonjour / Avahi installiert ist (dh auf allen Macs sowie auf Windows-Computern, auf denen iTunes installiert ist).quelle
Die Auflösung lokaler Namen ist eine einfache Funktion und Teil der meisten Router, die ich verwendet habe. Es ist auch in DD-WRT-Firmware implementiert. Netgear kümmert sich nicht um diese Funktion, die ständig angefordert wird .
Die Antwort ist also viel einfacher als die hier veröffentlichten - vermeiden Sie die Probleme und ändern Sie Ihren Netgerat-Router auf etwas, das die lokale Namensauflösung unterstützt. Oder wenn dies keine Option ist und Sie die Stärke spüren und die Zeit haben, setzen Sie DD-WRT darauf.
quelle