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

Routage et VPN

6 réponses
Avatar
Lucas Levrel
Bonjour,

J'utilise vpnc-connect pour me connecter à un VPN qui me permet d'accéder
au sous-domaine 10.12.3.* . Le problème est que cette connexion me coupe
toute autre connexion internet. Je souhaiterais ne passer par le VPN que
pour le sous-domaine 10.12.3.*, comment faire ?


--
LL
Ἕν οἶδα ὅτι οὐδὲν οἶδα (Σωκράτης)
C'est mieux avé les accents (F. Patte)

6 réponses

Avatar
Nicolas George
Lucas Levrel , dans le message
, a écrit :
J'utilise vpnc-connect pour me connecter à un VPN qui me permet d'accéder
au sous-domaine 10.12.3.* . Le problème est que cette connexion me coupe
toute autre connexion internet. Je souhaiterais ne passer par le VPN que
pour le sous-domaine 10.12.3.*, comment faire ?

Que dit la table de routage quand le problème se produit ?
Avatar
Lucas Levrel
Le 3 avril 2019, à 15:44, Nicolas George a écrit :
Lucas Levrel , dans le message
, a écrit :
J'utilise vpnc-connect pour me connecter à un VPN qui me permet d'accéder
au sous-domaine 10.12.3.* . Le problème est que cette connexion me coupe
toute autre connexion internet. Je souhaiterais ne passer par le VPN que
pour le sous-domaine 10.12.3.*, comment faire ?

Que dit la table de routage quand le problème se produit ?

VPN connecté ça donne :
$ netstat -r
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
default 0.0.0.0 0.0.0.0 U 0 0 0 tun0
default _gateway 0.0.0.0 UG 0 0 0 wlp2s0
coulomb 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
link-local 0.0.0.0 255.255.0.0 U 0 0 0 wlp2s0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 wlp2s0
193.48.143.1 _gateway 255.255.255.255 UGH 0 0 0 wlp2s0
(Je suppose que tu en auras déduit que la machine s'appelle coulomb, et
193.48.143.1 est la passerelle du VPN.)
Si besoin, VPN déconnecté :
$ netstat -r
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
default box 0.0.0.0 UG 0 0 0 wlp2s0
link-local 0.0.0.0 255.255.0.0 U 0 0 0 wlp2s0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 wlp2s0
Merci.
--
LL
Ἕν οἶδα ὅτι οὐδὲν οἶδα (Σωκράτης)
C'est mieux avé les accents (F. Patte)
Avatar
Nicolas George
Lucas Levrel , dans le message
, a écrit :
$ netstat -r

Oublie ça, « ip route ».
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
default 0.0.0.0 0.0.0.0 U 0 0 0 tun0

Il est là, le problème. Il y a probablement une option dans ton client
VPN pour qu'il n'ajoute pas de route par défaut.
Avatar
Pascal Hambourg
Le 03/04/2019 à 19:39, Nicolas George a écrit :
Lucas Levrel , dans le message
, a écrit :
$ netstat -r

Oublie ça, « ip route ».
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
default 0.0.0.0 0.0.0.0 U 0 0 0 tun0

Il est là, le problème. Il y a probablement une option dans ton client
VPN pour qu'il n'ajoute pas de route par défaut.

Par contre il faudra ajouter une route pour le réseau distant.
Avatar
Lucas Levrel
Le 3 avril 2019, à 17:39, Nicolas George a écrit :
Lucas Levrel , dans le message
, a écrit :
$ netstat -r

Oublie ça, « ip route ».

OK, mais le résultat n'est pas vraiment plus lisible pour moi...
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
default 0.0.0.0 0.0.0.0 U 0 0 0 tun0

Il est là, le problème. Il y a probablement une option dans ton client
VPN pour qu'il n'ajoute pas de route par défaut.

Dans le README :
Please note that vpnc itself does NOT setup routing. You need to do this
yourself, or use --script "Script" in the config file.
The default script is /usr/share/vpnc-scripts/vpnc-script which sets a
default route to the remote network, or if the Concentrator provided
split-network settings, these are used to setup routes.
... bon la suite donne quelques indices dans un langage un peu abscons,
mais après quelques tâtonnements j'ai utilisé la méthode indiquée avec les
paramètres :
CISCO_SPLIT_INC=1
CISCO_SPLIT_INC_0_ADDR.12.3.0
CISCO_SPLIT_INC_0_MASK%5.255.255.0
CISCO_SPLIT_INC_0_MASKLEN$
et ça marche.
Merci pour les réponses.
--
LL
Ἕν οἶδα ὅτι οὐδὲν οἶδα (Σωκράτης)
C'est mieux avé les accents (F. Patte)
Avatar
Nicolas George
Lucas Levrel , dans le message
, a écrit :
OK, mais le résultat n'est pas vraiment plus lisible pour moi...

Ce n'est pas très compliqué.
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
193.48.143.1 _gateway 255.255.255.255 UGH 0 0 0 wlp2s0

Pour joindre 193.48.143.1 il faut envoyer des paquets à destination de
_gateway sur l'interface wlp2s0. J'imagine que _gateway est un alias
défini quelque part genre /etc/hosts.
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 wlp2s0

Pour joindre 192.168.1.0-192.168.1.255, il faut envoyer les paquets sur
wlp2s0.
link-local 0.0.0.0 255.255.0.0 U 0 0 0 wlp2s0

Pour joindre link-local/16, probablement un alias pour 169.254.0.0, il
faut envoyer les paquets sur wlp2s0.
coulomb 0.0.0.0 255.255.255.255 UH 0 0 0 tun0

Pour joindre coulomb, il faut envoyer les paquets sur tun0.
default _gateway 0.0.0.0 UG 0 0 0 wlp2s0

Pour joindre tout le reste, il faut envoyer les paquets à _gateway sur
wlp2s0.
default 0.0.0.0 0.0.0.0 U 0 0 0 tun0

Pour joindre tout le reste, il faut envoyer les paquets sur tun0.
Tu peux voir que les deux dernières règles se contredisent.