ansibleguy.infra_openvpn

作業中!本番環境での使用はしないでください!

OpenVPNロゴ

Ansibleロール - OpenVPN クライアントからサイトへのVPN

警告: このロールはまだ開発中です。 本番環境での使用は避けてください

OpenVPN クライアントからサイトへのVPNの設定を展開するためのロールです。

コーヒーを買ってください

Moleculeテストステータス YamlLintテストステータス PyLintテストステータス Ansible-Lintテストステータス Ansible Galaxy

Molecule ログ: 短縮版, 完全版

OpenVPNエディション

このロールはOpenSource OpenVPN Communityエディションを使用しています。

なぜコミュニティエディションを使うのか?

  • メリット:

    • ライセンス料が不要 - 1台のサーバーで数千のクライアントにスケール可能
    • 主要な機能はオープンソース版でカバーされています
    • Ansibleを使って管理可能
  • デメリット:

    • このエディションにはグラフィカルな(_ウェブ-)ユーザーインターフェースがありません!

      もしきれいなウェブUIが必要であれば、OpenVPN Access Serverをチェックしてください。

テスト済み:

  • Debian 11
  • Debian 12

インストール

# 最新版
ansible-galaxy role install git+https://github.com/ansibleguy/infra_openvpn

# Galaxyから
ansible-galaxy install ansibleguy.infra_openvpn

# またはカスタムロールパスを指定する場合
ansible-galaxy install ansibleguy.infra_openvpn --roles-path ./roles

# 依存関係をインストール
ansible-galaxy install -r requirements.yml

使用方法

シンプルなAnsible GUIが必要ですか?私のAnsible WebUIをチェックしてください。

設定

必要に応じて設定を定義します:

openvpn:

パスワードを暗号化するために「ansible-vault」を使用することをお勧めします:

ansible-vault encrypt_string

実行

プレイブックを実行します:

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

便利なタグもあります:

* *

エラーをデバッグするために、実行時に「debug」変数を設定できます:

# 警告:パスワードをログに記録します!
ansible-playbook -K -D -i inventory/hosts.yml playbook.yml -e debug=yes

OpenVPNサービスを自動的に再起動させたい場合(インタラクティブプロンプトなし):

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

機能

  • パッケージインストール

    • Ansible依存性(最小限)
  • 設定 *

    • デフォルト設定: *

    • デフォルトのオプトイン: *

    • デフォルトのオプトアウト

情報

  • 情報:OpenVPNコミュニティの設定についてもっと知りたい場合は、包括的なドキュメントをチェックしてください。

    興味深いページ:

  • 情報ChromeOSはOpen-Network-Configuration (ONC)フォーマットを使用します。

    JSON形式で、デバッグが難しく、役立つエラーメッセージが得られません。

    このロールが提供するプロフィールテンプレートは、すべてのエッジケースで機能するわけではありません。

    トラブルシューティングが必要な場合は、ONCドキュメントを参照してください。ただし、すべてのオプションが実際に文書どおりに機能するわけではありませんのでご注意ください。

  • 警告:OpenVPNインスタンスがChromeOSクライアントへの接続をサポートする場合、'openvpn.instances.[name].security.tls_crypt'オプションを'false'に設定する必要があります。これは、ChromeOSの実装では(現在)サポートされていません。

  • 注意:このロールは現在、Debianベースのシステムのみをサポートしています。

  • 注意:ロールのほとんどの機能はオプトインまたはオプトアウト可能です。

    利用可能なすべてのオプションについては、メインのデフォルトファイルにあるデフォルト設定を参照してください!

  • 警告:提供したすべての設定/変数が有効性をチェックされるわけではありません。悪い設定はロールを壊す可能性があります!

  • 情報openvpn.unprivileged: trueを使用してシステムセキュリティを向上させるには、インストールされたOpenVPNバイナリがiproute2をサポートしている必要があります!

    ロールはバイナリの互換性をチェックし、そうでない場合はエラーになります!

    iproute2をサポートする方法のオプション

    • そのオプションが有効なバイナリを使用する必要があります
      • この例のスクリプトのようにOpenVPNを再コンパイルしてください('uninstall'を除く)
      • または、このロールを構成して、私のansibleguy/openvpn-recompiledリポジトリから再コンパイルされたバイナリをダウンロードします!
    • 既存のOpenVPNパッケージ/バイナリをアンインストールします
    • openvpnバイナリを/usr/local/binにコピー/リンクします
  • 情報:マルチファクタ認証を使用している場合、クライアント(ChromeOSなど)が2番目の入力フィールドをサポートしていないと問題が発生することがあります!

    openvpn.server.auth.mfa_separatorをお好きな特異な文字に設定する必要があるかもしれません(例:<<<)。

    これにより、secret1(パスワード)とsecret2(TOTP PIN)を同じ入力フィールドに入力できます!次のように:p4ssW0rd<<<001122

    デフォルトのセパレーター:は常にサポートされます。カスタムのものを設定しても、両方の方法がサポートされます。

インストール
ansible-galaxy install ansibleguy.infra_openvpn
ライセンス
other
ダウンロード
1.9k
所有者
[email protected] | GPG: https://badges.ansibleguy.net/public.gpg