Gluetun - VPN-Client-Container mit Kill-Switch für alle Dienste

Gluetun - VPN-Client-Container mit Kill-Switch für alle Dienste

Gluetun ist ein Docker-Container, der eine VPN-Verbindung aufbaut und anderen Containern als Netzwerk-Gateway dient — mit eingebautem Kill-Switch, der den Datenverkehr bei VPN-Abbruch sofort blockiert.

Was ist Gluetun?

Gluetun löst ein klassisches Problem im Self-Hosting: Einzelne Dienste wie Torrent-Clients sollen ausschließlich über VPN kommunizieren, während andere Container davon unberührt bleiben. Statt VPN-Clients in jeden Container zu integrieren, verbindet sich Gluetun einmalig mit dem VPN-Anbieter und teilt die Verbindung über den Docker-Netzwerk-Namespace. Unterstützt werden alle großen Anbieter (Mullvad, ProtonVPN, NordVPN, Surfshark u. v. m.) sowie benutzerdefinierte WireGuard- und OpenVPN-Konfigurationen.

Voraussetzungen

  • Docker 20.10+ / Docker Compose
  • Aktives VPN-Abonnement bei einem unterstützten Anbieter
  • NET_ADMIN-Capability auf dem Host

Compose-Beispiel

services:
  gluetun:
    image: qmcgaw/gluetun:latest
    container_name: gluetun
    restart: unless-stopped
    cap_add:
      - NET_ADMIN
    ports:
      - "8080:8080"
      - "8888:8888/tcp"
      - "8388:8388/udp"
    environment:
      - VPN_SERVICE_PROVIDER=mullvad
      - VPN_TYPE=wireguard
      - WIREGUARD_PRIVATE_KEY=deinPrivaterWireGuardKey
      - WIREGUARD_ADDRESSES=10.64.0.2/32
      - SERVER_COUNTRIES=Germany

  qbittorrent:
    image: lscr.io/linuxserver/qbittorrent:latest
    container_name: qbittorrent
    network_mode: service:gluetun
    restart: unless-stopped
    volumes:
      - ./downloads:/downloads

Hinweise

  • network_mode: service:gluetun: Mit dieser Einstellung teilt ein anderer Container den vollständigen Netzwerk-Namespace von Gluetun — er kann nur noch über das VPN kommunizieren.
  • Kill-Switch: Bricht die VPN-Verbindung ab, blockiert Gluetun sofort den gesamten ausgehenden Traffic der angebundenen Container. Kein Leak möglich.
  • HTTP-Proxy: Gluetun stellt optional einen HTTP-Proxy auf Port 8888 bereit, über den auch nicht-Dockerisierte Anwendungen das VPN nutzen können.
  • Anbieter-Konfiguration: Die Umgebungsvariablen unterscheiden sich je nach Anbieter und Protokoll — die vollständige Liste in der offiziellen Dokumentation nachschlagen.