
Poursuivant l'histoire de ZeroTier, à partir de la théorie expliquée dans l'article «Commutateur Ethernet intelligent pour la planète Terre», je passe à la pratique, où :
- Nous créerons et configurerons un contrôleur de réseau privé
- Nous créerons un réseau virtuel
- Nous configurerons et connecterons des nœuds à celui-ci
- Nous vérifierons la connectivité réseau entre eux
- Nous restreindrons l'accès à l'interface graphique du contrôleur de réseau depuis l'extérieur
Contrôleur de réseau
Comme mentionné précédemment, pour créer des réseaux virtuels, les gérer, ainsi que connecter des nœuds, l'utilisateur a besoin d'un contrôleur de réseau, dont l'interface graphique (GUI) existe sous deux formes :
Options de ZeroTier GUI
- L'une est développée par ZeroTier, disponible en tant que solution cloud publique, fournie par un modèle SaaS, avec quatre plans d'abonnement, y compris un gratuit, mais limité en nombre de dispositifs gérés et en niveau de support
- L'autre - d'un développeur indépendant, quelque peu simplifiée en termes de fonctionnalités, mais disponible comme solution open source privée, à utiliser sur site ou sur des ressources cloud.
Dans ma pratique, j'ai utilisé les deux et j'ai fini par m'arrêter sur la deuxième. La raison en est les avertissements du développeur.
« Les contrôleurs de réseau servent de centres de certification pour les réseaux virtuels ZeroTier. Les fichiers contenant les clés secrètes du contrôleur doivent être soigneusement protégés et sauvegardés de manière fiable. Leur compromission permet à des attaquants non autorisés de créer des configurations réseau frauduleuses, et leur perte entraîne la perte de la capacité de contrôler et de gérer le réseau, le rendant en fait inutilisable »
Et aussi, des signes de paranoïa en matière de sécurité de l'information 🙂
- Même si le Chéburnet arrive, je dois garder l'accès à mon contrôleur de réseau ;
- Le contrôleur de réseau ne doit être utilisé que par moi. Si nécessaire, en donnant accès à mes personnes de confiance ;
- Il doit y avoir la possibilité de limiter l'accès au contrôleur de réseau depuis l'extérieur.
Je ne vois pas vraiment l'intérêt de s'attarder sur la façon de déployer un contrôleur de réseau et son interface graphique sur des ressources physiques ou virtuelles sur site. Et cela pour trois raisons :
- le nombre de caractères sera supérieur à ce que j'avais prévu
- à ce sujet déjà il a été expliqué sur GitHub du développeur de l'interface graphique
- le sujet de l'article est autre
Ainsi, en choisissant la voie de la moindre résistance, j'utiliserai dans ce récit un contrôleur de réseau avec une interface graphique basé sur — serveur dédié virtuel., créé à partir d'un modèle, gracieusement développé par mes collègues de ProHoster.
La configuration initiale
, si nécessaire, il peut être agrandi. Pour de serveurs du modèle mentionné, l'accès à l'interface Web du contrôleur est donné à l'utilisateur via le navigateur, en se rendant à l'adresse https://:3443

Par défaut serveur dispose déjà d'un certificat TLS/SSL auto-signé préalablement créé. Pour moi, cela suffit, car je limite l'accès depuis l'extérieur. Pour ceux qui souhaitent utiliser d'autres types de certificats, il y a d'installation est disponible sur GitHub du développeur de l'interface graphique.
Lors de la première connexion de l'utilisateur au système Connexion avec les identifiants et mot de passe par défaut — admin et password:

Il lui est proposé de changer le mot de passe par défaut pour un mot de passe personnalisé

Je procède légèrement différemment — je ne change pas le mot de passe de l'utilisateur existant, mais j'en crée un nouveau — Créer un utilisateur.
Je définis le nom du nouvel utilisateur — Nom d'utilisateur:
Je définis le nouveau mot de passe — Entrez un nouveau mot de passe:
Je confirme le nouveau mot de passe — Ressaisissez le mot de passe:
Les caractères saisis sont sensibles à la casse — soyez attentifs !
La case à cocher pour confirmer le changement de mot de passe lors de la prochaine connexion — Changer le mot de passe lors de la prochaine connexion : je ne la coche pas.
Pour confirmer les informations saisies, je clique sur Définir le mot de passe:

Ensuite : je me reconnecte — Déconnexion / Connexion, déjà avec les identifiants du nouvel utilisateur :

Je vais ensuite dans l'onglet utilisateurs — Utilisateurs et je supprime l'utilisateur admin, en cliquant sur l'icône de la corbeille, qui se trouve à gauche de son nom.

