OT-OSM.openvpn
Ansible Role: OpenVPN
To rola Ansible do instalacji i konfiguracji serwera OpenVPN.
Historia wersji
| Data | Wersja | Opis | Zmienione przez |
|---|---|---|---|
| 16 sierpnia 2018 | v.1.0.0 | Wersja początkowa | Yashvinder Hooda |
| 8 września 2018 | v.1.0.0 | Dodana rola dla Debiana | Sudipt Sharma |
| 9 października 2018 | v.1.0.0 | Zaktualizowano Readme | Sudipt Sharma |
| 13 listopada 2018 | v.1.0.0 | Zaktualizowano dla RHEL | Sudipt Sharma |
| 28 lutego 2019 | v.1.0.0 | Dodano Gitlab-CI | Mahesh Kumar |
| 31 maja 2019 | v.1.0.0 | Dodano testy na molecule | Ekansh Jain |
| 13 stycznia 2020 | v.1.0.0 | Zaktualizowano dla AMAZON | Sudipt Sharma |
| 11 lutego 2020 | v.1.0.0 | Dodano tagi do tworzenia i cofania klientów | Sudipt Sharma |
| 18 kwietnia 2020 | v.1.0.0 | Zintegrowano circle-ci | Sudipt Sharma |
Cechy wyróżniające
- Ta rola automatyzuje konfigurację VPN za pomocą OpenVPN. Rola składa się z dwóch plików meta:
- clientlist: Wprowadź nazwę klienta, którego chcesz dodać.
- revokelist: Wprowadź nazwy klientów, których chcesz cofnąć.
Uwaga:
Wyłącz sprawdzanie źródła / miejsca docelowego.
Z listy instancji wybierz instancję VPN, a następnie Network->Change Source/Dest. Sprawdź z menu rozwijanego. Następnie kliknij Tak, Wyłącz. To jest potrzebne, ponieważ w przeciwnym razie twój serwer VPN
nie będzie w stanie połączyć się z innymi instancjami EC2.
Obsługiwane systemy operacyjne
- CentOS:7
- CentOS:6
- Ubuntu:bionic
- Ubuntu:xenial
- Amazon AMI
Zależności
- Brak :)
Układ katalogów
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 katalogów, 31 plików
Zmienne roli
| Zmienne | Domyślne wartości | Opis | Typ |
|---|---|---|---|
| server_name | server | Nazwa serwera OpenVPN | Opcjonalne |
| PROTOCOL | udp | Protokół, na którym będzie działał serwer | Obowiązkowe |
| PORT | udp | Port, na którym będzie działał serwer | Obowiązkowe |
| openvpn_server_network | 10.8.0.0 | Zakres CIDR dla sieci VPN | Opcjonalne |
| base_directory | /etc/openvpn | Ścieżka konfiguracji serwera openvpn | Opcjonalne |
| easy_rsa_url | url | URL do pobrania Easy RSA | Opcjonalne |
| block_all_connection | false | Blokuj całą komunikację dla klienta openvpn | Opcjonalne |
| port_list | [80,443] | Dozwolone określone porty dla klienta openvpn, dotyczy tylko, jeśli block_all_connection == true | Opcjonalne |
Przykładowy playbook
---
- name: Automatyzacja konfiguracji OpenVPN
hosts: server
become: true
roles:
- role: osm_openvpn
...
$ ansible-playbook site.yml -i inventory
- Aby wygenerować klucze dla klientów
$ ansible-playbook site.yml -i inventory --tags "generate_client_keys"
- Aby cofnąć klucze klientów
$ ansible-playbook site.yml -i inventory --tags "revoke_client_keys"
Inwentarz
Inwentarz powinien wyglądać tak:-
[server]
192.xxx.x.xxx ansible_user=ubuntu
Klucze klientów
Klucze klientów będą generowane w /tmp/{{client_name}}.ovpn na lokalnym hoście.
Dla konfiguracji klienta
Zainstaluj OpenVpn
apt-get install openvpn -y
Zainstaluj Openvpn GUI dla Ubuntu 18.04 bionic beaver
apt install network-manager-openvpn-gnome -y
Po zainstalowaniu przejdź do ustawień sieci
Dodaj VPN do ustawień sieci
Następnie w ustawieniach VPN dodaj plik klienta .ovpn

Zainstaluj Openvpn GUI dla Ubuntu 16.04 xenial
apt install network-manager-openvpn-gnome -y
Po zainstalowaniu przejdź do ustawień sieci

Dodaj plik .ovpn do ustawień sieci

Następnie wybierz plik .client.ovpn.

Następnie zapisz plik klienta .ovpn.

Planowane zmiany w przyszłości
- Naprawić rolę, aby działała na sprzęcie fizycznym
Odwołania
Licencja
- MIT / BSD
Informacje o autorze
Współpracownicy
OpenVpn ansible role for creating a secure tunnel to your private infra.
ansible-galaxy install OT-OSM.openvpn

