Internetverkehr über ein eigenes Gateway
Den Internetverkehr einer Gruppe von einer öffentlichen Adresse unter Ihrer Kontrolle ausgehen lassen: erst auf einem Gerät testen, dann ausrollen. Etwa 45 Minuten.
Was Sie erreichen werden
Der Internetverkehr der Personen, die Sie auswählen, geht von einer öffentlichen Adresse unter Ihrer Kontrolle aus, wo auch immer sie arbeiten.
Am Ende erreicht ein Testgerät das Internet über die Adresse Ihres Gateways, und ein Gerät außerhalb der Gruppe nutzt weiterhin seine eigene.
Wann Sie das brauchen
Nutzen Sie diese Anleitung, wenn der gesamte Internetverkehr einer Gruppe von Personen über einen einzigen Punkt ins Internet gehen muss:
- Ein Partner akzeptiert nur Verbindungen von Adressen auf seiner Positivliste.
- Ihr Unternehmen verlangt, dass Internetverkehr einen Punkt passiert, an dem Sie ihn protokollieren und prüfen können.
- Mitarbeitende sind oft in öffentlichen WLANs unterwegs, und ihr Verkehr soll von der Adresse des Unternehmens ausgehen statt von der des Cafés.
Gesamter Verkehr oder nur einige Dienste?
Brauchen nur wenige Dienste die feste Adresse, etwa die API eines Partners oder ein Bankportal, leiten Sie nicht den gesamten Verkehr über ein Gateway. Veröffentlichen Sie nur diese Dienste als Ressourcen, die über die Gateway-Maschine laufen, und lassen Sie alles andere lokal hinausgehen; das funktioniert auch mit den Apps für macOS und Windows. Siehe gezielte Ressourcen statt einer Standardroute.
Was Sie brauchen
Was als Erforderlich markiert ist, genügt für das erste Testgerät.
| Was | Wozu | |
|---|---|---|
| Erforderlich | Die Rolle Owner oder Admin im Dashboard | Ein Network Admin kann alle übrigen Schritte ausführen, aber weder den Registrierungsschlüssel anlegen noch die Gruppen eines Mitglieds festlegen |
| Erforderlich | Eine Linux-VM mit fester öffentlicher IPv4-Adresse, Root-Rechten darauf und einer Firewall oder Security Group, die ihr den Weg ins Internet erlaubt | Sie wird zu gateway-fra1 und schickt den Verkehr aller ins Internet. Es muss Linux sein: Nur dort schaltet der Agent die IP-Weiterleitung ein. --block-lan-access deckt nur die Subnetze der eigenen Netzwerkschnittstellen des Gateways ab; Wo das Gateway laufen sollte beschreibt, wie es von allem anderen fernbleibt |
| Erforderlich | Ein Testgerät, installiert und verbunden: ein Smartphone mit der SXAccess-App (iOS oder Android) oder ein Computer mit dem CLI-Agenten (Linux oder macOS) | Die Apps für macOS und Windows nutzen noch keine Internet-Gateways; deren Verkehr geht weiterhin über die lokale Verbindung hinaus |
| Optional | Ein zweites Gerät, das außerhalb der Gruppe bleibt | Belegt, dass das Gateway nur für die Gruppe gilt |
| Optional | Die Personen, die es nutzen werden | Beginnen Sie mit einem Gerät; die anderen kommen in Schritt 8 hinzu |
| Fortgeschritten | Eine zweite Linux-VM wie die erste | Wird zu gateway-fra2, für das Failover in Schritt 9 |
Bevor Sie beginnen
Das Testgerät schickt seinen Internetverkehr durch den Tunnel zu gateway-fra1, und das Internet sieht die Adresse des Gateways.
Was eine Standardroute ändert
Ein Internet-Gateway ist eine Route nach 0.0.0.0/0, also zu jeder IPv4-Adresse im Internet. Ein Gerät, das sie erhält, schickt seinen gesamten Internetverkehr in den Tunnel, und das Gateway leitet ihn von seiner eigenen öffentlichen Adresse aus weiter. Verkehr zu anderen SXAccess-Geräten und zu Ihren privaten Netzen nimmt weiterhin seinen eigenen Weg.
Ein Gerät nutzt das Gateway, sobald es dieses erhält, außer jemand hat es auf diesem Gerät ausgeschaltet. Gefragt wird niemand, und den meisten fällt es erst auf, wenn etwas langsam ist. Deshalb beginnt diese Anleitung mit einem einzigen Testgerät.
Einrichtung
- 1
Die beiden Gruppen anlegen
People › Groups › Create group. Geben Sie den Namen ein, und wählen Sie Create group. Legen Sie auf diese Weise zwei Gruppen an:
internet-gateway- die Gateway-Maschine. Diese Gruppe wird die Access Group des Gateways.gateway-pilot- die Geräte, deren Internetverkehr über das Gateway läuft. Vorerst nur das Testgerät.
Warum: Gateway und Zugriffsregel nennen Gruppen und bleiben deshalb richtig, wenn Maschinen und Personen wechseln.
Sie sehen: zwei neue, leere Gruppen.
- 2
Einen Registrierungsschlüssel für das Gateway anlegen
Access › Enrollment keys › Create enrollment key:
- Name -
gateway-fra1. - Make this key reusable - aus. Eine Maschine.
- Expires in -
1Tag. - Temporary devices - aus, sonst wird das Gateway nach 10 Minuten offline entfernt.
- Auto-assigned groups -
internet-gateway.
Wählen Sie dann Create enrollment key.
Warum die Gruppe: Sie nimmt die VM beim Beitritt in
internet-gatewayauf, und die Zugriffsregel aus Schritt 6 nennt diese Gruppe.Sie sehen:
Enrollment key created successfully!und den Schlüssel, mit dem Hinweis, dass er nicht noch einmal angezeigt wird. Kopieren Sie ihn jetzt. - Name -
- 3
Den Agenten auf der Gateway-VM installieren
Der Schlüssel kommt in eine Datei, nicht auf die Kommandozeile, wo die Shell-Historie ihn behalten würde. Führen Sie den Block in bash oder zsh als root aus. Fügen Sie den ganzen Block ein und drücken Sie einmal Enter. Sobald
Enrollment key:erscheint, fügen Sie den Schlüssel ein, und nur ihn, und drücken Sie Enter. Der Schlüssel wird nicht angezeigt, und bei einer leeren Zeile fragt der Block erneut. Die Schlüsseldatei wird am Ende gelöscht, ob der Beitritt gelungen ist oder nicht. Haben Sie den Block mit Strg+C abgebrochen, löschen Sie sie mitrm -f /run/secrets/sxaccess-key.--block-lan-accessdeckt nur die Subnetze der eigenen Netzwerkschnittstellen des Gateways ab; Wo das Gateway laufen sollte beschreibt, wie es von allem anderen fernbleibt.Um die IP-Weiterleitung müssen Sie sich nicht kümmern: Der Agent schaltet sie selbst ein.
Sie sehen:
This device is now connected. Öffnen Sie unter Devices das Gerätgateway-fra1, und notieren Sie seine Public IP: die Adresse, die das Internet für jedes Gerät sieht, das das Gateway nutzt.curl -fsSL https://pkgs.sxaccess.com/install.sh | sh{ install -d -m 700 /run/secrets install -m 600 /dev/null /run/secrets/sxaccess-key KEY='' until [ -n "$KEY" ]; do printf 'Enrollment key: '; read -rs KEY || break; echo; done [ -n "$KEY" ] && printf '%s' "$KEY" > /run/secrets/sxaccess-key && unset KEY && sxaccess start --enrollment-key-file /run/secrets/sxaccess-key --hostname gateway-fra1 --block-lan-access && sxaccess info rm -f /run/secrets/sxaccess-key} - 4
Ein Testgerät in gateway-pilot aufnehmen
Nur ein Gerät, und zwar ein Smartphone mit der SXAccess-App oder ein Computer mit dem CLI-Agenten. Weisen Sie ihm die Gruppe auf eine von zwei Arten zu:
- Nur dieses Gerät: Devices › das Gerät › Assigned groups. Fügen Sie
gateway-pilothinzu, und wählen Sie Save changes. - Alle Geräte einer Person: People › Members › die Person › Access. Fügen Sie
gateway-pilotunter Auto-assigned groups hinzu, und wählen Sie Save Changes. Die Gruppenweitergabe überträgt das auf jedes Gerät, das die Person schon hat; nutzen Sie diesen Weg also nur für jemanden, dessen einziges Gerät das Testgerät ist.
Warum nur eines: Sobald Schritt 6 gespeichert ist, läuft der Internetverkehr dieses Geräts sofort über das Gateway.
Sie sehen:
gateway-pilotunter den Gruppen des Geräts in Devices. - Nur dieses Gerät: Devices › das Gerät › Assigned groups. Fügen Sie
- 5
Das Internet-Gateway anlegen
Networks › Internet gateways › Add Internet gateway. Beginnen Sie hier, nicht beim Gerät: Nur so öffnet das Dashboard in Schritt 6 die Zugriffsregel für Sie. Das Panel hat vier Ansichten:
- Route - Wählen Sie unter Routing Device die Maschine
gateway-fra1aus, dann Continue. - Groups - Applies to:
gateway-pilot, niemalsAll, denn diese Gruppe enthält jedes Gerät. Access Groups (optional):internet-gateway. Wählen Sie dann Continue; die Schaltfläche bleibt ausgegraut, bis Applies to eine Gruppe enthält. Diese Ansicht hat kein Back: Für eine andere Maschine wählen Sie Cancel und beginnen von vorn. - Name - Network Identifier:
internet-fra1. Das ist die ID, diesxaccess reachverwendet; halten Sie sie kurz, ohne Leerzeichen und höchstens 40 Zeichen lang. Wählen Sie dann Continue. - Settings - Lassen Sie Enable Route eingeschaltet und Metric auf
9999; die Metrik zählt erst, wenn eine zweite Maschine das Gateway bereitstellt. Wählen Sie dann Add Internet Gateway.
Einen Masquerade-Schalter gibt es nicht: Ein Gateway verwendet immer Masquerade, weil der Verkehr von seiner eigenen Adresse ausgehen muss.
Warum Access Groups: Mit ihnen leitet das Gateway nur weiter, was eine Zugriffsregel zu
internet-gatewayerlaubt. Ohne sie leitet es alles weiter, was die Geräte senden, an jede Adresse, die es erreicht.Sie sehen:
internet-fra1im Reiter Internet gateways, und ein Panel für die Zugriffsregel öffnet sich von selbst. - Route - Wählen Sie unter Routing Device die Maschine
- 6
Die Zugriffsregel speichern, die das Dashboard öffnet
Das Panel, das sich nach Add Internet Gateway öffnet, ist die Zugriffsregel, bereits ausgefüllt: Allow
gateway-pilotto reachinternet-gatewayover any protocol, One-way. Es trägt den Titel Edit access rule, doch die Regel existiert erst, wenn Sie sie speichern.- Access rule name - vorbelegt mit
internet-fra1 access rule. Benennen Sie die Regel nach ihrem Zweck um, etwa Pilotgeräte nutzen das Internet-Gateway. - over - Behalten Sie any protocol bei. Das Gateway leitet für diese Geräte nur weiter, was diese Regel erlaubt; eine engere Regel schneidet den Rest ihres Internetverkehrs ab. Die Regel öffnet ihnen außerdem jeden Port auf
gateway-fra1selbst. Alles, was auf der VM lauscht, auch SSH, wird für diese Geräte erreichbar; beschränken Sie solche Dienste auf das Nötigste.
Wählen Sie dann Save access rule.
Warum: Ein Gerät erhält das Gateway erst, wenn eine Zugriffsregel es mit der Gateway-Maschine verbindet. Haben Sie das Panel zu früh geschlossen? Legen Sie dieselbe Regel unter Access › Access rules › Create access rule an, und schließen Sie mit Create access rule ab.
Sie sehen: Das Dashboard wechselt zu Access › Access rules. Dort ist Ihre Regel eingeschaltet und mit All ports · TCP + UDP markiert. Die Seite warnt, dass sie jeden Port öffnet; bei dieser Regel ist das so gewollt.
- Access rule name - vorbelegt mit
- 7
Auf dem Testgerät prüfen
Bevor jemand anderes das Gateway erhält, führen Sie auf dem Testgerät die Prüfungen unter Prüfen aus.
Warum jetzt: Bei einem Gerät ist das schnell rückgängig gemacht, bei einem ganzen Team nicht.
Sie sehen: Der Verkehr des Testgeräts geht von der Public IP von
gateway-fra1aus, und ein Gerät außerhalb vongateway-pilotbehält seine eigene Adresse. - 8
Den Kreis erweitern
Hat das Testgerät die Prüfung bestanden, nehmen Sie weitere Personen auf. Am schnellsten geht es, indem Sie sie über ihre Auto-assigned groups in
gateway-pilotaufnehmen, wie in Schritt 4. Auf Dauer besser ist eine Gruppe, die nach diesen Personen benannt ist, etwafield-staff:- Legen Sie
field-staffwie in Schritt 1 an. Fügen Sie die Gruppe bei jeder Person unter Auto-assigned groups hinzu, und wählen Sie Save Changes. - Öffnen Sie im Reiter Internet gateways die Zeile
internet-fra1, und wählen Sie im Menü des Eintragsgateway-fra1die Option Edit. Fügen Siefield-staffunter Applies to hinzu, und wählen Sie Save Changes. - Öffnen Sie unter Access › Access rules die Regel aus Schritt 6, fügen Sie
field-staffals Quelle hinzu, und wählen Sie Save access rule.
Warum an beiden Stellen: Applies to bestimmt, wer das Gateway erhält, die Regel, wer es nutzen darf. Eine Gruppe, die nur an einer der beiden Stellen steht, bekommt nichts.
Sie sehen:
field-staffin der Spalte Applies to des Eintragsgateway-fra1. Jedes Gerät wechselt in dem Moment, in dem es die Gruppe erhält. Erweitern Sie deshalb schrittweise, und beobachten Sie die Last der VM: siehe Dimensionierung eines Gateways. - Legen Sie
- 9
Eine zweite Gateway-Maschine hinzufügen
Damit der Ausfall einer Maschine niemanden vom Internet trennt:
- Registrieren Sie
gateway-fra2wie in den Schritten 2 und 3. Dafür brauchen Sie einen neuen Schlüssel mitinternet-gatewayunter Auto-assigned groups, denn der erste ließ sich nur einmal verwenden. Ändern Sie im Block aus Schritt 3 nurgateway-fra1ingateway-fra2;--block-lan-accessbleibt. - Wählen Sie im Reiter Internet gateways in der Spalte Failover der Zeile
internet-fra1die Option Add Device. Wählen Sie in Add routing device die Maschinegateway-fra2, und setzen Sie Applies to und Access Groups (optional) genau wie bei der ersten Maschine:gateway-pilot(undfield-staff, falls hinzugefügt) undinternet-gateway. Wählen Sie dann Add Route. Das Formular beginnt leer, und andere Gruppen würden bei jedem Failover ändern, wer das Gateway erhält. - Beide Maschinen haben jetzt Metric
9999. Wählen Sie bei jedem Eintrag Edit, und öffnen Sie im Panel Update internet-fra1 den Reiter Settings. Geben Sie der bevorzugten Maschine die niedrigere Metric, etwa100fürgateway-fra1und200fürgateway-fra2, und wählen Sie dann Save Changes.
Sie sehen: 2 Device (s) in der Spalte Failover. Antwortet die bevorzugte Maschine nicht mehr, wechseln die Geräte zur anderen; offene Verbindungen brechen dabei ab, weil sich die Adresse ändert, von der sie ausgehen. Wie jedes Gerät seine Wahl trifft, beschreibt der Abschnitt Redundanz.
- Registrieren Sie
Prüfen
Prüfen Sie aus einem anderen Netz als dem des Gateways, etwa über Mobilfunk auf dem Smartphone. Zwei Geräte, die denselben Weg ins Internet teilen, zeigen ohnehin dieselbe öffentliche Adresse; der Test würde dann nichts belegen.
Erwartetes Ergebnis
Öffnen Sie auf dem Testgerät eine beliebige Website, die Ihre öffentliche Adresse anzeigt. Sie muss die Public IP von gateway-fra1 aus Schritt 3 zeigen. Auf einem Computer ohne Browser rufen Sie eine solche Seite mit curl ab.
- Auf dem Smartphone: Resources führt
internet-fra1als Internet-Gateway auf, mit eingeschaltetem Schalter. Siehe iOS und Android. - Mit dem CLI-Agenten: Führen Sie die beiden Befehle unten aus.
sxaccess reach listzeigtinternet-fra1mitnetwork: 0.0.0.0/0undstate: Selected. Insxaccess info -dzeigt der Eintrag fürgateway-fra1die ZeileReaches: 0.0.0.0/0, und seine Werte unterTransferredwachsen, während Sie surfen. - Im Dashboard: Unter Devices steht neben dem Namen von
gateway-fra1ein Wegweiser-Symbol. Wenn Sie mit der Maus darauf zeigen, erscheint ein Hinweis, der mitThis device is an internet gateway.beginnt. Nur Owner und Admins sehen das Symbol.
sxaccess reach listsxaccess info -dDann die Hälfte prüfen, die sich nicht ändern darf
Auf einem Gerät, das nicht in gateway-pilot ist, zeigt dieselbe Website weiterhin die eigene Adresse dieses Geräts. Sein Bildschirm Resources führt internet-fra1 nicht auf, und sxaccess reach list zeigt kein 0.0.0.0/0.
Ein Gerät herausnehmen und wieder aufnehmen
Schalten Sie internet-fra1 auf dem Smartphone unter Resources aus. Beim erneuten Einschalten fragt die App nach: auf dem iPhone mit Route all traffic through internet-fra1? und Route all traffic, unter Android mit Use internet-fra1 for Internet traffic? und Enable Internet Gateway. Select all schaltet nie ein Gateway ein, und Android nutzt jeweils nur ein Gateway.
Mit dem CLI-Agenten nehmen Sie das Gerät mit dem ersten Befehl unten heraus. Er gibt The networks are no longer selected. aus, und die Website zeigt wieder die eigene Adresse des Geräts. Der zweite Befehl nimmt es wieder auf und gibt The networks are now selected. aus; dank -a bleiben die übrigen Netze des Geräts ausgewählt.
sxaccess reach remove internet-fra1sxaccess reach add -a internet-fra1Fehlersuche
Von oben nach unten. Die ersten drei Fragen decken die meisten Fälle ab.
| Frage | Wenn nein | Wo |
|---|---|---|
| Ist das Testgerät ein Smartphone mit der SXAccess-App oder ein Computer mit dem CLI-Agenten? | Die Apps für macOS und Windows führen das Gateway unter Resources auf, leiten aber noch keinen Verkehr darüber, auch wenn sein Schalter eingeschaltet erscheint; ihr Verkehr geht weiterhin lokal hinaus. Testen Sie mit einem Smartphone oder dem CLI-Agenten. | Das Testgerät |
Führt das Testgerät internet-fra1 auf, unter Resources oder in sxaccess reach list? | Es hat das Gateway nicht erhalten. Prüfen Sie unter Devices, ob es in gateway-pilot ist und ob gateway-fra1 in internet-gateway ist; ohne diese Gruppe verbindet die Regel das Gerät mit nichts. Prüfen Sie dann, ob die Zugriffsregel aus Schritt 6 existiert und eingeschaltet ist und ob der Eintrag gateway-fra1 auf Active steht. | Devices, Access rules, Internet gateways |
Ist es eingeschaltet (beim CLI-Agenten state: Selected)? | Schalten Sie es auf dem Smartphone ein, und bestätigen Sie. Unter Android schalten Sie zuerst „Privates DNS“ aus (Einstellungen › Netzwerk & Internet › Privates DNS); bis dahin kann das Gateway nicht starten, und die App nennt den Grund. Mit dem CLI-Agenten führen Sie sxaccess reach add -a internet-fra1 aus. | Das Testgerät |
| Funktioniert das Internet auf dem Testgerät noch? | Ist gateway-fra1 unter Devices online? Erreicht die VM selbst das Internet, oder blockiert ihre Firewall oder Security Group das? Nennt die Regel noch any protocol? Das Gateway leitet nur weiter, was sie erlaubt. Um den Personen in der Zwischenzeit ihre eigene Verbindung zurückzugeben, schalten Sie Active bei den Einträgen des Gateways aus. | Devices, die VM, Access rules |
| Hat die Website eine IPv4-Adresse? | Nur IPv4 läuft über das Gateway, und IPv6-Internetverkehr funktioniert nicht, solange ein Gerät es nutzt. Eine Website, die nur über IPv6 erreichbar ist, lädt daher nicht. Schalten Sie das Gateway auf diesem Gerät aus, um sie zu erreichen. | Das Testgerät |
| Bleiben die Geräte aus dem Netz der VM heraus? | Erreichen sie ein Subnetz der eigenen Netzwerkschnittstellen der VM, ist das Gateway ohne --block-lan-access beigetreten: Führen Sie auf gateway-fra1 sxaccess stop && sxaccess start --block-lan-access aus. Führen Sie es als eine Zeile aus: Eine Verbindung über SXAccess, etwa eine SSH-Sitzung zu dieser Maschine, bricht ab, bis start fertig ist. In einer Sitzung über sxaccess shell klappt das nicht: Beim Stoppen schließt der Agent diese Sitzung und beendet den Befehl. Nutzen Sie dafür die Konsole oder eine OpenSSH-Sitzung. Die Geräte, die es nutzen, verlieren dabei für einige Sekunden das Internet. --block-lan-access deckt nur die Subnetze der eigenen Netzwerkschnittstellen des Gateways ab; Wo das Gateway laufen sollte beschreibt, wie es von allem anderen fernbleibt. | Ein Terminal auf der VM |
| Ist es schnell genug? | Ein Gateway leitet den gesamten Internetverkehr seiner Geräte weiter. Beobachten Sie Netzwerkdurchsatz und CPU der VM, geben Sie ihr mehr Ressourcen, oder fügen Sie wie in Schritt 9 eine zweite Maschine hinzu. | Dimensionierung |
| Kommen Sie immer noch nicht weiter? | Zerlegen Sie die Verbindung Stufe für Stufe. | Nachvollziehen, warum eine Verbindung blockiert wird |
Erweiterte Konfiguration
Nichts davon ist für einen funktionierenden Aufbau nötig.
Sofort abschalten
Öffnen Sie im Reiter Internet gateways die Zeile internet-fra1, und schalten Sie beim Eintrag jeder Maschine Active aus. Jedes Gerät nutzt dann wieder seine eigene Verbindung; schalten Sie die Einträge wieder ein, um das rückgängig zu machen. Um stattdessen nur eine Gruppe herauszunehmen, wählen Sie bei jedem Eintrag Edit und entfernen die Gruppe aus Applies to.
Entfernen
Wählen Sie im Menü der Zeile internet-fra1 die Option Delete, und bestätigen Sie Delete network 'internet-fra1'?. Löschen Sie danach die Zugriffsregel aus Schritt 6 und, wenn nichts anderes sie nutzt, die beiden Gruppen. Der Agent schaltet die IP-Weiterleitung nicht wieder aus: Führen Sie auf der VM sudo sysctl -w net.ipv4.ip_forward=0 aus, oder starten Sie die VM neu.
Eine Gerätegruppe statt einzelner Maschinen
In der Ansicht Route nimmt Device group eine Gruppe auf, deren Maschinen alle das Gateway bereitstellen. Sie teilen sich eine Metrik, keine wird also bevorzugt, und die Spalte Failover bietet Go to Devices statt Add Device.
Vom Gerät aus beginnen
Dasselbe Panel, ohne die Ansicht Route, öffnet sich auch vom Gerät aus. Wählen Sie dazu Set Up Internet Gateway in seinem Menü unter Devices oder Make this an Internet gateway unter Routes auf seiner Seite (Add Internet gateway, wenn es schon eines ist). Keiner der beiden Wege öffnet danach die Zugriffsregel: Legen Sie sie selbst an, wie in Schritt 6. Der Network Identifier ist dann mit Internet Gateway (gateway-fra1) vorbelegt; ersetzen Sie ihn durch eine kurze ID ohne Leerzeichen.
Nur einige Dienste brauchen die feste Adresse
Dann brauchen Sie keine Standardroute: Veröffentlichen Sie nur diese Dienste als Ressourcen, die über die Gateway-Maschine laufen. Siehe gezielte Ressourcen.

