Subnet-Router

Ein Subnet-Router ist ein Mitglied, das Verkehr aus dem Netz in sein LAN weiterreicht. Dein Laptop erreicht dann den Drucker zu Hause von überall, obwohl auf dem Drucker kein juist läuft.

Worum es geht

Dein NAS zu Hause ist ein Mitglied, ein Gerät, das zu deinem Netz gehört (So funktioniert juist). Der Drucker daneben ist keins; auf ihm läuft kein juist. Ein Subnet-Router macht solche Geräte trotzdem für jedes Mitglied erreichbar: Das NAS nimmt deren Verkehr aus dem Tunnel und reicht ihn in sein LAN weiter, in diesem Beispiel 192.168.1.0/24. Ein Subnetz ist so ein Bereich von Adressen.

Zwei Schritte machen ein Gerät zum Subnet-Router. Ein Admin, also eine Person, deren Schlüssel Änderungen am Netz bestätigt, gibt dem Gerät das Subnetz. Dann stimmt der Operator des Geräts zu, mit juist subnet serve auf dem Gerät. Der Operator ist der lokale Benutzer, der ein Gerät ohne sudo verwaltet.

Die Geräte im LAN sehen die Verbindungen vom NAS kommen. Sie brauchen also keine eigene Einstellung.

Einen Subnet-Router einrichten

1auf dem Gerät eines Admins

nas sein LAN für jedes Mitglied routen lassen:

juist subnet add nas 192.168.1.0/24

Braucht eine Änderung mehr als einen Admin, wartet sie auf die anderen (wie Änderungen bestätigt werden).

2auf nas, dem Subnet-Router

Zustimmen, das zu routen, was das Netz diesem Gerät gibt:

juist subnet serve

Beim ersten Mal fragt es, ob es ein Einrichtungsskript mit sudo ausführen darf. Das Skript schaltet IP-Forwarding ein und lässt den Verkehr durch die Firewall. Danach steht da routing 192.168.1.0/24.

3auf laptop

Hier ist nichts zu tun. Jedes Mitglied übernimmt die Route von selbst; juist subnet zeigt sie:

$ juist subnet
PREFIX          ROUTER  STATE
192.168.1.0/24  nas     in use

Dein eigenes LAN bleibt deins

Ein Mitglied, das diese Adressen über eine eigene Route erreicht, nutzt weiter diese Route. Ist dein Laptop zu Hause selbst im 192.168.1.0/24, spricht er direkt mit dem Drucker und nicht über das NAS. juist subnet sagt dann this device reaches it by a route of its own.

Gut zu wissen

  • juist subnet listet jedes Subnetz, seinen Router und was dieses Gerät damit macht. juist status fasst es in der Zeile Subnets zusammen.
  • juist subnet remove nas 192.168.1.0/24 auf dem Gerät eines Admins nimmt das Subnetz wieder weg.
  • juist subnet serve --stop beendet das Routen auf dem Router und macht die Einrichtung rückgängig.
  • juist subnet off auf einem Gerät erreicht keins der Subnetze mehr über das Netz; der Rechner routet sie wie vorher selbst. juist subnet on macht das rückgängig.
  • Zwei Mitglieder können keine überlappenden Subnetze routen, und ein Subnetz darf die eigenen Adressen des Netzes nicht überlappen. Für das ganze Internet (0.0.0.0/0) nimmst du einen Exit-Node.
  • Jedes Mitglied erreicht ein geroutetes Subnetz: Es gibt noch keine Zugriffsregeln (ACLs), die das einschränken.
  • Neben einem Exit-Node geht ein geroutetes Subnetz weiter über seinen Router.
  • Subnet-Router laufen unter Linux, und unter FreeBSD mit pf.
  • Docker verwirft gerouteten Verkehr zu seinen Containern. juist subnet serve warnt, wenn ein Subnetz ein Docker-Netz enthält.

Wenn etwas nicht klappt

Auf dem Gerät, das ein Subnetz nicht erreicht, nennt juist subnet den Grund nach not in use::

Es steht daWas zu tun ist
its router cannot be reachedden Router wieder online bringen
its router's operator has not agreed to route itauf dem Router juist subnet serve ausführen
subnets are off on this devicejuist subnet on
this device's view of the network is staleeinen Voucher, ein Gerät, das den aktuellen Stand des Netzes bestätigt, wieder online bringen; siehe Status

Auf dem Router selbst heißt not routed: not agreed to on this device, dass dort juist subnet serve noch nicht gelaufen ist. juist subnet serve gibt will route once an admin grants this device a subnet aus, solange ihm kein Subnetz gegeben wurde.