Angenommen, ich habe zwei Computer mit Hostnamen pc1
und pc2
in meinem lokalen Netzwerk 10.0.0.0/24
. Mein Router hat die IP-Adresse 10.0.0.138
und laut Anleitung ist er auch unter erreichbar. modem.home
Das habe ich versucht und es stimmt.
Ich möchte mich per SSH von zu verbinden pc1
und pc2
dafür den Hostnamen und nicht die IP-Adresse verwenden. Das host
Kommando unter Linux liefert mir jedoch dieses Ergebnis, wenn ich die IP-Adresse von verwende pc2
:
host 10.0.0.53
Host 53.0.0.10.in-addr.arpa not found: 2(SERVFAIL)
Ich habe versucht, etwas darüber herauszufinden, was das bedeutet, und ich glaube, es besagt, dass
Nun zu meinen Fragen:
- Was genau ist die
.home
Domäne? Ist sie normal oder wird sie nur von meinem Router eingerichtet? - Wie kann ich meine (Linux-)Computer zu dieser Domäne hinzufügen, damit ich die Hostnamen der anderen Geräte (im lokalen Netzwerk) abrufen kann?
Antwort1
Was genau ist die .home-Domäne? Ist sie normal oder wird sie nur von meinem Router eingerichtet?
Es ist lediglich etwas, das Ihr Router einrichtet.
Wie viele Router betreibt er intern einen DNS-Cache/Proxy und gibt sich in allen DHCP-Antworten als DNS-Server aus. Der DNS-Proxy des Routers ist so konfiguriert, dass er *.home
Namen aus der lokalen Konfiguration bereitstellt, anstatt die Abfragen an den DNS des ISPs weiterzuleiten. (Sie finden diese Funktion in dnsmasq, wenn Sie vorhaben, Ihre eigene zu erstellen.)
Der Router hat den Namen modem.home
statisch definiert, um immer seine eigene IP zurückzugeben, aber andere *.home
Subdomänen werden normalerweise aus der Lease-Datenbank des DHCP-Servers gelesen.
Wie kann ich meine (Linux-)Computer zu dieser Domäne hinzufügen, damit ich die Hostnamen der anderen Geräte (im lokalen Netzwerk) abrufen kann?
Stellen Sie sicher, dass Ihre Computer DHCP verwenden und dass ihre DHCP-Clients bei Anfragen immer die Option „Hostname“ (12) angeben. Wenn der Computer beispielsweisedhclient, send host-name = gethostname();
zu seiner Konfiguration hinzufügen.
Antwort2
Was genau ist die
.home
Domäne? Ist sie normal oder wird sie nur von meinem Router eingerichtet?
Während.homesUnd.home.arpasind für bestimmte Verwendungszwecke definiert, die .home
Domäne scheint derzeit nicht definiert zu sein (soweit ich weiß). Das heißt, dieRFC für .home.arpaAnmerkungen:
Das Home Networking Control Protocol (HNCP) wird aktualisiert, um die Domäne „home.arpa.“ anstelle von „.home“ zu verwenden.
.home
Es scheint also , dass in diesem Fall eine gewisse Chance besteht, dass es für den Einsatz mitHNCPfähige Geräte, z. B. für automatische Erkennung, Konfiguration usw. Aber das ist reine Spekulation.
Wie kann ich meine (Linux-)Computer zu dieser Domäne hinzufügen, damit ich die Hostnamen der anderen Geräte (im lokalen Netzwerk) abrufen kann?
Sie sollten die Einstellungen Ihres Routers prüfen, um zu sehen, ob es eine Option zum Hinzufügen zusätzlicher Hostnamen und IPs für die lokale Auflösung gibt.
Andernfalls besteht die einfachste Methode, wie in einer anderen Antwort auf diese Frage ausführlich beschrieben, darin, die hosts
Datei auf jedem PC zu verwenden, um Hostnamen-/IP-Adresszuordnungen zu definieren:
Beispiel hosts
(PC 1 → 10.0.0.10
)
10.0.0.20 pc2.home
Beispiel hosts
(PC 2 → 10.0.0.20
)
10.0.0.10 pc1.home
Die hosts
Datei befindet sich unter /etc/hosts
Linux/MacOS und C:\windows\system32\drivers\etc\hosts
Windows im Allgemeinen unter.
hosts
Beachten Sie, dass Sie Ihre Datei möglicherweise bearbeiten /etc/nsswitch.conf
und sicherstellen müssen, dass der files
Eintrag unter zuerst aufgeführt wird , wenn bei der Verwendung unter Linux Probleme auftreten hosts:
.
Andere Optionen
Lokaler DNS-Server
Wenn Sie nicht alle Details zu Ihrem Router kennen, ist es (theoretisch) möglich, dass Sie einfach einen lokalen DNS-Server einrichten, der .home
auch Domänen bedient.
Im Wesentlichen müssten Sie:
Legen Sie einen PC als DNS-Server fest. Dies kann jeder beliebige PC in Ihrem Netzwerk sein, er muss jedoch für die DNS-Auflösung ständig verfügbar (dauerhaft eingeschaltet) sein.
Installieren Sie DNS-Server-Software auf diesem PC (zBBINDEN,DNS-Masq, usw.)
Konfigurieren Sie die DNS-Serversoftware wie folgt:
- Erkennen Sie zB.
pc1.home
undpc2.home
über zB einzelne Zonendateien, mit entsprechenden IP-Adresszuordnungen (wahrscheinlich die beste Option).
oder
Lösen Sie die gesamte
.home
Domäne auf und fügen Sie z. B.pc1.home
undpc2.home
mit entsprechenden IP-Adresszuordnungen zu dieser Zonendatei hinzu (wahrscheinlich nicht die beste Option).Senden Sie alle anderen Anfragen upstream (z. B. an die DNS-Server Ihres ISPs).
- Erkennen Sie zB.
Richten Sie Ihren Router zur DNS-Auflösung auf Ihren DNS-Server aus (z. B. unter den Adresseinstellungen des Routers für den Domain Name Server (DNS). Sie müssen wahrscheinlich auch die Ports 53 und 953 an den DNS-Server weiterleiten.
.local Domänen
.home
Wenn Sie nicht an die Domäne gebunden sind , .local
wird normalerweise verwendet fürmDNS (ZeroConf) DNS. Laut derWikipedia-Artikel zu Multicast DNS (mDNS):
In Computernetzwerken löst das Multicast-DNS-Protokoll (mDNS) Hostnamen in IP-Adressen in kleinen Netzwerken auf, die keinen lokalen Nameserver enthalten. Es handelt sich um einen Dienst ohne Konfiguration, der im Wesentlichen dieselben Programmierschnittstellen, Paketformate und Betriebssemantiken wie das Unicast Domain Name System (DNS) verwendet.
mDNS ist auf verschiedenen Linux-Distributionen häufig verfügbar überavahi.
Antwort3
Für zwei Computer ist meiner Meinung nach keine Domäne erforderlich. Tragen Sie den Namen des anderen Computers in Ihre lokale HOSTS-Datei ein. Führen Sie dies für jeden Computer aus. Anschließend können Sie die Computer mit dem Namen ansprechen.
Die lokale Hosts-Datei befindet sich hier: https://www.makeuseof.com/tag/modify-manage-hosts-file-linux/