Principe
Sur nos machines hébergées (TTNN et LDN), nous voulons faire passer tout le flux par défaut via le tunnel IPSec, sauf les réponses à des questions posées via l'IP fournie par notre partenaire.
Mise en œuvre – exemple sur gaffe
Table de routage
Dans le fichier /etc/iproute2/rt_tables
, on ajoute une table ttnn :
#
# reserved values
#
255 local
254 main
253 default
0 unspec
#
# local
#
#1 inr.ruhep
# via TTNN
10 ttnn
Puis on ajoute une règle disant que les flux arrivant par l'IP de TTNN repartent via la table de routage ttnn :
ip rule add from 91.224.149.11 table ttnn
Gestion des routes
On ajoute ensuite une route par défaut dans la table ttnn vers la gateway de TTNN :
ip route add default via 91.224.149.254 table ttnn
Pour le transfert et avant la suppression des autres routes, on ajoute une route avec une métrique que l'on supprimera après :
ip route add default via 10.6.47.6 metric 100 src 91.216.110.7
On enlève la route par défaut vers l'IP de TTNN :
ip route del default via 91.224.149.254
Vérifications
Avec quagga (gaffe - TTNN)
On vérifie que la route par défaut est bien apprise par ospf :
vtysh -d ospfd
sh ip ospf route
…
============ OSPF external routing table ===========
N E2 0.0.0.0/0 [10/1] tag: 0
via 10.6.47.6, tun-estran
…
Puis que zebra l'intègre bien dans le noyau avec :
vtysh -d zebra
sh ip route
…
O>* 0.0.0.0/0 [110/1] via 10.6.47.6, tun-estran, src 91.216.110.7, 08:55:24
…
Avec bird (radeau - LDN)
On vérifie que la route arrive bien dans bird via l'ospf :
birdc
bird> show route
0.0.0.0/0 via 10.8.47.6 on tun-estran [ospf1 23:29] * E2 (150/5/1) [91.216.110.6]
…
Si elle n'est pas apprise via ospf, il faut vérifier dans les filtres qu'on accepte bien du 0.0.0.0/0 en ospf de estran.
Finitions
Puis, si tout fonctionne correctement, que la route arrive bien via ospf, et que zebra l'intègre bien au noyau, on peut virer la route temporaire par défaut qu'on avait mise au cas où :
ip route del default
Mise en place permanente
Dans /etc/network/interfaces
, on ajoute ces 4 lignes dans l'interface eth0 :
# pour le source-routing ttnn / tunnel
up ip rule add from 91.224.149.11 table ttnn
up ip route add default via 91.224.149.254 table ttnn
down ip route del default via 91.224.149.254 table ttnn
down ip rule del from 91.224.149.11 table ttnn