Mehrere Netze
Ein Gerät kann gleichzeitig in mehr als einem Netz sein, etwa in einem Netz für zu Hause und einem für die Arbeit. Jedes Netz läuft neben den anderen, mit eigenem Daemon, eigener Adresse und eigenen Schlüsseln.
Worum es geht
Dein Laptop gehört vielleicht zu deinem Netz zu Hause und zum Netz deines Teams. Die beiden haben verschiedene Admins, verschiedene Geräte und verschiedene Regeln. juist hält sie auf dem Laptop getrennt: Jedes Netz hat seine eigene juistd. juistd ist der Daemon, der Dienst im Hintergrund, der die Tunnel hält (So funktioniert juist).
Das erste Netz läuft in juistd.service. Jedes weitere läuft in einer
nummerierten Instanz daneben: juistd@juist1, juistd@juist2 und so weiter.
Jede hat ihr eigenes Netzwerkgerät (juist0, juist1, …), ihr eigenes
Zustandsverzeichnis und ihre eigenen Ports.
Einem zweiten Netz beitreten oder eines anlegen
Mit dem Link aus der Einladung dem anderen Netz beitreten, wie beim ersten:
sudo juist join 'juist:…'Das neue Netz, etwa work, läuft neben home. juist create work geht
genauso für ein eigenes Netz. Ohne sudo fragt juist einmal nach sudo, um die
neue juistd zu starten.
Beide prüfen:
juist status
juist devicesjuist status zeigt beide Netze nacheinander, jedes mit seiner juistd als
Überschrift. juist devices listet die Geräte aller Netze.
juist sagen, welches Netz gemeint ist
Ein Befehl, der ein Netz betrifft, nimmt es als erstes Argument, mit seinem Namen oder dem Namen seiner juistd:
juist devices work # mit Namen
juist devices juist1 # mit juistd
juist invite work # bei mehreren Netzen sagen, welches
juist network renumber work 10.7.0.0/24Ist das Gerät nur in einem Netz, kannst du den Namen weglassen.
--network NAME tut dasselbe für jeden Befehl, ebenso die Umgebungsvariable
$JUIST_NETWORK.
Die Übersichten status, devices, network und admins zeigen alle Netze,
wenn du keines nennst. Jeder andere Befehl hält an, statt zu fragen, welches
Netz du meinst, und nennt sie:
$ juist invite
juist: this device is in 2 networks: home (juist0), work (juist1)
hint: name one first: juist invite home [NAME]
Ist das eigene Argument eines Befehls optional, kommt der Name des Netzes
zuerst. Um ein Gerät namens home ins Netz home einzuladen, führst du
juist invite home home aus.
Überlappende Adressbereiche
Zwei Netze dürfen IPv4-Bereiche haben, die sich überschneiden. Beide laufen
trotzdem auf einem Gerät: das in der höher nummerierten juistd nur über IPv6.
juist status sagt das, und welches du umnummerieren sollst:
$ juist status
…
warning: no IPv4 on this host: "home" (juist0) holds 198.18.36.2, which "work" claims too (198.18.36.0/22)
hint: renumber one of the two networks: juist network renumber juist1 PREFIX, or the other
Sobald eines der beiden umnummeriert ist, kommt IPv4 von selbst zurück.
Jedes Netz hat seinen eigenen Admin-Schlüssel
Ein Admin-Schlüssel ist der Schlüssel, mit dem ein Admin Änderungen
signiert. Jedes Netz bekommt einen eigenen, etwa admins/alice@home.key und
admins/alice@work.key. Ein verlorener oder gestohlener Schlüssel kostet dann
nur ein Netz. Soll ein neues Netz mit einem Schlüssel verwaltet werden, den du
schon hast, sag es: juist create lab --admin-key alice@home. Mehr dazu steht
unter Mehrere Admins.
Ein Netz verlassen
juist reset work --forceDamit verlässt das Gerät work, und dessen juistd wird entfernt. home
bleibt, wie es ist, mit seinen Schlüsseln. --force ist nötig, solange work
dieses Gerät noch führt; entferne das Gerät dort vorher, wo es geht
(Schlüssel).
Gut zu wissen
- Ein Host betreibt höchstens zehn juistds:
juistd.serviceundjuistd@juist1bisjuistd@juist9. - Die Ports der n-ten juistd sind die der ersten plus 10·n: 41653/udp für
juistd@juist1, und der Log-Abgleich auf TCP 41654 anjuist1. Die Firewall-Profile der Pakete nennen die Ports des ersten Netzes;juist statusnennt die der anderen (Relays, Ports und Firewalls). - Läuft die juistd des zweiten Netzes nicht, startest du sie mit
sudo systemctl enable --now juistd@juist1;journalctl -u juistd@juist1zeigt ihr Log. - Unter FreeBSD stehen die Instanzen der weiteren Netze in der
rc.conf-Variable
juistd_instances, undservice juistd start juist1startet eine. - Ein Gerät kann nur einmal im selben Netz sein. Eine Einladung sagt nicht, für welches Netz sie ist, deshalb wird ein zweiter Beitritt erst einmal aufgenommen. Die neue juistd lehnt das Netz dann ab und sagt, welche Aufnahme ein Admin entfernen soll.
- Ein Gerät in mehreren Netzen schickt seinen Internetverkehr nur über einen Exit-Node eines Netzes.
- Alle juistds laufen als derselbe Benutzer,
juist. Wer eine übernimmt, hat die Geräteschlüssel aller Netze auf dem Host. - Die Mitglieder eines Netzes können die Adressen erfahren, die dieser Host in seinen anderen Netzen hat, und damit, in welchen Bereichen er ist.