LinuxのOpenVPNユーザー、証明書、ルートを管理するためのシンプルなWeb UI。バックエンドはGOで書かれていますが、FrontEndはVue.jsに基づいています。
免責事項!このプロジェクトは、経験豊富なユーザー(システム管理者)およびプライベート(たとえば、ネットワークポリシーで保護されている)環境のみを対象としています。したがって、セキュリティを念頭に置いて実装されていません(たとえば、ユーザーが渡すすべてのパラメーターなどを厳密にチェックすることはありません。また、ファイルに大きく依存しており、必要なファイルが使用できない場合は失敗します。
client-config-dir
)を指定します。client.conf.tpl
テンプレートで自動的に定義されたremote
を取得します)。ovpn-adminでユーザーの管理:
OVPN-Adminメトリックを使用して作成されたダッシュボードの例:
すぐに使用できるdocker-compose.yamlがあります。そのため、必要な値を変更/追加して、start.shから起動することができます。
要件:DockerとDocker-Composeがインストールする必要があります。
実行するコマンド:
git clone https://github.com/palark/ovpn-admin.git
cd ovpn-admin
./start.sh
Docker Hubで利用できる準備ができたDocker画像。タグはシンプルです: $VERSION
またはovpn-adminおよびopenvpn-$VERSION
またはopenvpn-latest
for openvpn-serverのlatest
要件。次のコンポーネントをインストールしたLinuxが必要です。
実行するコマンド:
git clone https://github.com/palark/ovpn-admin.git
cd ovpn-admin
./bootstrap.sh
./build.sh
./ovpn-admin
(事前に必要なすべてのパラメーションを構成することを忘れないでください。)
また、リリースページから事前に構築されたバイナリをダウンロードして使用することもできます。関連するtar.gzファイルを選択するだけです。
bash
、 coreutils
、 easy-rsa
の外部呼び出しを使用しているため、 Linuxシステムは現時点でのみサポートされています。--auth
および--auth.db="/etc/easyrsa/pki/users.db
" Flags and Install openvpn-userを提供します。このツールは$PATH
で利用できるようにする必要があり、そのバイナリは実行可能です( +x
)。--storage.backend=kubernetes.secrets
-wipで動作しません--storage.backend=kubernetes.secrets
-wipで動作しません--ccd
and --ccd.path="/etc/openvpn/ccd"
abdを使用する場合、ユーザーに静的アドレスセットアップを使用することを計画してください--ovpn.network="172.16.100.0/24"
OpenVPN-Serverネットワーク usage: ovpn-admin [<flags>]
Flags:
--help show context-sensitive help (try also --help-long and --help-man)
--listen.host="0.0.0.0" host for ovpn-admin
(or OVPN_LISTEN_HOST)
--listen.port="8080" port for ovpn-admin
(or OVPN_LISTEN_PORT)
--listen.base-url="/" base URL for ovpn-admin web files
(or $OVPN_LISTEN_BASE_URL)
--role="master" server role, master or slave
(or OVPN_ROLE)
--master.host="http://127.0.0.1"
(or OVPN_MASTER_HOST) URL for the master server
--master.basic-auth.user="" user for master server's Basic Auth
(or OVPN_MASTER_USER)
--master.basic-auth.password=""
(or OVPN_MASTER_PASSWORD) password for master server's Basic Auth
--master.sync-frequency=600 master host data sync frequency in seconds
(or OVPN_MASTER_SYNC_FREQUENCY)
--master.sync-token=TOKEN master host data sync security token
(or OVPN_MASTER_TOKEN)
--ovpn.network="172.16.100.0/24"
(or OVPN_NETWORK) NETWORK/MASK_PREFIX for OpenVPN server
--ovpn.server=HOST:PORT:PROTOCOL ...
(or OVPN_SERVER) HOST:PORT:PROTOCOL for OpenVPN server
can have multiple values
--ovpn.server.behindLB enable if your OpenVPN server is behind Kubernetes
(or OVPN_LB) Service having the LoadBalancer type
--ovpn.service="openvpn-external"
(or OVPN_LB_SERVICE) the name of Kubernetes Service having the LoadBalancer
type if your OpenVPN server is behind it
--mgmt=main=127.0.0.1:8989 ...
(or OVPN_MGMT) ALIAS=HOST:PORT for OpenVPN server mgmt interface;
can have multiple values
--metrics.path="/metrics" URL path for exposing collected metrics
(or OVPN_METRICS_PATH)
--easyrsa.path="./easyrsa/" path to easyrsa dir
(or EASYRSA_PATH)
--easyrsa.index-path="./easyrsa/pki/index.txt"
(or OVPN_INDEX_PATH) path to easyrsa index file
--ccd enable client-config-dir
(or OVPN_CCD)
--ccd.path="./ccd" path to client-config-dir
(or OVPN_CCD_PATH)
--templates.clientconfig-path=""
(or OVPN_TEMPLATES_CC_PATH) path to custom client.conf.tpl
--templates.ccd-path="" path to custom ccd.tpl
(or OVPN_TEMPLATES_CCD_PATH)
--auth.password enable additional password authorization
(or OVPN_AUTH)
--auth.db="./easyrsa/pki/users.db"
(or OVPN_AUTH_DB_PATH) database path for password authorization
--log.level set log level: trace, debug, info, warn, error (default info)
(or LOG_LEVEL)
--log.format set log format: text, json (default text)
(or LOG_FORMAT)
--storage.backend storage backend: filesystem, kubernetes.secrets (default filesystem)
(or STORAGE_BACKEND)
--version show application version
OVPN-AdminはもともとFlantで作成され、長年にわたって内部で使用されていました。
2021年3月、それは公開され、まだFlantで開発されました。つまり、 @Vitaliy-SNはPythonで最初のバージョンを作成し、@PashcovichはGOで書き直しました。
2024年11月、このプロジェクトはパークに移されました。これは現在、そのメンテナンスと開発を担当しています。