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_networksin/etc/detachbox-node/node-host.jsonund 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-networkdasselbe, wie Den Node installieren zeigt. sudo detachbox-node-host doctorprü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.
| Adresse | Wer antwortet |
|---|---|
gw.<id>.detachbox.dev | Das Terminal-Gateway, über das das Dashboard deine Terminals öffnet |
https://<port>-<terminal ID>.<id>.detachbox.dev | Die Preview eines Terminals für diesen Port |
https://files-<terminal ID>.<id>.detachbox.dev | Die Dateiadresse und die Freigabelinks eines Terminals |
node.<id>.detachbox.dev | node-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.