detachbox
SeitenWas Terminals erreichen

Was Terminals erreichen

Ein Terminal auf deinem Node erreicht das Internet und nichts Privates: nicht dein LAN, nicht dein Rechenzentrum, nicht den Server, auf dem es läuft. Dein Admin öffnet interne Netze auf dem Server selbst, eins nach dem anderen.

Immer zu

Egal, welche Netze du öffnest, ein Terminal erreicht nie:

  • den Node selbst: jede Adresse des Servers, seine beiden Bridges und seine Incus-API;
  • Link-Local-Adressen, darunter die Metadaten-Adresse der Cloud, und Multicast;
  • ausgehende Mail auf TCP-Port 25;
  • andere Terminals: Der Netzwerkport jedes Terminals ist von allen anderen isoliert.

Zu, bis du sie öffnest

10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 und 100.64.0.0/10. Nur Netze innerhalb dieser vier Bereiche lassen sich öffnen; das öffentliche Internet ist schon offen.

Ein privates Netz öffnen

Auf dem Server, als root:

sudo detachbox-node-host private-networks                          # was jetzt offen ist
sudo detachbox-node-host private-networks --add 10.20.0.0/16       # ein Netz öffnen (--add für weitere wiederholen)
sudo detachbox-node-host private-networks --remove 10.20.0.0/16    # es schließen
sudo detachbox-node-host private-networks --clear                  # alle schließen
  • Jede Änderung schreibt private_networks in /etc/detachbox-node/node-host.json und startet node-host neu, der sie innerhalb von Sekunden auf die Firewall der Terminals anwendet. Offene Terminals bleiben verbunden.
  • Ein Netz, das nur aus dem Node besteht, etwa eine seiner Bridges oder seine eigene Adresse, lehnt der Befehl ab. Dein LAN lässt sich öffnen, und der Befehl sagt dir, dass die Adresse des Nodes darin zu bleibt.
  • Während eine Installation oder Deinstallation läuft, bewirkt eine Änderung nichts und nennt den Lauf, der den Server belegt.
  • Bei der Installation tut --private-network dasselbe, wie Den Node installieren zeigt.
  • sudo detachbox-node-host doctor prüft die Firewall gegen die Liste.

Die Liste liegt auf dem Node. Der detachbox-Server kann sie lesen, um sie anzuzeigen, ändern kann er sie nie: Nichts öffnet oder schließt ein Netz aus der Ferne.

Die Adressen des Nodes

Bei der Registrierung bekommt der Node eine eigene Domain: <id>.detachbox.dev, wobei <id> aus 8 zufälligen Kleinbuchstaben und Ziffern besteht. Seine Namen landen in öffentlichen Zertifikatslogs, darum trägt die ID nie den Namen deiner Firma.

AdresseWer antwortet
gw.<id>.detachbox.devDas Terminal-Gateway, über das das Dashboard deine Terminals öffnet
https://<port>-<terminal ID>.<id>.detachbox.devDie Preview eines Terminals für diesen Port
https://files-<terminal ID>.<id>.detachbox.devDie Dateiadresse und die Freigabelinks eines Terminals
node.<id>.detachbox.devnode-host, für Anfragen, die der detachbox-Server signiert, und sonst nichts

Alle erreichen deinen Server über seinen Cloudflare-Tunnel. Die Browser deiner Entwickler brauchen my.detachbox.com, api.detachbox.com und *.detachbox.dev.