English | Deutsch

Verbindung zu gesicherten Netzwerken über VPN

Codesphere bietet eine bequeme Möglichkeit, von unseren Workspaces aus mit privaten Netzwerken zu arbeiten. Erfahren Sie in diesem Artikel, wie es funktioniert.

May 28, 2024 3 Min Lesezeit
Verbindung zu gesicherten Netzwerken über VPN
Verbindung zu gesicherten Netzwerken über VPN

Simon Pfeiffer

Head of Product @ Codesphere

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 z. B. mit eingeschränkten lokalen 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:

  1. Ein eindeutiger Name für diese Verbindung
  2. Pre-shared Key (Ihr Netzwerkteam kann diese auf Firewall-Ebene konfigurieren)
  3. Lifetime Values für Verbindungsversuche
  4. Von Ihrer Firewall verwendete Cipher Suites
  5. 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

image: atlassian/default-image:3

pipelines:
pull-requests:
    '**':
    - step:
        deployment: Test
        script:
        - pipe: docker://ghcr.io/codesphere-cloud/codesphere-monorepo/integrations/bitbucket-ci:latest
            variables:
            ACCESS_TOKEN: $ACCESS_TOKEN
            EMAIL: $CODESPHERE_EMAIL
            PASSWORD: $CODESPHERE_PASSWORD 
            TEAM: My Team
            PLAN: Micro
            VPN_CONFIG: vpnConfigName
            ENV: |
                testing=abc

GitHub-Syntax

on:
  workflow_dispatch:
  # open, reopen and synchronize will deploy a workspace for the current commit.
  # If a workspce is already deployed, that workspace is updated to the newest version.
  #
  # closed: Workspace will be deleted
  pull_request:
    types:
    - closed
    - opened
    - reopened
    - synchronize

permissions:
  contents: read
  pull-requests: read
  deployments: write

jobs:
  deploy:
    # prevent multiple workspaces to be created for the same branch
    concurrency: codesphere
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v3

      - name: Deploy
        uses: codesphere-cloud/gh-action-deploy@main
        env:
          GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
        with:
            email: ${{ secrets.CODESPHERE_EMAIL }}
            password: ${{ secrets.CODESPHERE_PASSWORD }}
            team: 'My Team' # Change this to your team
            plan: 'Boost' # Select the plan for your app (Micro, Boost or Pro)
            onDemand: 'true' # Set this to true for on demand
            vpnConfig: 'vpnConfigName'
            env: |
              MY_ENV=test
              MY_SECRET=${{ secrets.MY_SECRET }} 

Gitlab-Syntax

workflow:
  rules:
    - if: $CI_PIPELINE_SOURCE == 'merge_request_event'

stages:
  - deploy

codesphere-deploy:
  image: ghcr.io/codesphere-cloud/codesphere-monorepo/integrations/gitlab-ci:latest
  stage: deploy
  script:
    - /app/server
  variables:
    ACCESS_TOKEN: $CI_ACCESS_TOKEN
    EMAIL: $CODESPHERE_EMAIL
    PASSWORD: $CODESPHERE_PASSWORD
    TEAM: 'Demo'
    PLAN: 'Micro'
    ON_DEMAND: 'false'
    VPN_CONFIG: 'vpnConfigName'
    
  environment:
    name: 'Codesphere Preview MR_$CI_MERGE_REQUEST_IID'
    on_stop: codesphere-teardown

codesphere-teardown:
  when: manual
  image: ghcr.io/codesphere-cloud/codesphere-monorepo/integrations/gitlab-ci:latest
  stage: deploy
  script:
    - /app/server
  variables:
    ACCESS_TOKEN: $CI_ACCESS_TOKEN
    EMAIL: $CODESPHERE_EMAIL
    PASSWORD: $CODESPHERE_PASSWORD
    TEAM: 'Demo'
  environment:
    name: 'Codesphere Preview MR_$CI_MERGE_REQUEST_IID'
    action: stop

Über den Autor

Verbindung zu gesicherten Netzwerken über VPN

Simon Pfeiffer

Head of Product @ Codesphere

Simon ist verantwortlich für unser Produktmarketing und die Roadmap. Er ist ein ehemaliger Green-Tech-Gründer und IT-Berater bei KPMG. Er berichtet über Trends und Erkenntnisse aus dem Aufbau von Codesphere.

Weitere Beiträge

Deployment von Landscapes auf Codesphere

Deployment von Landscapes auf Codesphere

Lernen Sie, wie Sie mehrere Dienste, die unabhängig voneinander vertikal und horizontal skaliert werden können, innerhalb eines einzigen Workspace deployen und runen können. Geeignet für das Hosting ganzer Anwendungslandschaften.

Monitoring & Alerting

Monitoring & Alerting

Erfahren Sie, wie Sie auf das in Codesphere integrierte Ressourcen Monitoring zugreifen und die Betriebszeit Ihrer Anwendungen überprüfen können.

Pfadbasiertes Routing

Pfadbasiertes Routing

Erfahren Sie, wie Sie mehrere unabhängige Anwendungen mit einer einzigen Domäne verbinden, indem Sie verschiedene Pfade mit unterschiedlichen Workspaces verknüpfen

A/B-Tests mit PostHog

A/B-Tests mit PostHog

Erfahren Sie, wie Sie in wenigen Minuten erweiterte A/B-Tests mit Posthog in Codesphere einrichten können.