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
ansible-galaxy install githubixx.peervpn