Posts Tagged ‘route’

problème serveur : les utilisateurs ont un problème de routage asymétrique

mardi, janvier 6th, 2009

Si les utilisateurs ont un problème de route asymétrique entre l’envoie d’un paquet et sa réception ce qui entraîne une rupture de connexion de la part du FireWall, il faut commencer par regarder la configuration des interfaces car c’est à cet endroit que nous effectuons un routage.
Pour rappel, le FireWall divise en quatre grandes classes l’ensemble des classe IP de l’UFC (chacune à sa VRF).
Sur le FW, plusieurs de ces classes sont réunis et il faut faire extrêmement attention à ne pas créer sur la machine VPN un routage inter-classe qui entraînera pour le moins un dysfonctionnement pour l’utilisateur (au pire un dysfonctionnement d’une partie du réseau de l’UFC).
Avec le code suivant :
auto eth0.168
iface eth0.168 inet static
address 172.20.16.220
netmask 255.255.255.0
network 172.20.16.0
broadcast 172.20.16.255
up ip route add default via 172.20.16.254 dev eth0.168 table admin.pres
up ip rule add fwmark 18 table admin.pres
down ip rule del fwmark 18
down ip route del table admin.pres

Nous avons deux règles très importantes :
la première :
up ip route add default via 172.20.16.254 dev eth0.168 table admin.pres
qui implique une route par défaut pour tous les utilisateurs VPN du tag 18 (admin.pres).
la seconde :
up ip rule add fwmark 18 table admin.pres
car c’est par elle que l’on affecte au client le tag 18.

Si le code dans le fichier /etc/network/interfaces ressemble à
up ip route add default via 172.20.16.254 dev eth0.168 table admin.pres
ip up rule add fwmark 18 table admin.pres

Tous les clients de ce réseaux ne seront pas affecté au tag 18 et donc tout leur trafic transitera par l’interface de routage par défaut de la machine qui est sans aucun doute dans une VRF distincte et donc entraînera un dysfonctionnement des connexion de ces clients vers l’extérieur de leur réseau de connexion.

problème Linux : route par défaut surnuméraire

lundi, décembre 8th, 2008

avant d’activer le VPN vous avez des routes du style :
172.21.7.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
0.0.0.0 172.21.7.254 0.0.0.0 UG 0 0 0 eth1

Une fois activé le VPN (sur l’interface WIFI) vous avez :
194.57.91.250 172.21.7.254 255.255.255.255 UGH 0 0 0 eth1
192.168.255.202 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
172.21.7.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0 ppp0

Mais il est possible qu’une fois activé ipsec vous ayez les routes suivantes en sus :
0.0.0.0 0.0.0.0 128.0.0.0 U 0 0 0 eth1
128.0.0.0 0.0.0.0 128.0.0.0 U 0 0 0 eth1
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth1

Les deux premières routes sont complètement inutile et nuisible à votre connexion. Il faut donc s’en débarrasser avec les commandes suivantes :
route del -net 128.0.0.0 netmask 128.0.0.0
route del -net 0.0.0.0 netmask 128.0.0.0

Vous pouvez aussi aller modifier le fichier /etc/ipsec.conf en décommentant la ligne suivante :
include /etc/ipsec.d/examples/no_oe.conf

Problème Linux : trop de route par défaut

lundi, décembre 8th, 2008

Si vous avez plusieurs routes par défaut, cela viens sans aucun doute que vous avez activez (volontairement ou non) le WIFI plus l’interface filaire de votre portable.
Dans ce cas, vous voyez quelque chose du style :
0.0.0.0 194.57.89.254 0.0.0.0 UG 0 0 0 eth0
0.0.0.0 172.21.7.254 0.0.0.0 UG 0 0 0 eth1

Le processus ipsec ne pourra pas démarrer, car il ne saura pas quel passerelle utiliser pour connecter le serveur VPN.

Dans ce cas, il faut donc fermer une connexion (filaire ou wifi au choix) et relancer ipsec.

Windows : la table de routage

mercredi, octobre 22nd, 2008

Petite explication de la table de routage d’une machine Windows après une connexion VPN depuis une connexion WIFI.
exemple de cheminement de l\'information entre un client VPN et une machine UFC

Destination réseau Masque réseau Adr. passerelle Adr. interface Métrique
passerelle du réseau WIFI dans lequel vous vous trouvez
0.0.0.0 0.0.0.0 172.21.23.254 172.21.23.253 4250

passerelle du réseau du REALM VPN dans lequel vous vous trouvez => grosse flèche rouge
0.0.0.0 0.0.0.0 On-link 172.20.179.63 26

loopback
127.0.0.0 255.0.0.0 On-link 127.0.0.1 4531
127.0.0.1 255.255.255.255 On-link 127.0.0.1 4531
127.255.255.255 255.255.255.255 On-link 127.0.0.1 4531

votre adresse locale dans le REALM VPN =>
172.20.179.63 255.255.255.255 On-link 172.20.179.63 281

définition du réseau WIFI
172.21.23.128 255.255.255.128 On-link 172.21.23.253 4506

votre adresse locale dans le WIFI
172.21.23.253 255.255.255.255 On-link 172.21.23.253 4506

broadcast dans le WIFI
172.21.23.255 255.255.255.255 On-link 172.21.23.253 4506

Comment joindre le serveur VPN => route obligatoire => grosse flèche noire
194.57.89.105 255.255.255.255 172.21.23.254 172.21.23.253 4251

multicast
224.0.0.0 240.0.0.0 On-link 127.0.0.1 4531
224.0.0.0 240.0.0.0 On-link 172.21.23.253 4508
224.0.0.0 240.0.0.0 On-link 172.20.179.63 26

broadcast générique
255.255.255.255 255.255.255.255 On-link 127.0.0.1 4531
255.255.255.255 255.255.255.255 On-link 172.21.23.253 4506
255.255.255.255 255.255.255.255 On-link 172.20.179.63 281
===========================================================================

Le flèche verte indique le trajet de l’information pour aller sur un serveur dans l’UFC.

Problème Linux : route vers le serveur VPN absente

vendredi, mai 23rd, 2008

Lors de l’établissement L2TP/PPP entre le client et le serveur, L2TP change la route par défaut de la machine pour indiquer PPP à la place. ex :
0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0 ppp0
Or en effectuant cette opération le système doit aussi ajouter une route pour garantir le lien vers le serveur VPN ex :
194.57.91.250 172.21.7.254 255.255.255.255 UGH 0 0 0 eth1
dans cet exemple le serveur VPN est 194.57.91.250 et la passerelle par défaut 172.21.7.254 sur l’interface eth1.

Si cette route est absente le lien entre le client et le serveur est immédiatement mis en défaut et la connexion se coupe au bout de quelques minutes => aucun échange avec quiconque n’est possible sans cette route.

Solution : relancer ipsec. Cette opération doit être également effectuée après chaque changement (up/down) d’interface.