gavika.openvpn

gavika.openvpn

Zainstaluj i skonfiguruj OpenVPN. Zbuduj i zarządzaj własnym serwerem OpenVPN.

https://www.techchorus.net/blog/run-your-own-openvpn-server/

Zobacz także katalog examples.

Wymagania

Rola powinna być używana razem z gavika.easy_rsa.

Zmienne roli

Zmienna Wartość domyślna Opis Wymagana?
easy_rsa_local_pool_directory /tmp/ca_openvpn_pool Katalog do tymczasowego przechowywania żądań certyfikatów, certyfikatów itp. Tak
openvpn_client_users [] Lista nazw użytkowników klientów OpenVPN. Zaleca się używanie tylko znaków alfanumerycznych. Nie
openvpn_port 1194 Port, na którym działa serwer OpenVPN Tak
openvpn_protocol Domyślnie: udp Wybory: tcp lub udp Protokół sieciowy do użycia Tak
openvpn_server_ip_address Adres IP serwera OpenVPN Wartość używana w generowanych certyfikatach klientów Tak
openvpn_generated_configurations_local_pool false. Boolean. Czy skopiować wygenerowane konfiguracje klientów do lokalnego katalogu (na maszyny kontrolnej, na której jest uruchamiane ansible-playbook). Tak
openvpn_route_all_traffic True. Boolean. Kieruj cały ruch internetowy przez serwer OpenVPN Tak
openvpn_use_opendns_public_dns True. Boolean. Przekaż serwery DNS OpenDNS klientom Tak
openvpn_additional_configs [] Dodatkowa konfiguracja serwera OpenVPN. Lista słowników. Każdy element listy to para klucz, wartość. Przykład
openvpn_additional_configs:
- push: "topology subnet"
- push: "route 192.168.4.5 255.255.255.255"
Tak
openvpn_default_firewalld_zone public Nazwa strefy do użycia w konfiguracji Firewalld. Dotyczy tylko EL Tak

Aby zbudować serwer CA i serwer OpenVPN, korzystając z gavika.easy_rsa i gavika.openvpn, musisz wykonać role kilka razy w zależności od swoich potrzeb. Jesteś odpowiedzialny za wykonanie ról wymaganą liczbę razy i w wymaganej kolejności. Przykłady są dostępne w dokumentacji. Zwykle będziesz musiał wykonać open-vpn-playbook.yml dwa razy i easy-rsa-playbook.yml raz.

Przepływ wykonania playbooka: Przepływ wykonania playbooka Pełny rozmiar diagramu

Oto przykład wykonywania playbooków:

# openvpn: konfiguracja lokalnych katalogów, instalacja openvpn, utworzenie żądania serwera,
# utworzenie żądań klientów
ansible-playbook -i my-inventory.yml openvpn-playbook.yml
# easy_rsa: zbudowanie serwera CA, importowanie i podpisanie żądań, pobranie certyfikatów CA
ansible-playbook -i my-inventory.yml easy-rsa-playbook.yml
# openvpn: użycie podpisanych żądań, konfiguracja openvpn, generowanie konfiguracji klientów
ansible-playbook -i my-inventory.yml openvpn-playbook.yml

Zależności

Rola gavika.openvpn zależy od gavika.easy_rsa.

Wymagane są następujące kolekcje:

  • community.aws

Wymagana jest biblioteka Pythona boto3.

Rola gavika.openvpn powinna być używana razem z gavika.easy_rsa.

Przykładowy playbook do skonfigurowania serwera CA: easy-rsa-playbook.yml

---
- hosts: ca_server
  become: true
  vars:
    easy_rsa_req_country: "IN"
    easy_rsa_req_province: "KA"
    easy_rsa_req_city: "Bangalore"
    easy_rsa_req_org: "Gavika"
    easy_rsa_req_email: "[email protected]"
    easy_rsa_req_ou: "Gavika"
    easy_rsa_local_pool_directory: /tmp/ca_openvpn_pool # Bez ukośnika na końcu /
    easy_rsa_server_request_to_import: "server.req"
    easy_rsa_ca_server_mode: true
  roles:
    - role: gavika.easy_rsa

Przykładowy playbook do instalacji serwera OpenVPN: openvpn-playbook.yml

---
- hosts: openvpn_server
  become: true
  vars:
    openvpn_client_users:
      - janedoe
      - johndoe
    easy_rsa_req_country: "IN"
    easy_rsa_req_province: "KA"
    easy_rsa_req_city: "Bangalore"
    easy_rsa_req_org: "Moja Organizacja"
    easy_rsa_req_email: "[email protected]"
    easy_rsa_req_ou: "Jednostka Organizacyjna"
  roles:
    - role: gavika.easy_rsa
    - role: gavika.openvpn

Przykładowa inwentarz: my-inventory:

all:
  hosts:
    placeholder
  children:
    ca_server:
      hosts:
        dev-ca-01.example.com:
          ansible_become: true
          ansible_user: ubuntu
          ansible_host: 192.168.3.5
          easy_rsa_ca_server_mode: true
          ansible_python_interpreter: /usr/bin/python3
    openvpn_server:
      hosts:
        dev-vpn-01.example.com:
          ansible_python_interpreter: /usr/bin/python3
          ansible_become: true
          ansible_user: ubuntu
          ansible_host: 192.168.3.6
          openvpn_server_ip_address: 192.168.3.6

Licencja

Licencja Apache, Wersja 2.0

Informacje o autorze

Sudheera Satyanarayana

O projekcie

Role to install and configure OpenVPN server and generate client configurations

Zainstaluj
ansible-galaxy install gavika.openvpn
Licencja
other
Pobrania
278