githubixx.peervpn

role-peervpn

Ta rola Ansible jest używana w Kubernetes the not so hard way with Ansible (w Scaleway) - Część 3 - PeerVPN. Służy do konfiguracji PeerVPN dla Ubuntu 16.04/18.04 (powinno działać na wszystkich systemach Linux, które używają systemd). Dzięki PeerVPN możesz łatwo skonfigurować w pełni połączoną sieć VPN między centrami danych i wszystkimi wybranymi węzłami. Potrzebujesz przynajmniej jednego hosta z publicznie dostępnym interfejsem (domyślnie Port 7000, protokół UDP). Prosta konfiguracja może polegać na użyciu tego publicznie dostępnego hosta dla ustawienia peervpn_conf_initpeers. Znalezienie innych hostów w Twojej sieci VPN zostanie automatycznie dokonane przez PeerVPN.

PeerVPN instaluje własny interfejs TAP do swoich celów. Domyślna nazwa tego interfejsu TAP to tap0. Aby zmienić nazwę, należy określić inną wartość dla zmiennej peervpn_conf_interface.

Aby wygenerować mocne hasło do klucza pre-shared dla PeerVPN, możesz użyć:

openssl rand -base64 382 | tr -d '\n' && echo

Ponieważ to jest klucz pre-shared, musi być używany na wszystkich hostach, na których instalujesz PeerVPN i które używają tej samej nazwy sieci. W przeciwnym razie połączenie nie zadziała. Domyślny klucz pre-shared to default, który oczywiście chcesz zmienić ;-)

Wersje

Taguję każdą wersję i staram się trzymać semantycznego wersjonowania. Jeśli chcesz używać roli, zalecam sprawdzenie najnowszego tagu. Gałąź główna to w zasadzie rozwój, podczas gdy tagi oznaczają stabilne wydania. Przykładowo, tag 1.0.0+r044 oznacza, że to jest wydanie 1.0.0 tej roli i używa PeerVPN r044. Jeśli sama rola się zmienia, X.Y.Z zwiększy się. Jeśli zmienia się wersja PeerVPN, rXXX wzrośnie, a także poziom łatki roli (np. 1.0.0 -> 1.0.1). To pozwala tagować poprawki błędów i nowe wersje główne roli, podczas gdy jest ona nadal rozwijana dla konkretnego wydania PeerVPN.

Wymagania

Zezwól na ruch na porcie 7000 protokołu UDP (domyślnie), jeśli masz zainstalowane reguły zapory. Musisz również dodać zmienną peervpn_conf_initpeers. Nie ma domyślnej wartości dla tej zmiennej! IPv6 jest domyślnie WŁĄCZONE. Jeśli nie chcesz go używać, dodaj zmienną peervpn_conf_enableipv6: no.

Zmienna roli

Zasadniczo musisz zmienić bardzo mało zmiennych (patrz poniżej). Ale zapoznaj się z templates/etc/peervpn/peervpn.conf.j2, aby zobaczyć przykłady i pełny opis zmiennych.

Zmienne BEZ domyślnych wartości:

peervpn_conf_initpeers
peervpn_conf_engine
peervpn_conf_ifconfig6
peervpn_conf_upcmd
peervpn_conf_chroot

Zmienne z wartościami domyślnymi:

peervpn_version: "peervpn-0-044"
peervpn_install_directory: "/opt/{{peervpn_version}}"
peervpn_dest: "/usr/local/sbin"
peervpn_conf_networkname: "peervpn"
peervpn_conf_psk: "default"
peervpn_conf_enabletunneling: "yes"
peervpn_conf_interface: "tap0"
peervpn_conf_local: "0.0.0.0"
peervpn_conf_port: 7000
peervpn_conf_ifconfig4: "10.0.0.1/24"
peervpn_conf_sockmark: 0
peervpn_conf_enableipv4: "yes"
peervpn_conf_enablenat64clat: "no"
peervpn_conf_enablerelay: "no"
peervpn_conf_enableprivdrop: "yes"
peervpn_conf_user: "nobody"
peervpn_conf_group: "nogroup"

MUSISZ określić wartość dla peervpn_conf_initpeers, aby móc korzystać z PeerVPN (albo per host w katalogu host_vars Ansible, albo per grupę hostów w katalogu group_vars). Na przykład, jeśli określisz peervpn_conf_initpeers: "host.example.net 7000", PeerVPN spróbuje połączyć się z host.example.net na porcie 7000 przez UDP, aby nawiązać połączenie.

Powinieneś przynajmniej zmienić następujące zmienne:

peervpn_conf_initpeers: Nazwa hosta i port, do którego PeerVPN powinien się połączyć, aby stać się częścią VPN. peervpn_conf_networkname: Nazwa Twojej sieci VPN. peervpn_conf_psk: Klucz pre-shared. Jak wygenerować dobre hasło do klucza pre-shared, zobacz wprowadzenie powyżej. peervpn_conf_ifconfig4: Adres IP węzła i podsieć w notacji CIDR. Ta zmienna musi być określona dla każdego hosta.

Przykład Playbooka

- hosts: webservers
  roles:
    - peervpn

Licencja

GNU GENERAL PUBLIC LICENSE Wersja 3

Informacje o autorze

http://www.tauceti.blog

O projekcie

Installes PeerVPN on a node

Zainstaluj
ansible-galaxy install githubixx.peervpn
Licencja
gpl-3.0
Pobrania
142
Właściciel
Senior System Engineer - Python, Go, Cloud, Kubernetes, Commodore, Retro, 80's ;-)