À l'avenir, pour changer le mot de passe d'un utilisateur, il suffit de cliquer sur son nom ou sur définir le mot de passe.
Création d'un réseau virtuel
Pour créer un réseau virtuel, l'utilisateur doit se rendre dans l'onglet Ajouter un réseau. Cela peut être fait depuis la page User — la page d'accueil de l'interface Web, sur laquelle est affichée l'adresse ZeroTier de ce contrôleur de réseau et où se trouve un lien vers la page de la liste des réseaux créés par ce biais. Accueil l'utilisateur attribue un nom au réseau qu'il crée.

Sur la page Ajouter un réseau Une fois les données saisies appropriées —

Créer un réseau Créer un réseau L'utilisateur accède à une page avec une liste de réseaux, où sont indiqués :
Nom du réseau — le nom du réseau sous forme de lien, en cliquant sur lequel il est possible de le modifier
ID du réseau — l'identifiant du réseau
détails — un lien vers la page avec les paramètres détaillés du réseau
configuration facile — un lien vers la page pour une configuration simplifiée
membres — un lien vers la page de gestion des nœuds

Pour continuer la configuration, cliquez sur le lien configuration facile. Sur la page qui s'ouvre, l'utilisateur définit la plage d'adresses IPv4 pour le réseau à créer. Cela peut être fait automatiquement en appuyant sur le bouton Générer une adresse réseau ou manuellement, en saisissant le masque de sous-réseau correspondant CIDR.

Après confirmation de l'entrée des données, il est nécessaire de revenir à la page avec la liste des réseaux en utilisant le bouton Retour. Sur cela, la configuration principale du réseau peut être considérée comme terminée.
Connexion des nœuds au réseau
- Pour commencer, il est nécessaire d'installer le service ZeroTier One sur le nœud que l'utilisateur souhaite connecter au réseau.Qu'est-ce que ZeroTier One ?ZeroTier One — un service qui fonctionne sur des ordinateurs portables, des ordinateurs de bureau, des serveurs, des machines virtuelles et des conteneurs, qui fournit une connexion à un réseau virtuel via un port réseau virtuel, semblable à un client VPN. Après l'installation et le démarrage du service, on peut se connecter aux réseaux virtuels en utilisant leurs adresses à 16 chiffres. Chaque réseau apparaît comme un port réseau virtuel dans le système, se comportant comme un port Ethernet ordinaire.
Les liens vers les distributions ainsi que les commandes d'installation peuvent être trouvés sur la page du fabricant. Le service installé peut être géré via le terminal de commande (CLI) avec des droits admin/root. Sur Windows/MacOS, aussi via l'interface graphique. Sur Android/iOS, seulement via l'interface graphique. - Vérification du succès de l'installation du service :CLI :
zerotier-cli statusRésultat :
200 info ebf416fac1 1.4.6 EN LIGNE
GUI :La présence même de l'application en cours d'exécution et la ligne avec l'ID de nœud contenant l'adresse du nœud.
- Connexion du nœud au réseau :CLI :
zerotier-cli joinRésultat :
200 join OKGUI :
Windows : en faisant un clic droit sur l'icône ZeroTier One dans la barre d'état système et en sélectionnant l'option — Rejoindre le réseau.

MacOS : Lancer l'application ZeroTier One dans le menu de la barre, si elle n'est pas déjà lancée. Cliquez sur l'icône ⏁ et sélectionnez Rejoindre le réseau.Android/iOS : + (image du plus) dans l'application

Dans le champ qui apparaît, entrez l'adresse indiquée dans l'interface utilisateur du contrôleur réseau ID du réseau, puis appuyez sur Rejoindre / Ajouter un réseau. - Attribuer une adresse IP au nœud
Nous revenons maintenant au contrôleur réseau et sur la page de la liste des réseaux, cliquez sur le lien. membres. Si l'écran affiche une image similaire à celle-ci, cela signifie que votre contrôleur réseau a reçu une demande de confirmation de connexion au réseau de la part du nœud connecté.
Sur cette page, nous laissons tout comme c'est et cliquons sur le lien. Attribution d'IP nous passons à la page d'attribution d'une adresse IP au nœud :
Après avoir attribué l'adresse, cliquez sur le bouton. Back Nous revenons à la page de la liste des nœuds connectés et donnons un nom — Nom du membre et cochons la case pour autoriser le nœud sur le réseau — Autorisé. D'ailleurs, cette case est très pratique pour déconnecter/connecter le nœud au réseau par la suite.
Nous enregistrons les modifications en utilisant le bouton. Rafraîchir. - Vérification de l'état de la connexion du nœud au réseau :
Pour vérifier l'état de la connexion sur le nœud lui-même, exécutez :
CLI :zerotier-cli listnetworksRésultat :
200 liste des réseaux
200 liste des réseaux 2da06088d9f863be Mon_1er_VLAN be:88:0c:cf:72:a1 OK PRIVÉ ethernet_32774 10.10.10.2/24
GUI :L'état du réseau doit être OK.
Pour connecter les autres nœuds, répétez les opérations 1-5 pour chacun d'eux.
Vérification de la connectivité réseau des nœuds.
Je fais cela en exécutant la commande : ping sur l'appareil connecté au réseau que je gère actuellement.

