Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Une route statique qui disparaît ?

4 réponses
Avatar
Jérémie
Bonjour à tous,

J'ai créé un VPN entre deux réseaux distants et sur la passerelle (Debian)
du réseau R1(192.168.68.0) j'ai entré une route statique vers le réseau
R2(192.168.1.0) comme ceci :

route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.224

où 192.168.1.224 est l'adresse donnée par le serveur VPN une fois la
connexion étbalie.

Tout est OK, sauf qu'il arrive que la route créée s'efface d'elle même de la
table de routage, et paf, plus moyen de se connecter au réseau R1 depuis
R2....

Auriez-vous une explication / solution ?
Merci d'avance,

Jérémie

4 réponses

Avatar
Pascal Hambourg
Salut,


J'ai créé un VPN entre deux réseaux distants


Quel type de VPN ?

et sur la passerelle (Debian)
du réseau R1(192.168.68.0) j'ai entré une route statique vers le réseau
R2(192.168.1.0) comme ceci :

route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.224


Entrée comment ? A la main, ou automtiquement via une option ou un
script exécuté à l'établissement du VPN ?

où 192.168.1.224 est l'adresse donnée par le serveur VPN une fois la
connexion établie.


Je suppose qu'une route vers 192.168.1.224 est créée automatiquement à
l'établissement du VPN, sinon le serpent se mord la queue
(192.168.1.0/24 est joignable via 192.168.1.224, qui appartient à
192.168.1.0/24...)

Tout est OK, sauf qu'il arrive que la route créée s'efface d'elle même de la
table de routage, et paf, plus moyen de se connecter au réseau R1 depuis
R2....


Une route statique ne s'efface pas toute seule. Généralement, le noyau
l'efface quand l'interface de sortie correspondante tombe. Cela peut se
produire si le VPN subit des déconnexions mais se reconnecte
automatiquement sans que la route soit recréée automatiquement.

Avatar
Jérémie
Salut,


J'ai créé un VPN entre deux réseaux distants


Quel type de VPN ?


VPN de type PPTP, authentification MS-CHAP, avec comme serveur VPN un
routeur DraytekVigor 3300.


et sur la passerelle (Debian) du réseau R1(192.168.68.0) j'ai entré
une route statique vers le réseau R2(192.168.1.0) comme ceci :

route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.224


Entrée comment ? A la main, ou automtiquement via une option ou un
script exécuté à l'établissement du VPN ?


Lancée juste après la commande lançant le VPN, dans /etc/rc.local:
/usr/sbin/pppd noauth persist nobsdcomp nodeflate require-mppe-128 name
svc_svg remotename draytek pty "pptp www.zzz.yyy.zzz --nolaunchpppd"
sleep 5
route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.254


où 192.168.1.224 est l'adresse donnée par le serveur VPN une fois la
connexion établie.


Je suppose qu'une route vers 192.168.1.224 est créée automatiquement à
l'établissement du VPN, sinon le serpent se mord la queue
(192.168.1.0/24 est joignable via 192.168.1.224, qui appartient à
192.168.1.0/24...)


Euh .. non, la route n'est pas faite automatiquement, sinon par la
commande lancée après la création du VPN.


Tout est OK, sauf qu'il arrive que la route créée s'efface d'elle même
de la table de routage, et paf, plus moyen de se connecter au réseau
R1 depuis R2....


Une route statique ne s'efface pas toute seule. Généralement, le noyau
l'efface quand l'interface de sortie correspondante tombe. Cela peut se
produire si le VPN subit des déconnexions mais se reconnecte
automatiquement sans que la route soit recréée automatiquement.


Et que verrais-tu comme alternative à ma solution ? (J'avoue que j'ai
fait quelque chose de lourd , voire même hyper bancal, mais c'était pour
tester, donc si tu as qch de mieux à me proposer, je suis preneur ! :)).


Avatar
Pascal Hambourg

J'ai créé un VPN entre deux réseaux distants


Quel type de VPN ?


VPN de type PPTP, authentification MS-CHAP, avec comme serveur VPN un
routeur DraytekVigor 3300.


Du PPP, alors ça va être facile.

et sur la passerelle (Debian) du réseau R1(192.168.68.0) j'ai entré
une route statique vers le réseau R2(192.168.1.0) comme ceci :

route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.224


Entrée comment ? A la main, ou automtiquement via une option ou un
script exécuté à l'établissement du VPN ?


Lancée juste après la commande lançant le VPN, dans /etc/rc.local:
/usr/sbin/pppd noauth persist nobsdcomp nodeflate require-mppe-128 name
svc_svg remotename draytek pty "pptp www.zzz.yyy.zzz --nolaunchpppd"
sleep 5
route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.254

où 192.168.1.224 est l'adresse donnée par le serveur VPN une fois la
connexion établie.


Je suppose qu'une route vers 192.168.1.224 est créée automatiquement à
l'établissement du VPN, sinon le serpent se mord la queue
(192.168.1.0/24 est joignable via 192.168.1.224, qui appartient à
192.168.1.0/24...)


Euh .. non, la route n'est pas faite automatiquement, sinon par la
commande lancée après la création du VPN.


Je parlais de la route vers l'adresse du "peer" (l'autre bout de la
connexion PPP), qui est bien créée automatiquement par pppd.

Tout est OK, sauf qu'il arrive que la route créée s'efface d'elle même
de la table de routage, et paf, plus moyen de se connecter au réseau
R1 depuis R2....


Une route statique ne s'efface pas toute seule. Généralement, le noyau
l'efface quand l'interface de sortie correspondante tombe. Cela peut se
produire si le VPN subit des déconnexions mais se reconnecte
automatiquement sans que la route soit recréée automatiquement.



Je vois plus haut que pppd est bien lancé avec l'option 'persist' pour
se reconnecter automatiquement en cas de coupure de la liaison.

Et que verrais-tu comme alternative à ma solution ?


Créer la route dans un script exécuté par pppd à chaque (re-)connexion.
Sous Debian, un tel script doit être placé dans /etc/ppp/ip-up.d/, doit
être exécutable, commencer par la déclaration de l'interpréteur
(typiquement #!/bin/sh), et son nom ne doit contenir que des lettres
sans accents, chiffres, underscores et tirets (a-zA-Z0-9_-), cf. man
run-parts.

Le script récupère dans $PPP_REMOTE et $PPP_IFACE l'adresse IP du peer
et le nom de l'interface réseau (pppX) respectivement, ce qui est utile
pour créer la route. $PPP_IPPARAM contient la valeur affectée au
paramètre optionnel 'ipparam' dans les options de pppd ; c'est utile
quand on a plusieurs types de connexions PPP simultanées (exemple une
connexion internet PPPoE et un VPN PPTP) pour les différencier et leur
appliquer des actions distinctes.

Exemple :

#!/bin/sh
# fichier : /etc/ppp/ip-up.d/route_vpn

if [ $PPP_IPPARAM == "vpn-pptp" ]; then
/sbin/route add -net 192.168.1.0/24 gw $PPP_REMOTE dev $PPP_IFACE
fi

Note : on n'a pas besoin à la fois de gw et dev, un seul suffit.
Et pour lancer le VPN :

/usr/sbin/pppd ipparam "vpn-pptp" ...



Avatar
cc
Jérémie a utilisé son clavier pour écrire :
Bonjour à tous,

J'ai créé un VPN entre deux réseaux distants et sur la passerelle (Debian) du
réseau R1(192.168.68.0) j'ai entré une route statique vers le réseau
R2(192.168.1.0) comme ceci :

route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.224

il manque le " -p " pour persistant.


--

merci
a+
--
cc