Namen
Jedes Gerät in deinem Netz hat einen Namen, etwa nas.home.juist oder einfach nas. Du kannst auch einen öffentlichen Namen wie mail.example.org auf ein Gerät zeigen lassen, damit Mitglieder es durch den Tunnel erreichen.
Worum es geht
Jedes Gerät im Netz ist ein Mitglied, und jedes Mitglied hat einen Namen.
juist macht daraus einen DNS-Namen: DEVICE.NETWORK.juist. Im Netz home ist
das Gerät nas also nas.home.juist, und nas allein geht auch. Dafür musst
du nichts einschalten.
Du kannst außerdem einen öffentlichen Namen auf ein Mitglied zeigen lassen.
Angenommen, auf deinem NAS läuft ein Mailserver, den das Internet als
mail.example.org kennt. Auf Geräten, die öffentliche Namen eingeschaltet
haben, führt mail.example.org dann durch den Tunnel zum NAS statt über das
Internet. Der Name bleibt derselbe, also passt das Zertifikat des Servers
weiterhin. Der Rest des Internets löst weiter den öffentlichen Eintrag auf.
Beides funktioniert unter Linux, auf Geräten, auf denen systemd-resolved läuft.
Der Resolver von FreeBSD kann diese Namen nicht weiterleiten, darum
funktionieren sie dort nicht, und juist status sagt das.
Ein Gerät über seinen Namen erreichen
ssh nas.home.juist
ssh nasBeides führt zum NAS, an seine Adressen im Netz.
Einen öffentlichen Namen auf ein Gerät zeigen lassen
Den Namen auf das Gerät zeigen lassen:
juist names add nas mail.example.orgEs gibt nas: names mail.example.org aus. Das ist eine Änderung am Netz und
braucht darum die Bestätigung der Admins wie jede andere
(Änderungen bestätigen).
Öffentliche Namen auf diesem Gerät einschalten:
juist names onEs gibt public names on: mail.example.org at nas aus.
juist names listet die öffentlichen Namen und wie dieses Gerät jeden
auflöst. juist names off löst sie wieder öffentlich auf, und
juist names remove nas mail.example.org nimmt dem Gerät den Namen wieder.
Warum jedes Gerät sie selbst einschaltet
Ein öffentlicher Name im Netz setzt sich über das hinweg, was das Internet sagt. Die Admins, die eine solche Änderung bestätigen, könnten jeden öffentlichen Namen auf ein Mitglied ihrer Wahl zeigen lassen. Eine Verbindung, die ein Zertifikat prüft, scheitert dann, weil das Mitglied kein Zertifikat für diesen Namen hat. Unverschlüsseltes HTTP, Mail ohne geprüftes Zertifikat und viele interne Werkzeuge würden es nicht merken.
Darum entscheidet jedes Gerät selbst. Ein Gerät, auf dem niemand
juist names on ausgeführt hat, löst jeden öffentlichen Namen auf wie ohne
juist. Die Namen der Mitglieder, etwa nas.home.juist, beanspruchen nichts
außerhalb des Netzes und brauchen keine Zustimmung.
Gut zu wissen
- Ein öffentlicher Name hat mindestens zwei Labels, etwa
example.org, und liegt nicht unter.juist. - Jeder öffentliche Name zeigt auf ein Gerät. Ein Gerät kann bis zu 32 haben.
- Ein öffentlicher Name wird wieder öffentlich aufgelöst, solange sein Gerät nicht erreichbar ist oder die Sicht dieses Geräts auf das Netz veraltet ist. Die Verbindung geht dann an die öffentliche Adresse, wie ohne juist.
- Ein Gerät, dessen Name kein gültiges DNS-Label ist, hat keinen Namen unter
.juist. - Ein Name, der über eine Ingress veröffentlicht ist, auf Port 443, führt Mitglieder mit eingeschalteten Namen ebenfalls direkt zu seinem Gerät.
juist deviceszeigt die öffentlichen Namen eines Geräts unterROLES, alsnames mail.example.org.
Wenn etwas nicht klappt
Die Zeile Names in juist status sagt, wie
dieses Gerät die Namen des Netzes auflöst:
Names sagt | Bedeutung |
|---|---|
home.juist | die Namen der Mitglieder funktionieren |
home.juist; mail.example.org at nas | die Namen der Mitglieder und die öffentlichen Namen funktionieren |
home.juist; 1 public name, off on this device | es gibt einen öffentlichen Namen, aber dieses Gerät hat Namen nicht eingeschaltet |
home.juist not resolved: systemd-resolved refused juistd | systemd-resolved hat juistd das DNS nicht einrichten lassen |
home.juist not resolved: /etc/resolv.conf lists every link's servers, systemd-resolved's uplink mode, not its stub | Programme hier umgehen systemd-resolved |
Hat systemd-resolved juistd abgewiesen, ergänzt juist status:
hint: the package's polkit rule allows juistd that: /usr/share/polkit-1/rules.d/60-juist.rules
Installiere juist als Paket (siehe Installation),
das diese Regel mitbringt. Für den Uplink-Modus nennt der Hinweis den Befehl,
der /etc/resolv.conf auf den Stub zeigen lässt:
sudo ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf