OT-OSM.openvpn
Ansibleロール: OpenVPN
OpenVPNサーバーをインストールおよび設定するためのAnsibleロールです。
バージョン履歴
| 日付 | バージョン | 説明 | 変更者 |
|---|---|---|---|
| 2018年8月16日 | v.1.0.0 | 初版 | Yashvinder Hooda |
| 2018年9月8日 | v.1.0.0 | Debian用ロールを追加 | Sudipt Sharma |
| 2018年10月9日 | v.1.0.0 | READMEの更新 | Sudipt Sharma |
| 2018年11月13日 | v.1.0.0 | RHEL用に更新 | Sudipt Sharma |
| 2019年2月28日 | v.1.0.0 | GitLab-CIを追加 | Mahesh Kumar |
| 2019年5月31日 | v.1.0.0 | モレキュールテストケースを追加 | Ekansh Jain |
| 2020年1月13日 | v.1.0.0 | AMAZON用に更新 | Sudipt Sharma |
| 2020年2月11日 | v.1.0.0 | クライアント作成と取り消し用のタグを追加 | Sudipt Sharma |
| 2020年4月18日 | v.1.0.0 | CircleCIを統合 | Sudipt Sharma |
主な特徴
- このロールはOpenVPNを使用してVPNの設定を自動化します。 このロールは2つのメタファイルで構成されています。
- clientlist: 追加したいクライアントの名前を入力します。
- revokelist: 取り消したいクライアントの名前を入力します。
注意:
ソース/宛先チェックを無効にしてください。
インスタンスのリストからVPNインスタンスを選択し、次にネットワーキング -> ソース/宛先を変更します。 ドロップダウンメニューから選択し、「はい、無効にする」をクリックします。これを行わないと、VPN
サーバーは他のEC2インスタンスに接続できません。
サポートされているOS
- CentOS:7
- CentOS:6
- Ubuntu:bionic
- Ubuntu:xenial
- Amazon AMI
依存関係
- なし :)
ディレクトリ構成
osm_openvpn
.
├── clientlist
├── defaults
│ └── main.yml
├── files
│ └── make_config.sh
├── handlers
│ └── main.yml
├── media
│ ├── add_connection.png
│ ├── addvpn.jpg
│ ├── client.png
│ ├── import_file.png
│ ├── save_key.png
│ ├── select_file.png
│ └── vpn.jpg
├── meta
│ └── main.yaml
├── molecule
│ └── default
│ ├── Dockerfile.j2
│ ├── INSTALL.rst
│ ├── molecule.yml
│ ├── playbook.yml
│ └── tests
│ ├── test_default.py
│ └── test_default.pyc
├── README.md
├── revokelist
├── tasks
│ ├── client_keys.yaml
│ ├── config.yaml
│ ├── easy-rsa.yaml
│ ├── firewall.yaml
│ ├── install.yaml
│ ├── main.yaml
│ ├── revoke.yaml
│ └── server_keys.yaml
└── templates
├── before.rules.j2
├── client.conf.j2
└── server.conf.j2
10のディレクトリ、31のファイル
ロール変数
| 変数 | デフォルト値 | 説明 | タイプ |
|---|---|---|---|
| server_name | server | OpenVPNサーバーの名前 | 任意 |
| PROTOCOL | udp | サーバーが動作するプロトコル | 必須 |
| PORT | udp | サーバーが動作するポート | 必須 |
| openvpn_server_network | 10.8.0.0 | VPNネットワークに割り当てられたCIDR範囲 | 任意 |
| base_directory | /etc/openvpn | OpenVPNサーバーの設定パス | 任意 |
| easy_rsa_url | url | Easy RSAをダウンロードするためのURL | 任意 |
| block_all_connection | false | OpenVPNクライアントのすべての通信をブロックする | 任意 |
| port_list | [80,443] | OpenVPNクライアント用に特定のポートを許可(block_all_connection == trueの場合のみ有効) | 任意 |
例のプレイブック
---
- name: OpenVPNのセットアップを自動化します
hosts: server
become: true
roles:
- role: osm_openvpn
...
$ ansible-playbook site.yml -i inventory
- クライアントキーを生成するため
$ ansible-playbook site.yml -i inventory --tags "generate_client_keys"
- クライアントキーを取り消すため
$ ansible-playbook site.yml -i inventory --tags "revoke_client_keys"
インベントリ
インベントリは次のように見えるべきです:-
[server]
192.xxx.x.xxx ansible_user=ubuntu
クライアントキー
クライアントキーは、ローカルホストの/tmp/{{client_name}}.ovpnに生成されます。
クライアント設定
OpenVPNをインストールします。
apt-get install openvpn -y
Ubuntu 18.04 bionic beaver用のOpenVPN GUIをインストールします。
apt install network-manager-openvpn-gnome -y
インストール後、ネットワーク設定に移動します。
ネットワーク設定にVPNを追加します。
次にVPN設定でclient.ovpnをブラウズして追加します。

Ubuntu 16.04 xenial用のOpenVPN GUIをインストールします。
apt install network-manager-openvpn-gnome -y
インストール後、ネットワーク設定に移動します。

ネットワーク設定に.ovpnファイルを追加します。

次に.client.ovpnファイルを選択します。

次にclient.ovpnファイルを保存します。

今後の提案された変更
- ベアメタルで実行するようにロールを修正
参考文献
ライセンス
- MIT / BSD
作者情報
貢献者
プロジェクトについて
OpenVpn ansible role for creating a secure tunnel to your private infra.
インストール
ansible-galaxy install OT-OSM.openvpnライセンス
Unknown
ダウンロード
219
所有者


