Je pense avoir trouvé une piste pour résoudre ton problème (ma foi très intéressant puisqu'on n'a aucun contrôle sur le serveur).
1) Il est possible de monter le VPN en refusant les deux routes
1 2
| 0.0.0.0 10.99.0.149 128.0.0.0 UG 0 0 0 tun0
128.0.0.0 10.99.0.149 128.0.0.0 UG 0 0 0 tun0 |
qui proviennent du push du serveur.
Il suffit pour ça de lancer le client VPN avec l'option --route-nopull
2) Ensuite, il faudra ajouter des routes statiques dans la table de routage qui permettront de couvrir tout l'espace d'adressage privé, à savoir les CIDR 10/8, 172.16/12 et 192.168/16. Il faudra faire pointer toutes ces routes vers le VPN. Sur une plateforme Ubuntu, ça donnerait quelque chose comme ça :
route add -net 10.0.0.0/8 gw 10.99.0.149
route add -net 172.16.0.0/12 gw 10.99.0.149
route add -net 192.168.0.0/16 gw 10.99.0.149
Remarques importantes :* Question cruciale :
lorsque le VPN est monté, est-ce que ton serveur est sensé accéder à des hosts sur Internet (au travers du VPN bien sûr) ?
Si c'est non, ça devrait être OK

Si c'est oui, et ben, il va falloir réfléchir à un autre plan d'actions

* A noter que la route statique 192.168.0.0/16 pointant vers le VPN n'aura pas d'effet de bord si tu veux te connecter à ton serveur depuis ton réseau local 192.168.1.0/24 puisque ce dernier est directement connecté au serveur.
* D'autre part, comme tu as écrit que tu pouvais te connecter en local lorsque le VPN était monté, je suppose que 192.168.1.0/24 est le seul réseau à partir duquel tu fais ça en local. S'il y en avait un autre, par exemple 192.168.2.0/24, il suffirait d'entrer une nouvelle route statique et là encore, il n'y aurait pas d'effet de bord avec la route 192.168.0.0/16 puisque l'entrée 192.168.2.0/24 est plus spécifique ("longest match").
Voilà, tiens-nous au courant 
Steph
Partager