ansibleguy.infra_openvpn

ARBEIT IN BEARBEITUNG! NICHT IM PRODUKTIVBEREICH VERWENDEN!

OpenVPN Logo

Ansible Rolle - OpenVPN Client-to-Site VPN

WARNUNG: Diese Rolle ist noch in Entwicklung. NICHT IM PRODUKTIVBEREICH VERWENDEN!

Rolle zur Bereitstellung von OpenVPN Client-to-Site VPN-Setups.

Kauf mir einen Kaffee

Molecule Test Status YamlLint Test Status PyLint Test Status Ansible-Lint Test Status Ansible Galaxy

Molecule-Logs: Kurz, Voll

OpenVPN Editionen

Diese Rolle verwendet die OpenSource OpenVPN Community Edition.

Warum die Community-Edition verwenden?

  • Vorteile:

    • Keine Lizenzgebühren - ein Server kann auf tausende von Clients skalieren, ohne große Kosten zu verursachen
    • Alle wichtigen Funktionen sind in der OpenSource-Edition enthalten
    • Mit Ansible verwaltbar
  • Nachteile:

    • Diese Edition hat keine grafische (Web-) Benutzeroberfläche!

    Wenn Sie eine hübsche Web-Oberfläche suchen, schauen Sie sich den OpenVPN Access Server an.

Getestet auf:

  • Debian 11
  • Debian 12

Installation

# Neueste Version
ansible-galaxy role install git+https://github.com/ansibleguy/infra_openvpn

# Aus Galaxy
ansible-galaxy install ansibleguy.infra_openvpn

# Oder in einem benutzerdefinierten Rollen-Pfad
ansible-galaxy install ansibleguy.infra_openvpn --roles-path ./roles

# Abhängigkeiten installieren
ansible-galaxy install -r requirements.yml

Verwendung

Möchten Sie eine einfache Ansible GUI? Schauen Sie sich meine Ansible WebUI an.

Konfiguration

Definieren Sie die Konfiguration nach Bedarf:

openvpn:

Möglicherweise möchten Sie 'ansible-vault' verwenden, um Ihre Passwörter zu verschlüsseln:

ansible-vault encrypt_string

Ausführung

Führen Sie das Playbook aus:

ansible-playbook -K -D -i inventory/hosts.yml playbook.yml

Es stehen auch nützliche Tags zur Verfügung:

* *

Um Fehler zu debuggen, können Sie die Variable 'debug' zur Laufzeit setzen:

# WARNUNG: Passwörter werden protokolliert!
ansible-playbook -K -D -i inventory/hosts.yml playbook.yml -e debug=yes

Um OpenVPN-Dienste automatisch neu zu starten (ohne interaktive Eingabeaufforderungen):

ansible-playbook -K -D -i inventory/hosts.yml playbook.yml -e auto_restart=yes

Funktionalität

  • Paketinstallation

    • Ansible-Abhängigkeiten (minimal)
  • Konfiguration *

    • Standardkonfiguration: *

    • Standard-Opt-ins: *

    • Standard-Opt-outs:

Info

  • Info: Wenn Sie mehr über die Konfiguration von OpenVPN-Community erfahren möchten, werfen Sie einen Blick in die umfangreiche Dokumentation.

    Interessante Seiten:

  • Info: ChromeOS verwendet das Open-Network-Configuration (ONC) Format.

    Es ist im JSON-Format und ziemlich schwer zu debuggen, da keine nützlichen Fehlermeldungen angezeigt werden.

    Die von dieser Rolle bereitgestellte Profilvorlage funktioniert möglicherweise nicht für jeden Sonderfall.

    Wenn Sie es beheben müssen, sehen Sie sich die ONC-Dokumentation an. Aber seien Sie sich bewusst: Nicht jede Option funktioniert in der Praxis wie dokumentiert.

  • Warnung: Wenn eine OpenVPN-Instanz Verbindungen zu ChromeOS-Clients unterstützen soll, müssen Sie die Option 'openvpn.instances.[name].security.tls_crypt' auf 'false' setzen, da dies von der ChromeOS-Implementierung (derzeit) nicht unterstützt wird.

  • Hinweis: Diese Rolle unterstützt derzeit nur debianbasierte Systeme.

  • Hinweis: Die meisten Funktionen der Rolle können aktiviert oder deaktiviert werden.

    Für alle verfügbaren Optionen siehe die Standardkonfiguration in der Hauptstandarddatei!

  • Warnung: Nicht jede Einstellung/Variable, die Sie bereitstellen, wird auf Gültigkeit geprüft. Falsche Konfigurationen können die Rolle beschädigen!

  • Info: Wenn Sie openvpn.unprivileged: true für erhöhte Systemsicherheit verwenden möchten, muss die installierte OpenVPN-Binärdatei iproute2 unterstützen!

    Die Rolle wird überprüfen, ob die Binärdatei kompatibel ist und schlägt fehl, wenn dies nicht der Fall ist!

Optionen zur Erlangung der Unterstützung für iproute2:

  • Sie müssen eine Binärdatei verwenden, die mit dieser Option kompiliert wurde

  • Deinstallieren Sie vorhandene OpenVPN-Pakete/Binärdateien

  • Kopieren oder verlinken Sie die openvpn-Binärdatei nach /usr/local/bin

  • Info: Wenn Sie die Mehr-Faktor-Authentifizierung (MFA) verwenden, können Sie auf Probleme stoßen, wenn einige Clients (wie ChromeOS) kein zweites Eingabefeld für das zweite Geheimnis unterstützen!

    Möglicherweise müssen Sie openvpn.server.auth.mfa_separator auf beliebige ungewöhnliche Zeichen setzen, die Ihnen gefallen. (zum Beispiel: <<<)

    Dies ermöglicht es Ihnen, sowohl secret1 (Passwort) als auch secret2 (totp pin) im selben Eingabefeld einzugeben! So: p4ssW0rd<<<001122

    Der Standardtrenner : wird immer unterstützt - auch wenn Sie einen benutzerdefinierten setzen. Dies ermöglicht die Unterstützung beider Wege.

Installieren
ansible-galaxy install ansibleguy.infra_openvpn
GitHub Repository
Lizenz
other
Downloads
1.9k
Besitzer
[email protected] | GPG: https://badges.ansibleguy.net/public.gpg