Sur la capture d'écran de l'interface Web du contrôleur, vous pouvez voir trois nœuds connectés au réseau :
- ZTNCUI — 10.10.10.1 — mon contrôleur réseau avec GUI — — serveur dédié virtuel. dans l'un des centres de données ProHoster. Pour un fonctionnement normal, il n'est pas nécessaire de l'ajouter au réseau, mais je l'ai fait car je veux verrouiller l'accès à l'interface Web depuis l'extérieur. Nous en parlerons un peu plus tard.
- MyComp — 10.10.10.2 — mon ordinateur de travail — PC physique.
- Backup — 10.10.10.3 — VDS dans un autre centre de données.
Par conséquent, depuis mon ordinateur de travail, je vérifie l'accessibilité des autres nœuds avec les commandes :
ping 10.10.10.1Envoi de requêtes à 10.10.10.1 avec 32 octets de données :
Réponse de 10.10.10.1 : octets=32 temps=14ms TTL=64
Réponse de 10.10.10.1 : octets=32 temps=4ms TTL=64
Réponse de 10.10.10.1 : octets=32 temps=7ms TTL=64
Réponse de 10.10.10.1 : octets=32 temps=2ms TTL=64
Statistiques de ping pour 10.10.10.1 :
Paquets : Envoyés = 4, Reçus = 4, Perdus = 0 (0 % de perte),
Temps arrondi approximatif de trajet en millisecondes :
Minimum = 2ms, Maximum = 14ms, Moyenne = 6ms
ping 10.10.10.3Ping de 10.10.10.3 avec 32 octets de données :
Réponse de 10.10.10.3 : octets=32 temps=15ms TTL=64
Réponse de 10.10.10.3 : octets=32 temps=4ms TTL=64
Réponse de 10.10.10.3 : octets=32 temps=8ms TTL=64
Réponse de 10.10.10.3 : octets=32 temps=4ms TTL=64
Statistiques de ping pour 10.10.10.3 :
Paquets : Envoyés = 4, Reçus = 4, Perdus = 0 (0 % de perte),
Temps arrondi approximatif de trajet en millisecondes :
Minimum = 4ms, Maximum = 15ms, Moyenne = 7ms
L'utilisateur a le droit d'utiliser d'autres outils de vérification de l'accessibilité des nœuds sur le réseau, qu'ils soient intégrés au système d'exploitation ou des outils tels que NMAP, Advanced IP Scanner, etc.
Nous masquons l'accès à l'interface GUI du contrôleur réseau depuis l'extérieur.
En fait, pour réduire la probabilité d'accès non autorisé à la VDS sur laquelle se trouve mon contrôleur réseau, je peux utiliser le pare-feu dans le tableau de bord ProHoster. Ce sujet mérite un article séparé. Donc, ici, je vais montrer comment garantir l'accès à l'interface GUI du contrôleur uniquement depuis le réseau que j'ai créé dans cet article.
Pour ce faire, connectez-vous via SSH au VDS sur lequel se trouve le contrôleur, et ouvrez le fichier de configuration avec la commande :
nano /opt/key-networks/ztncui/.envDans le fichier ouvert, après la ligne « HTTPS_PORT=3443 », qui contient l'adresse du port sur lequel l'interface graphique s'ouvre, vous devez ajouter une ligne supplémentaire avec l'adresse sur laquelle l'interface graphique sera accessible — dans mon cas, c'est HTTPS_HOST=10.10.10.1.
Ensuite, j'enregistre le fichier
Ctrl+C
Y
Entrée
et j'exécute la commande :
systemctl restart ztncuiEt voilà, maintenant l'interface graphique de mon contrôleur réseau est accessible uniquement pour les nœuds du réseau 10.10.10.0/24.
En conclusion
Sur ce, je souhaite conclure la première partie du guide pratique sur la création de réseaux virtuels basés sur ZeroTier. J'attends vos commentaires.
En attendant, pour passer le temps avant la publication de la prochaine partie, dans laquelle je raconterai comment relier un réseau virtuel à un réseau physique, comment organiser un mode « road warrior » et d'autres choses, je vous invite à essayer de créer votre propre réseau virtuel avec un contrôleur réseau privé doté d'une interface graphique basée sur un VDS du marketplace sur site ProHoster. D'autant plus que tous les nouveaux clients bénéficient d'une période d'essai gratuite de 3 jours !
P.S. Oui ! J'ai failli oublier ! Vous pouvez supprimer un nœud du réseau avec la commande dans le CLI de ce nœud.
zerotier-cli leave200 leave OK
ou avec la commande Delete dans l'interface graphique du client sur le nœud.
-> Introduction. Partie théorique. Commutateur Ethernet intelligent pour la planète Terre
-> Guide pratique pour la construction de réseaux virtuels. Partie 1
-> Guide pratique pour la construction de réseaux virtuels. Partie 2
Source : habr.com





