Wie erreiche ich einen Host im selben Netzwerk über den Hostnamen?

11

Ich habe ein Netzwerk, das ein paar Hosts verbindet. Ich möchte in der Lage sein, andere Hosts von einem von ihnen unter Verwendung des Hostnamens zu erreichen. Ich habe gerade die ".local" -Domain entdeckt, die über avahiund verfügbar ist /etc/nsswitch.conf. Auf meinen Servern ist dies jedoch nicht so eingerichtet. Und ich möchte keinen Eintrag in meinem DNS-Server erstellen. Gibt es einen anderen Weg, dies zu tun?

Benzol
quelle
Avahi mDNS ist ziemlich gut für Ihre Bedürfnisse. Informationen /etc/nsswitch.confzur Konfiguration finden Sie in der Antwort .
Ulidtko

Antworten:

10

Ihre /etc/nsswitch.conf sollte dies bereits für mDNS (avahi) haben:

hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4

Installieren avahi-daemonSie es einfach auf den Computern, auf denen Sie miteinander sprechen möchten, und Sie sollten HOSTNAME.local wie folgt verwenden:

ssh yourmachine.local
Kees Cook
quelle
2
Dies ist die Antwort, von der ich mir wünschte, ich könnte sie zweimal verbessern.
Ulidtko
2

Eine Alternative besteht darin, einen Eintrag in Ihre /etc/hostsDatei einzufügen:

gksudo gedit /etc/hosts

Ein Eintrag hat die Form 123.123.123.123 host.domainoder nur 123.123.123.123 host.

Wenn Sie das tun, können Sie jetzt zum Beispiel ssh hostund es wird eine Verbindung zu123.123.123.123

Kenny Rasschaert
quelle
Entschuldigung, ich vergesse zu erwähnen, dass ich dies aus zwei Gründen nicht tun möchte. Erstens aus Sicherheitsgründen diese Maschinen einen Server. Und ich denke, es könnte ein Problem sein. Zweitens weiß ich, dass meine Hosts dort bald ihre IP-Adresse ändern werden. Und ich möchte dieses Conf nicht jedes Mal aktualisieren. Bearbeiten: Ein dritter Grund, ich benutze DHCP, so dass der Netzwerkmanager häufig einen neuen generiert. Aber ich weiß, dass es einen Trick gibt, den man machen kann.
Benzol
1

Ich habe eine andere Lösung gefunden. Unter Verwendung der Datei /etc/dhccp3/dhcient.conf beginnt eine Zeile wie folgt: send host-name Diese kann geändert werden, um den Hostnamen 'server1' zu senden.

Diese Lösung sieht gut aus, aber ich weiß nicht, ob auf jedem Computer, der dieselbe DNS verwendet, mein Hostname "server1" angezeigt wird.

Eine weitere schlechte Seite dieser Lösung, ich muss den Hostnamen hier und in der angeben /etc/hosts

Ich weiß nur, dass diese Datei ( /etc/dhcp3/dhclient.conf) kein Skript ist, daher kann ich keine Umgebungsvariable verwenden, um diese Zeile korrekt zu füllen.

Benzol
quelle
1

Sie können dynamisches DHCP den Eintrag in DNS anstelle von sich selbst hinzufügen lassen.

Henrik
quelle
1
Aber ich möchte nicht, dass sie dem gesamten Internet ausgesetzt werden.
Nur
0

Wenn Sie avahi-daemon verwenden, müssen Sie möglicherweise ssh.services in / etc / avahi / services kopieren. Auf meiner,

sudo cp /usr/share/doc/avahi-daemon/examples/ssh.service /etc/avahi/services/

David Herrera
quelle