Virtuelle private Netze (VPNs) sind ein beliebtes Mittel, um die Kommunikation zu und von geschützten Netzen zu sichern. Standardmäßig sind die meisten internen Unternehmensnetze mit einer Firewall gesichert, die jeglichen eingehenden und manchmal auch ausgehenden Datenverkehr über öffentliche Internetverbindungen verhindert. Ein VPN-Tunnel bietet eine bequeme Möglichkeit, die Kommunikation mit der Außenwelt dennoch zu ermöglichen. Der gesamte Verkehr, der durch ein VPN läuft, wird zwischen dem Endgerät und dem Ursprung verschlüsselt und läuft durch sogenannte Tunnel. Codesphere bietet eine bequeme Möglichkeit, eine solche VPN-Verbindung von Ihren Workspaces zu einem der internen Netzwerke Ihres Unternehmens zu konfigurieren. Zurzeit werden die Verschlüsselungsstandards der Palo Alto Network Firewall unterstützt. Sollten Sie weitere Standards benötigen, sprechen Sie uns bitte an.
Dadurch können Ihre Anwendungen mit eingeschränkten On-Premise-Datenbanken, internen APIs und mehr arbeiten.
Arbeiten mit privaten Netzwerken in Codesphere
In Codesphere werden VPN-Verbindungen auf Teamebene definiert und können dann mit einer beliebigen Anzahl von Workspaces in diesem Team verbunden werden. Um eine solche Verbindung einzurichten, gehen Sie zu VPNs in der Hauptnavigation (verfügbar für Teamadministratoren).

Klicken Sie auf den Button VPN erstellen, um das Konfigurationsmodal zu öffnen. Sie benötigen die folgenden Elemente, um eine Verbindung zu öffnen:
- Ein eindeutiger Name für diese Verbindung.
- Pre-shared Key (Ihr Netzwerkteam kann diese auf Firewall-Ebene konfigurieren)
- Lifetime Values für Verbindungsversuche.
- Von Ihrer Firewall verwendete Cipher Suites.
- Ziel-IP-Adresse und privates Teilnetz (das auf die interne Ressource verweist, die Ihre Anwendung benötigt)

Sobald die Verbindung erstellt ist, wird sie in der Liste der verfügbaren Verbindungen angezeigt. Sie können nun jede VPN-Konfiguration über das Dropdown-Menü mit einer beliebigen Anzahl von Workspaces verbinden. Beachten Sie, dass eine Verbindung zwar von mehreren Workspaces genutzt werden kann, jeder Workspace aber nur mit einem einzigen VPN verbunden werden kann. Wenn Sie die VPN-Verbindung eines Workspaces ändern möchten, müssen Sie zunächst die vorherige Verbindung trennen. Bitte beachten Sie auch, dass eine Änderung der VPN-Einstellungen einen Neustart des VPN-Dienstes aller verbundenen Workspaces zur Folge hat.

Arbeiten mit VPN-Verbindungen in Preview Deployments
Sie können Preview Deployments auch mit bestehenden VPN-Verbindungen über unsere CI Integrationen für GitHub, Bitbucket und GitLab verknüpfen, indem Sie den Namen der VPN-Verbindung in der Deploy yaml referenzieren. So können Sie bequem mit privaten Netzwerken für Ihre Entwicklungsumgebungen arbeiten.
Bitbucket-Syntax:
Bild: atlassian/default-image:3
Pipelines:
pull-requests:
'**':
- Schritt:
Deployment: Test:
Skript:
- pipe: docker://ghcr.io/codesphere-cloud/codesphere-monorepo/integrations/bitbucket-ci:latest
Variablen:
ACCESS_TOKEN: $ACCESS_TOKEN
E-MAIL: $CODESPHERE_EMAIL
PASSWORT: $CODESPHERE_PASSWORT
TEAM: Mein Team
PLAN: Micro
VPN_CONFIG: vpnConfigName
ENV: |
testing=abc
GitHub-Syntax:
an:
workflow_dispatch:
# open, reopen und synchronize deployen einen Workspace für die aktuelle Übertragung.
# Wenn ein Workspace bereits deployed ist, wird dieser Workspace auf die neueste Version aktualisiert.
#
# geschlossen: Workspace wird gelöscht
pull_request:
Typen:
- geschlossen
- geöffnet
- wiedereröffnet
- synchronisieren
Berechtigungen:
Inhalte: lesen
Pull-Requests: lesen
Deployments: schreiben
Aufträge:
Deployment:
# verhindern, dass mehrere Workspaces für denselben Zweig erstellt werden
Gleichzeitigkeit: codesphere
runs-on: ubuntu-latest
Schritte:
- name: Checkout
verwendet: actions/checkout@v3
- name: Deployment
verwendet: codesphere-cloud/gh-action-deploy@main
env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
mit:
email: ${{geheimnisse.CODESPHERE_EMAIL }}
Passwort: ${{geheimnisse.CODESPHERE_PASSWORT }}
team: 'Mein Team' # Ändern Sie dies in Ihr Team
plan: 'Boost' # Wählen Sie den Plan für Ihre App (Micro, Boost oder Pro)
onDemand: 'true' # Setzen Sie dies auf true für on demand
vpnConfig: 'vpnConfigName'
env: |
MY_ENV=test
MY_SECRET=${{ secrets.MY_SECRET }}
Gitlab-Syntax:
Arbeitsablauf:
Regeln:
- if: $CI_PIPELINE_SOURCE == 'merge_request_event'
Phasen:
- Deployment
codesphere-deploy:
image: ghcr.io/codesphere-cloud/codesphere-monorepo/integrations/gitlab-ci:latest
Stufe: Deployment
Skript:
- /app/server
Variablen:
ACCESS_TOKEN: $CI_ACCESS_TOKEN
E-MAIL: $CODESPHERE_E-MAIL
PASSWORT: $CODESPHERE_PASSWORT
TEAM: 'Demo'
PLAN: 'Micro'
ON_DEMAND: 'false'
VPN_CONFIG: 'vpnConfigName'
Umgebung:
name: 'Codesphere Vorschau MR_$CI_MERGE_REQUEST_IID'
on_stop: codesphere-teardown
codesphere-teardown:
when: manuell
image: ghcr.io/codesphere-cloud/codesphere-monorepo/integrationen/gitlab-ci:latest
stage: deployment
Skript:
- /app/server
Variablen:
ACCESS_TOKEN: $CI_ACCESS_TOKEN
E-MAIL: $CODESPHERE_E-MAIL
PASSWORT: $CODESPHERE_PASSWORT
TEAM: 'Demo'
Umgebung:
name: 'Codesphere Vorschau MR_$CI_MERGE_REQUEST_IID'
Aktion: stop