githubixx.peervpn

role-peervpn

Ce rôle Ansible est utilisé dans Kubernetes the not so hard way with Ansible (chez Scaleway) - Partie 3 - PeerVPN. Il sert à configurer PeerVPN pour Ubuntu 16.04/18.04 (mais devrait fonctionnner avec tous les systèmes Linux utilisant systemd). Avec PeerVPN, vous pouvez facilement établir un VPN entièrement maillé entre les centres de données et tous les nœuds que vous souhaitez. Vous avez seulement besoin d'au moins un hôte avec une interface accessible publiquement (le port par défaut est 7000, protocole UDP). Une configuration simple pourrait être d'utiliser cet hôte pour votre paramètre peervpn_conf_initpeers. La découverte des autres hôtes sur votre VPN se fait automatiquement par PeerVPN.

PeerVPN installe sa propre interface TAP à cet effet. Le nom par défaut de cette interface TAP est tap0. Pour changer le nom, spécifiez une valeur différente pour la variable peervpn_conf_interface.

Pour générer un mot de passe secret fort pour votre clé prépartagée PeerVPN, vous pouvez utiliser :

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

Étant donné qu'il s'agit d'une clé prépartagée, cette clé DOIT être utilisée sur tous les hôtes où vous installez PeerVPN et où vous utilisez le même nom de réseau. Sinon, la connexion ne fonctionnera pas. La clé prépartagée par défaut est default, que vous voudrez bien sûr changer ;-)

Versions

Je tague chaque version et essaie de respecter la version sémantique. Si vous souhaitez utiliser le rôle, je recommande de consulter le dernier tag. La branche master est essentiellement en développement tandis que les tags marquent des versions stables. Mais en général, j'essaie aussi de garder la branche master en bon état. Un tag 1.0.0+r044 signifie que c'est la version 1.0.0 de ce rôle et qu'il utilise PeerVPN r044. Si le rôle change, X.Y.Z augmentera. Si la version PeerVPN change, rXXX augmentera également et le niveau de correctif du rôle augmentera (par exemple, 1.0.0 -> 1.0.1). Cela permet de taguer les corrections de bugs et les nouvelles versions majeures du rôle tout en continuant le développement pour une version spécifique de PeerVPN.

Exigences

Autorisez le trafic sur le port 7000, protocole UDP (par défaut) si vous avez des règles de pare-feu installées. Vous devez également AJOUTER la variable peervpn_conf_initpeers. Il n'y a pas de valeur par défaut pour cette variable ! IPv6 est ACTIVÉ par défaut. Si vous ne souhaitez pas l'utiliser, ajoutez la variable peervpn_conf_enableipv6: no.

Variables du rôle

En gros, vous devez seulement changer très peu de variables (voir ci-dessous). Mais regardez templates/etc/peervpn/peervpn.conf.j2 pour des exemples et une description complète des variables.

Variables SANS valeurs par défaut :

peervpn_conf_initpeers
peervpn_conf_engine
peervpn_conf_ifconfig6
peervpn_conf_upcmd
peervpn_conf_chroot

Variables avec valeurs par défaut :

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"

Vous DEVEZ spécifier une valeur pour peervpn_conf_initpeers pour utiliser PeerVPN (soit par hôte dans le répertoire host_vars d'Ansible soit par groupe d'hôtes dans le répertoire group_vars). Par exemple, si vous spécifiez peervpn_conf_initpeers: "host.example.net 7000", PeerVPN essaie de se connecter à host.example.net sur le port 7000 via UDP pour établir une connexion.

Vous devriez au moins changer les variables suivantes :

peervpn_conf_initpeers : Le nom d'hôte et le port auxquels PeerVPN doit se connecter pour faire partie du VPN. peervpn_conf_networkname : Le nom de votre VPN. peervpn_conf_psk : Clé prépartagée. Comment générer un bon mot de passe pour la clé prépartagée, voir l'introduction ci-dessus. peervpn_conf_ifconfig4 : L'adresse IP du nœud et le sous-réseau en notation CIDR. Cette variable doit bien sûr être spécifiée par hôte.

Exemple de Playbook

- hosts: webservers
  roles:
    - peervpn

Licence

LICENCE PUBLIQUE GÉNÉRALE GNU Version 3

Informations sur l'auteur

http://www.tauceti.blog

À propos du projet

Installes PeerVPN on a node

Installer
ansible-galaxy install githubixx.peervpn
Licence
gpl-3.0
Téléchargements
142
Propriétaire
Senior System Engineer - Python, Go, Cloud, Kubernetes, Commodore, Retro, 80's ;-)