Im Internet, einschließlich lokaler Netzwerke, rufen sich Computer über IP-Adressen gegenseitig an . Um von Maschine A aus unter Verwendung des Namens von Maschine B auf Maschine B zuzugreifen, muss Maschine A eine Möglichkeit haben, den Namen von B seiner IP-Adresse zuzuordnen. Es gibt drei Möglichkeiten, Maschinennamen in A zu deklarieren:
- eine hosts-Datei . Dies ist eine einfache Textdatei, die Namen Adressen zuordnet.
- das Domain Name System (DNS) . Dies ist die im globalen Internet verwendete Methode. Wenn Sie diese Seite beispielsweise in einen Browser laden, sendet Ihr Computer zunächst eine DNS-Anfrage, um die Adresse von zu erfahren
unix.stackexchange.com
.
- andere Namensdatenbanken wie NIS , LDAP oder Active Directory . Diese werden in einigen Unternehmensnetzwerken verwendet, jedoch nicht sehr häufig (viele Netzwerke, die NIS, LDAP oder AD für Benutzerdatenbanken verwenden, verwenden DNS für Computernamen). Wenn Ihr Netzwerk eine dieser Funktionen verwendet, haben Sie einen professionellen Netzwerkadministrator und sollten ihn fragen, was zu tun ist.
Es gibt viele Möglichkeiten, wie diese in der Praxis funktionieren können. es ist unmöglich, sie alle abzudecken. In dieser Antwort beschreibe ich einige häufige Situationen.
Hosts-Datei
Die hosts-Dateimethode hat den Vorteil, dass keine spezielle Methode erforderlich ist. Es kann umständlich sein, wenn Sie über mehrere Computer verfügen, da Sie jeden Computer aktualisieren müssen, wenn sich der Name eines Computers ändert. Es ist nicht geeignet, wenn die IP-Adresse von B dynamisch zugewiesen wird (sodass Sie bei jeder Verbindung mit dem Netzwerk eine andere erhalten).
Eine Hosts-Datei ist eine einfache Liste von Zeilen, die Namen zu IP-Adressen zuordnen. Es sieht aus wie das:
127.0.0.1 localhost localhost.localdomain
198.51.100.42 darkstar darkstar.bands
Auf Unix-Systemen lautet die Hosts-Datei /etc/hosts
. Unter Windows ist es c:\windows\system32\drivers\etc\hosts
. Nahezu jedes Betriebssystem, mit dem Sie eine Verbindung zum Internet herstellen können, verfügt über eine ähnliche Datei. Wikipedia hat eine Liste .
So fügen Sie einen Eintrag für B in die Hosts-Datei von A ein:
Bestimmen Sie die IP-Adresse von B. Führen Sie auf B den Befehl aus ifconfig
(wenn der Befehl nicht gefunden wird, versuchen Sie es /sbin/ifconfig
). Die Ausgabe enthält folgende Zeilen:
eth1 Link encap:Ethernet HWaddr 01:23:45:67:89:ab
inet addr:10.3.1.42 Bcast:10.3.1.255 Mask:255.255.255.0
In diesem Beispiel lautet die IP-Adresse von B 10.3.1.42. Wenn mehrere inet addr:
Zeilen vorhanden sind , wählen Sie die Zeile aus, die Ihrer Netzwerkkarte entspricht, niemals den lo
Eintrag oder einen Tunnel oder virtuellen Eintrag.
- Bearbeiten Sie die Hosts-Datei auf A. Wenn A ein Unix-System ausführt, müssen Sie sie als Superuser bearbeiten
/etc/hosts
. Siehe Wie führe ich einen Befehl als Systemadministrator (root) aus ?
DHCP + DNS in Heim- oder kleinen Büronetzwerken
Diese Methode ist mit Abstand die einfachste, wenn Sie über die erforderliche Ausrüstung verfügen. Sie müssen nur ein Gerät konfigurieren, und alle Ihre Computer kennen die Namen der anderen. Bei dieser Methode wird davon ausgegangen , dass Ihre Computer ihre IP-Adressen über DHCP beziehen. Hierbei handelt es sich um eine Methode, mit der Computer automatisch eine IP-Adresse abrufen, wenn sie eine Verbindung zum Netzwerk herstellen. Wenn Sie nicht wissen, was DHCP ist, ist dies wahrscheinlich der Fall.
Wenn Ihr Netzwerk über einen Heimrouter verfügt , ist dies der beste Ort, um Namen für Computer zu konfigurieren, die an diesen Router angeschlossen sind. Zunächst müssen Sie die MAC-Adresse von B ermitteln. Jedes Netzwerkgerät verfügt über eine eindeutige MAC-Adresse. Führen Sie auf B den Befehl aus ifconfig -a
(wenn der Befehl nicht gefunden wird, versuchen Sie es /sbin/ifconfig -a
). Die Ausgabe enthält folgende Zeilen:
eth1 Link encap:Ethernet HWaddr 01:23:45:67:89:ab
In diesem Beispiel lautet die MAC-Adresse 01:23:45:67:89:ab
. Sie müssen die HWaddr-Leitung auswählen, die dem Netzwerkanschluss entspricht, der über ein Kabel mit dem Router verbunden ist (oder die WLAN-Karte, wenn Sie über WLAN verbunden sind). Wenn Sie mehrere Einträge haben und nicht wissen, um welche es sich handelt, schließen Sie das Kabel an und überprüfen Sie, welches Netzwerkgerät eine IP-Adresse erhält ( inet addr
Zeile direkt darunter).
Suchen Sie nun auf der Weboberfläche Ihres Routers nach einer Einstellung wie „DHCP“. Name und Ort der Einstellung hängen vollständig vom Router-Modell ab, die meisten verfügen jedoch über ähnliche Grundeinstellungen. So sieht es auf einer Tomato-Firmware aus :
Geben Sie die MAC-Adresse, eine IP-Adresse und den gewünschten Namen ein. Sie können eine beliebige IP-Adresse im Adressbereich Ihres lokalen Netzwerks auswählen. Die meisten Heimrouter sind für einen Adressbereich der Form 192.168 vorkonfiguriert. x . y oder 10. x . y . z . Auf dem oben gezeigten Tomato-Router gibt es beispielsweise auf der Registerkarte "Netzwerk" eine Einstellung für "Router-IP-Adresse" mit dem Wert 10.3.0.1 und eine Einstellung für "Subnetzmaske" mit dem Wert 255.255.255.0, was bedeutet, dass Computer eingeschaltet sind Das lokale Netzwerk muss eine Adresse der Form 10.3.0 haben. z . Es gibt auch einen Adressbereich für automatisch zugewiesene DHCP-Adressen (10.3.0.129–10.3.0.254). Wählen Sie für Ihre manuell zugewiesene DHCP-Adresse eine aus, die nicht in diesem Bereich liegt.
Verbinden Sie nun B mit dem Netzwerk. Es sollte die von Ihnen angegebene IP-Adresse erhalten und über den angegebenen Namen von jedem Computer im Netzwerk erreichbar sein.
Machen Sie Ihren eigenen DNS-Server mit Dnsmasq
Wenn Sie keinen fähigen Heimrouter haben, können Sie dieselbe Funktionalität auf jedem Linux-Computer einrichten. Ich werde erklären, wie Sie mit Dnsmasq DNS einrichten . Es gibt viele ähnliche Programme. Ich habe mich für Dnsmasq entschieden, weil es einfach zu konfigurieren und leicht zu handhaben ist (wie es beispielsweise der oben abgebildete Tomato-Router verwendet). Dnsmasq ist auf den meisten Linux- und BSD-Distributionen für PCs, Server und Netzwerkgeräte verfügbar.
Wählen Sie einen Computer, der immer eingeschaltet ist, eine statische IP-Adresse hat und auf dem eine Art Linux oder BSD ausgeführt wird. Nennen wir es S (für Server). Installieren Sie auf S das dnsmasq
Paket (sofern es nicht bereits vorhanden ist). Im Folgenden gehe ich davon aus, dass die Konfigurationsdatei ist /etc/dnsmasq.conf
; Der Speicherort kann bei einigen Distributionen variieren. Jetzt müssen Sie einige Dinge tun.
Sie können Dnsmasq auch als DHCP- Server verwenden, damit Computer automatisch die Adresse erhalten, die ihrem Namen entspricht. Dies würde den Rahmen dieser Antwort sprengen. Konsultieren Sie die Dnsmasq-Dokumentation (es ist nicht schwierig). Beachten Sie, dass in einem bestimmten lokalen Netzwerk nur ein einziger DHCP-Server vorhanden sein kann (die genaue Definition des lokalen Netzwerks würde den Rahmen dieser Antwort sprengen).
Namen im globalen Internet
Bisher habe ich ein lokales Netzwerk angenommen. Was ist, wenn Sie einer Maschine, die sich in einem anderen Winkel der Welt befindet, einen Namen geben möchten? Sie können weiterhin eine der oben genannten Techniken anwenden, mit der Ausnahme, dass die Teile, die DHCP betreffen, nur in einem lokalen Netzwerk anwendbar sind. Wenn Ihre Computer über öffentliche IP-Adressen verfügen, können Sie alternativ Ihren eigenen öffentlichen Namen für sie registrieren. (Sie können einem öffentlichen Namen auch eine private IP-Adresse zuweisen. Dies ist weniger verbreitet und weniger nützlich, es gibt jedoch keine technischen Schwierigkeiten.)
Erhalten Sie Ihren eigenen Domainnamen
Sie können Ihren eigenen Domainnamen erhalten und Hostnamen innerhalb dieser Domain IP-Adressen zuweisen. Sie müssen den Domainnamen bei einem Domainnamenanbieter registrieren. Dies kostet in der Regel 10 bis 15 US-Dollar pro Jahr (für die günstigsten Domains). Verwenden Sie die Webschnittstelle Ihres Domain Name Providers, um Hostnamen Adressen zuzuweisen.
Dynamisches DNS
Wenn Ihre Computer über eine dynamische IP-Adresse verfügen, können Sie das dynamische DNS- Protokoll verwenden, um die IP-Adresse zu aktualisieren, die dem Computernamen zugeordnet ist, wenn sich die Adresse ändert. Nicht alle Domain-Namen-Anbieter unterstützen dynamisches DNS. Kaufen Sie also vor dem Kauf ein. Für den persönlichen Gebrauch stellt No-IP einen kostenlosen dynamischen DNS-Dienst zur Verfügung, wenn Sie eigene Domains verwenden (z example.ddns.net
. B. ).
ping
) oder auf einem Computer, den der Client konsultiert, etwas tun . Was ist das Betriebssystem auf dem Client? Wie ist die DNS-Konfiguration?