« Headscale » : différence entre les versions
m typo |
Grosse mise à jour de Headscale |
||
| (8 versions intermédiaires par un autre utilisateur non affichées) | |||
| Ligne 1 : | Ligne 1 : | ||
[[Headscale]] est un logiciel libre | {{Infobox logiciel | ||
| sous-titre = Service de VPN et de gestion de réseaux | |||
| localisation = [[admin0|Serveur admin0]], [[admin1|Serveur admin1]], [[computing|Serveur computing]], [[storage|Serveur storage]], [[mail|Serveur mail]] | |||
| site officiel = https://headscale.net/ | |||
| documentation = https://headscale.net/stable/ref/configuration/ | |||
| utilise = [[Nginx]], [[Certbot]], [[Keycloak]] | |||
| image = Icon headscale.svg | |||
| configuration = <code>/etc/headscale/config.yaml</code> | |||
| accès = https://headscale.linarphy.net | |||
| service = [[Systemd]] | |||
}} | |||
[[Headscale]] est un logiciel libre de gestion de nœuds [[Tailscale]]. Il imite l’API du [https://tailscale.com gestionnaire privé par défaut]. Il permet de lier via un "hub" commun de multiples nœuds, formant un réseau local interne. Certains nœuds de ce réseau sont des sorties qui peuvent transmettre le trafic sortant, ce qui permet de les considérer comme des '''VPN'''. | |||
== Configuration actuelle == | == Configuration actuelle == | ||
Sur l'architecture actuelle, il tourne sur le serveur computing | Sur l'architecture actuelle, il tourne sur le [[Computing|serveur computing]]. La répartition des nœuds est disponible dans l’article concernant [[Tailscale]]. | ||
== Procédures == | == Procédures == | ||
=== Ajout un nœud de sortie (exit node) === | === Ajout un nœud de sortie (exit node) === | ||
Sur le [[computing|serveur computing]] (exécutant [[headscale]]), lancer la commande <code>headscale routes list</code> ce qui permet d'afficher un tableau trié par ''ID''. Cibler les deux ''ID'' correspondant au nœud de sortie ('''IPv4''' et '''IPv6''') et exécuter la commande <code>headscale routes enable -r {ID}</code> pour ces deux nombres. | |||
Sur le | |||
Les informations concernant la configuration du nœud sont disponibles dans l’article [[Tailscale]]. | |||
== Installation == | == Installation == | ||
Si non indiqué, l'utilisateur effectuant les commandes dans la suite des opérations et le '''root''' (ou superutilisateur). | Si non indiqué, l'utilisateur effectuant les commandes dans la suite des opérations et le '''root''' (ou superutilisateur). | ||
| Ligne 32 : | Ligne 33 : | ||
=== Téléchargement et installation === | === Téléchargement et installation === | ||
Le service s'installe sur les systèmes debian à l'aide de package '''.deb''' disponible [https://github.com/juanfont/headscale/releases/latest ici]. Si l'architecture du serveur n'est pas | Le service s'installe sur les systèmes debian à l'aide de package '''.deb''' disponible [https://github.com/juanfont/headscale/releases/latest ici]. Si l'architecture du serveur n'est pas cconnue utiliser le paquet pour l'architecture '''amd64'''. Une fois l'archive téléchargée avec curl: <code>curl -L {url} -o headscale.tar.gz</code>, puis l'avoir extrait avec <code>tar -xf headscale.tar.gz</code> et supprimer l'archive avec <code>rm headscale.tar.gz</code>, il suffit alors de l'installer avec aptitude : <code>apt install ./headscale.deb</code>. | ||
=== Reverse proxy === | === Reverse proxy === | ||
Comme pour la plupart des services, Headscale sera disponible | Comme pour la plupart des services, Headscale sera disponible sur son nom de domaine propre. | ||
Ajouter le nom de domaine sur la zone '''DNS''' de l'interface d'administration de [[FreeIPA]] (procédure [[FreeIPA#DNS|ici]]). | Ajouter le nom de domaine sur la zone '''DNS''' de l'interface d'administration de [[FreeIPA]] (procédure [[FreeIPA#DNS|ici]]). | ||
| Ligne 49 : | Ligne 50 : | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Puis créer un lien symbolique avec la commande <code>ln -s /etc/nginx/sites-available/headscale.linarphy.net /etc/nginx/sites-enabled/headscale.linarphy.net</code> et tester la configuration via <code>nginx -t</code>. Si la configuration est valide, il est nécessaire de recharger le service systemd avec <code>systemctl reload nginx</code> et mettre en place le chiffrement ssl avec <code>certbot --nginx --domain | Puis créer un lien symbolique avec la commande <code>ln -s /etc/nginx/sites-available/headscale.linarphy.net /etc/nginx/sites-enabled/headscale.linarphy.net</code> et tester la configuration via <code>nginx -t</code>. Si la configuration est valide, il est nécessaire de recharger le service systemd avec <code>systemctl reload nginx</code> et mettre en place le chiffrement ssl avec <code>certbot --nginx --domain headscale.linarphy.net</code>. | ||
Vérifier ensuite sur un navigateur l'accès au service sur le protocole https. | Vérifier ensuite sur un navigateur l'accès au service sur le protocole https. | ||
| Ligne 385 : | Ligne 386 : | ||
nameservers: | nameservers: | ||
global: | global: | ||
# Quad9 DNS | |||
- 9.9.9.9 | |||
- 2620:fe::fe | |||
- 149.112.112.112 | |||
- 2620:fe::9 | |||
#- 1.1.1.1 | #- 1.1.1.1 | ||
#- 1.0.0.1 | #- 1.0.0.1 | ||