Tinc est une solution de VPN full Mesh destinée à être la plus simple possible en terme de déploiement et OPNSense est une solution de pare-feu, fork de pfsense.
Nous avons vu dans un précédent article comment déployer la solution TINC sur des machines Linux (dans notre cas sous CentOS), mais il est également possible de l’utiliser pour réaliser une connexion entre plusieurs sites.
Définition de nos réseaux
Nous allons partir d’une situation avec trois sites distants :
Nom du site | IP dans le réseau TINC | IP WAN | Réseau LAN |
---|---|---|---|
FW1 | 10.255.255.30 | 192.168.12.130 | 172.16.30.0/24 |
FW2 | 10.255.255.31 | 192.168.12.131 | 172.16.31.0/24 |
FW3 | 10.255.255.32 | 192.168.12.132 | 172.16.32.0/24 |
Nous définissons un réseau Tinc avec un masque en /24, il peut être intéressant de le réduire mais cet article n’a que lieu d’illustration.
Configuration des Firewall
La première opération est d’installer le paquet os-tinc, celui-ci permet d’avoir une option supplémentaire dans le menu VPN :
Une fois le paquet installé, il est nécessaire de créer un VPN Tinc, avec le même nom de réseau, comme suit :
Le paramètre Network correspond à l’IP et le subnet de votre instance dans ce cas 10.255.255.32/24, puis dans la partie “This Host”, cela correspond à l’IP externe de ce firewall et le port d’écoute du serveur Tinc. Les champs Private Key et Public Key sont remplis automatiquement à la sauvegarde de vos paramètres.
Vous pouvez les éditer pour mettre vos clés privées et publiques si vous le souhaitez.
Une fois, cette opération réalisée sur vos 3 pare-feux, il est nécessaire d’ouvrir le port correspondant au service, pour cela naviguez dans la partie Firewall > Rules > WAN et ouvrez le port en mettant en destination votre Firewall.
Il est à noter qu’il serait intéressant de ne limiter l’exposition que sur les IPs de vos différents sites.
Il est maintenant possible de configurer les autres Hôtes qui font partie de votre réseau Tinc, pour se faire aller dans la partie, VPN > Tinc > Hosts et renseigner les informations des autres pare-feux :
Les éléments à définir sont :
- L’IP public
- Le Port
- Le nom d’hôte
- La clé publique
Tinc crée un réseau Full Mesh entre vos points, et les routeurs Tinc peuvent faire transiter du trafic d’hôtes qui ne sont pas directement reliés.
Configuration du routage
Une fois ces opérations réalisées, il est convient de définir le routage entre vos différents réseaux, pour cela il faut assigner l’interface TINC :
Nous définirons ensuite des passerelles correspondantes aux autres noeuds Tinc comme suit :
Dès lors, OPNSense validera la connectivité avec les différentes passerelles et leur taux de latence :
Il conviendra ensuite de réaliser le routage vers les différents réseaux :
À partir de cet instant, le trafic peut correctement transiter entre vos instances.
Configuration du pare-feu
Il n’est actuellement pas possible de communiquer entre les noeuds car les configurations vont par défaut refuser tout le trafic, pour corriger cela nous allons autoriser de manière large les différents protocoles sur les interfaces TINC / TincVPN :
Conclusion
Il est maintenant possible de communiquer entre les réseaux de vos 3 sites en passant par votre VPN Tinc, il est également possible de l’intégrer avec d’autres types de noeuds.
La partie routage peut être plus dynamique et nous allons voir dans un prochain article comment intégrer OSPF à ce déploiement.