Dans un précédent article nous avons vu comment configurer TINC dans OPNSense et interconnecter plusieurs sites entre eux.
La partie routage reste néanmoins un peu compliquée dans le cas où ce déploiement dépasse un nombre restreint de sites. Nous restons sur la même configuration que pour le déploiement Tinc précédent.
Nous allons voir comment mettre en place OSPF dans notre cas. OSPF est un protocole de routage dynamique permettant de gérer au mieux le parcours de votre trafic.
Configuration du firewall
Tout d’abord, si vous avez suivi l’article précédent, il est important de supprimer les routes et les passerelles qui ont été définies, puis la réelle première opération pour notre configuration est d’installer le paquet os-frr (ce paquet installe quagga) :
Configuration d’OSPF
Il est possible de voir un onglet “Routing” sur la gauche (il faut rafraîchir la page pour qu’il apparaisse). Il faut se diriger vers le menu OSPF, et définir comme suit :
La partie importante est de ne pas faire participer les interfaces WAN et LAN pour éviter d’envoyer des paquets OSPF et de ne faire participer que l’interface TINC. En fonction de vos tests, il est possible de définir une passerelle par défaut pour tout vos sites si vous souhaitez sortir par un point unique.
Il faut maintenant configurer sur chaque firewall, les réseaux que vous souhaitez propager. Attention, il est important de proposer un /32 pour l’IP de l’interface Tinc.
Vous pouvez vérifier que l’onglet interface est bien vide, pour ne pas interférer avec le reste de la configuration :
Une fois, ces opérations réalisées sur tous vos noeuds Tinc, vous pouvez activer la configuration de routage générale (cela va juste lancer le service Quagga), comme suit :
Vous pouvez aller dans l’onglet diagnostique pour vérifier que la table de routage est correcte et que la découverte de fait bien :
Conclusion
L’avantage de coupler Tinc avec OSPF vous permet de réaliser une solution de VPN et de routage inter-site simple et efficace. Il est aussi possible de le mélanger avec des réseaux Tinc sur des hôtes distants qui sont hébergés en dehors de votre infrastructure (Cloud, Hébergeur, etc…).