
(Tut mir leid, wenn diese Frage nicht gut formuliert ist und/oder doppelt gestellt wird. Ich bin kein Netzwerker und verwende wahrscheinlich nicht die richtigen Begriffe. Außerdem ist dadurch schwer zu erkennen, ob sie bereits beantwortet wurde.)
Ich betreibe einen CentOS-Server in VirtualBox, einem Windows-Host, und kann http://192.168.1.109/
von Maschinen in meinem LAN aus auf Apache-gehostete Seiten zugreifen. Aber ich möchte, dass die Leute Folgendes eingeben können http://hostname/
… sowohl weil es einfacher ist als auch weil ich nicht sicher bin, ob die lokale IP statisch ist. Ich bin mir nicht sicher, wie ich vorgehen soll – kann mir jemand den richtigen Weg weisen? Danke.
Antwort1
Ich gehe davon aus, dass Sie ein Bridged Networking verwenden (sonst wäre die VM nicht so leicht zugänglich gewesen). Die Konfiguration des DNS für das LAN hängt von der Box ab, die es steuert (ich nehme an, einem Heimrouter).
Wenn dieser Router zu primitiv ist und keinen eigenen DNS-Server hat oder Sie ihn nicht konfigurieren möchten, können Sie mDNS verwenden. InstallierenAvahiauf Linux-Rechnern undBonjourauf Windows-Boxen.
Antwort2
Sie könnten unter Windows eine Hosts-Datei erstellen, die auf 192.168.1.109 als „Webserver“ oder einen beliebigen anderen Namen verweist, sodass der Windows-Host darauf zugreifen kann. Dies setzt voraus, dass sich Ihr Windows-Computer ebenfalls auf 192.168.1.x befindet und die Verbindung überbrückt ist. Andernfalls könnten Sie Ihre NAT-basierte virtuelle Netzwerkverbindung über Portweiterleitung einrichten, aber als ich es das letzte Mal mit Virtualbox versucht habe, war das eine ziemliche Herausforderung, also habe ich überbrücktes Netzwerk verwendet.
Andernfalls müssen Sie einen internen DNS-Server mit den richtigen Datensätzen für diese IP einrichten. Für das, was Sie beschreiben, wäre das ein Overkill.
Suchen Sie in Google nach Hosts-Datei-Windows, um Informationen zur Einrichtung zu erhalten. Nur eine einfache Textdatei auf Ihrem Windows-Hostsystem, die aber nur auf diesem System funktioniert, nicht für alle in Ihrem Netzwerk. Wenn sie Windows verwenden, benötigen Sie auch auf ihren Rechnern benutzerdefinierte HOSTS-Dateien. Nur umständlich, wenn Sie viele Rechner haben. Wenn Sie an einer größeren Site arbeiten, müssen Sie den DNS-Server-Weg wählen, dessen anfängliche Einrichtung nur etwa drei Größenordnungen aufwändiger ist, es sei denn, Sie virtualisieren einen DNS-Server :-)
Antwort3
Wenn Ihre Hosts dynamische IPs haben, benötigen Sie einen DHCP-Server, der entweder mit dem DNS-Server kommuniziert oder selbst ein DNS-Server ist. Ich verwende auf meinen Linux-basierten Routern immer DNSMasq, die DHCP und Namensauflösung durchführen.
Wenn Ihr Router keinen Nameserver unterstützt, können Sie einen Nameserver wie Bind einrichten, der weiß, welcher Host sich wo befindet. Der Nachteil eines separaten Nameservers besteht jedoch darin, dass Sie Ihren Hosts statische IPs zuweisen und diese IPs dann im Nameserver benennen müssen.
Als letzte Möglichkeit können Sie auch die Hosts-Datei auf jedem Client bearbeiten, der den Server nach Namen suchen können muss. Ich brauche einen Eintrag wie „192.168.1.1 bla.localdomain bla“. Der Speicherort der Hosts-Datei hängt vom Betriebssystem ab.
Antwort4
Wenn Sie nicht sicher sind, ob die IP-Adresse statisch ist, möchten Sie wahrscheinlich prüfen, ob der Webserver einen DNS-Eintrag im LAN hat, damit er immer gefunden werden kann. Das Problem mit Hosts-Dateien auf den Testclients besteht darin, dass sie davon ausgehen, dass die IP-Adresse statisch ist. Wenn sich die IP-Adresse ändert, müssen Sie die Hosts-Datei also ständig aktualisieren, was lästig ist.
Die einfachste Lösung wäre, dem Webserver eine statische Adresse zuzuweisen (entweder indem Sie ihm einfach eine statische Adresse zuweisen oder indem Sie eine „DHCP-Reservierung“ konfigurieren). Anschließend können Sie einfach Barts Idee umsetzen und die Hosts-Datei verwenden.