OT-OSM.openvpn

Ansible Role: OpenVPN

CircleCI

Opstree Solutions
Opstree Solutions

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

client

Zainstaluj Openvpn GUI dla Ubuntu 16.04 xenial

   apt install network-manager-openvpn-gnome -y

Po zainstalowaniu przejdź do ustawień sieci

add_connection

Dodaj plik .ovpn do ustawień sieci

import_file

Następnie wybierz plik .client.ovpn.

select_file

Następnie zapisz plik klienta .ovpn.

save_key

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

Sudipt Sharma
Sudipt Sharma

O projekcie

OpenVpn ansible role for creating a secure tunnel to your private infra.

Zainstaluj
ansible-galaxy install OT-OSM.openvpn
Licencja
Unknown
Pobrania
219
Właściciel