Accès SSH sur serveur linux connecté à un VPN

Fermé
baptiste - 12 avril 2016 à 09:37
mamiemando Messages postés 33630 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 14 avril 2025 - 27 avril 2016 à 10:25
Bonjour,

J'ai besoin d'aide pour accéder à mon serveur en ssh...

A la maison, j'ai un servuer linux (raspberry), qui est connecté à ma Freebox. Sur ma Freebox, j'ai l'ouverture du port 22 pour une redirection sur mon raspberry, et ça me permet d'accéder à mon serveur depuis mon téléphone par exemple.

Cependant, j'ai ajouté récemment openvpn, mon raspberry est donc maintenant connecté tout le temps sur le VPN. Du coup, mon accès en SSH ne fonctionne plus.
Ce qui m'étonne, car depuis mon serveur connecté en VPN (VPN à l'étranger), j'ai quand même l'accès à tout mon réseaux privé (j'accède à mon NAS, ma Freebox etc.. ). Lorsque je suis connecté en local, j'accède bien à mon raspberry en SSH en utilisant l'ip privée du Raspberry. Même lorsque j'utilise l'ip de ma Freebox avec la redirection ssh, la connection en SSH se fait correctement.

Par contre, dès que je sors de mon réseaux privé, plus d'accès.

Y aurait il un moyen pour que je puisse accéder à mon serveur en SSH, meme connecté en VPN ?

Merci,

Baptiste
A voir également:

3 réponses

mamiemando Messages postés 33630 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 14 avril 2025 7 841
13 avril 2016 à 06:46
Bonjour,

Les éléments que tu donnes sont un peu restreints pour qu'in puisse répondre.

Il faudrait regarder si ta route par défaut passe ou non par ton interface vpn, et si la passerelle vpn que tu atteins est en mesure de router l'ip du serveur ssh.

Plus simplement tu pourrais aussi ne router en vpn que les IP du réseau concerner, mais faire en sorte que la route qui te permet d'atteindre ton serveur ssh n'utilise pas ton interface vpn.

Si tu veux plus de détails, il faudrait nous reporter l'IP du serveur ssh, de la passerelle vpn, et les routes du client et de la passerelle vpn.

Bonne chance
0
Merci pour ce retour.

Voici quelques infos en plus :

192 => Réseaux Freebox (eth0)
172 => Réseaux VPN (tun0)

=> route

Table de routage IP du noyau
Destination Passerelle Genmask Indic Metric Ref Use Iface
default 172.21.92.1 128.0.0.0 UG 0 0 0 tun0
default 192.168.1.254 0.0.0.0 UG 202 0 0 eth0
unknown.puregig 192.168.1.254 255.255.255.255 UGH 0 0 0 eth0
128.0.0.0 172.21.92.1 128.0.0.0 UG 0 0 0 tun0
172.21.92.0 * 255.255.254.0 U 0 0 0 tun0


=> ifconfig
eth0 Link encap:Ethernet HWaddr b8:27:eb:b5:0a:bd
inet adr:192.168.1.46 Bcast:192.168.1.255 Masque:255.255.255.0

tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet adr:172.21.92.2 P-t-P:172.21.92.2 Masque:255.255.254.0
0
Utilisateur anonyme
13 avril 2016 à 13:28
(Je dis peut-être une connerie, corrigez moi si c'est le cas)

Déja d'après ce que j'ai compris, le serveur VPN est en dehors de ton réseau privé ? (je considère que oui pour ce qui suit)

Considérons :
A = ton pc
B = ton serveur
C = le (serveur) VPN

En temps normal une connexion ssh va de ton pc au serveur, et du serveur à ton pc :

A <==> B

donc ton pc (A) sait qu'il doit recevoir des données de B, la connexion est déja établie.

En ajoutant le VPN, la connexion ssh va ton pc au serveur, et la réponse du serveur passe par le VPN, donc ton PC doit recevoir des données du VPN et non du serveur. La connexion entre ton PC et le VPN n'étant pas établie, peut-être que le pare-feu de ton PC bloque la connexion entrante venant de ton VPN.

Est ce qu'il ne faudrait pas ajouter une règle sur le pare-feu de ton pc pour pouvoir recevoir les connexion entrante venant du VPN,pour le protocol SSH ?
0
Merci pour ce retour,

Le VPN est en dehors du réseaux, c'est un fournisseur payant.
Dailleur, par rapport la description du reseaux, je vais rajouter quelques infos

A = ton pc => En dehors du réseaux domestique et VPN (en fait, c'est mon Téléphone, donc un réseaux bien distinct)
B = ton serveur => relié à ma freebox
C = le (serveur) VPN => Fournisseur payant

Donc en effet, lorsque j'accède à mon serveur en ssh, la connexion au serveur commence, mais je pense que mon serveur renvoie les paquets au VPN et non pas à ma Freebox, donc le VPN voit ces paquets arriver, il ne sait pas quoi en faire car il connait pas l'équipement à qui il doit renvoyer les infos, donc il les supprime.

Le but serait donc de forcer le routage des paquets :
Tous paquets qui arrivent sur le port 22, à rediriger sur le port 22 de ma Freebox et non pas du VPN.

Mais ça, je ne sais pas encore si c'est techniquement possible avec mon serveur qui est un raspberry...
0
mamiemando Messages postés 33630 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 14 avril 2025 7 841
24 avril 2016 à 10:35
Bonjour,


Vu que ton serveur VPN est extérieur tu devrais avoir tes routes classiques, qui permettent de le router, typiquement si tu as une box quelque chose de ce genre :

Table de routage IP du noyau
Destination Passerelle Genmask Indic Metric Ref Use Iface
0.0.0.0 192.168.0.254 0.0.0.0 UG 600 0 0 wlan0
192.168.0.0 0.0.0.0 255.255.255.0 U 600 0 0 wlan0


Passons aux routes VPN.

De deux choses l'une :
1) soit tu veux router via tun0 uniquement les adresses du VPN
2) soit tu veux en plus que ton trafic traverse ce VPN

Cas 1 :

Il n'y a qu'une route VPN, dont la gateway est l'IP publique du serveur VPN (mettons 11.22.33.44), et le couple (destination, genmask) qui définit la plage d'adresse qui doit être routée via tun0.

172.21.92.0 11.22.33.44 255.255.254.0 U 0 0 0 tun0


Cette route signifie que 172.21.92.0/255.255.254.0 (noté aussi 172.21.92.0/31) est accédé via la passerelle VPN 11.22.33.44.

Tu continues à router tout ce qui est en dehors de cette plage d'adresse normalement.

Personnellement c'est ce que je préconise, sinon ton trafic internet fait au préalable un détour via le réseau VPNisé avant d'atteindre sa destination (et réciproquement).

Cas 2 :

Il faut se placer du point de vue d'une machine qui serait dans le réseau 172.21.92.0/31. Elle aurait typiquement une gateway permettant d'accéder à Internet (au même titre que 192.168.0.254 le permet dans le réseau 192.168.0.0/24). Supposons que cette gateway soit 172.21.92.1, la nouvelle route par défaut serait alors du genre :

0.0.0.0 172.21.92.1 0.0.0.0 U 0 0 0 tun0


Reste à concilier l'ancienne route par défaut et la nouvelle. Surtout, il faut pouvoir continuer à router la passerelle VPN. Du coup j'ajouterais au préalable la route :

11.22.33.44 192.168.0.254 255.255.255.255 U 0 0 0 eth0


Il devient alors possible de remplacer l'ancienne route par défaut par la nouvelle.

Bonne chance
0
Merci pour ce retour !
C'est le cas 1 qui m'interesse, par contre, techniquement, je ne sais pas comment le mettre en place (je galere à utiliser l'iptable...)
0
J'ai réussi à ajouter une route ce qui me permet de faire fontionner mon accès à distance.
En effet, j'ai ajouté la route suivante :
ip route add 37.0.0.0/8 via 192.168.1.254

J'ai remarqué que mon ip de mon téléphone commence toujours par 37, donc tout ce qui vient de l'ip 37 je redirige sur la route par défaut de ma freebox.
Je vais commencer ça voir si ça me suffit, sinon je ferai l'autre cas.

Merci encore pour ton aide
0
mamiemando Messages postés 33630 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 14 avril 2025 7 841
Modifié par mamiemando le 27/04/2016 à 10:11
Je pense que tu peux effectivement choisir un préfixe plus serré que 37.0.0.0/8. Idéalement si c'est juste l'IP du téléphone qui doit être redirigée (mettons 37.1.2.3.), il faudrait que la route s'applique au préfixe 37.1.2.3/32.

Bonne chance
0
Yes, mais après un reboot de mon téléphone, j'ai remarqué que mon ip avait changé :
avant : 37.62.0.0 après 37.63...
0
mamiemando Messages postés 33630 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 14 avril 2025 7 841
Modifié par mamiemando le 27/04/2016 à 10:26
Si tu passes par un script pour activer ton VPN, tu peux simplement récupérer dans ton script ton adresse IP et ainsi mettre une route spécifique, c'est le plus propre. Sinon tu vas mal router toutes les autres IP commençant par 37.

toto.sh :

#!/bin/sh
ip_telephone=`/sbin/ifconfig | grep "inet 37\." | awk '{print $2}'`
ip route add $ip_telephone/255.255.255.255 via 192.168.1.254
# et les autres routes


Puis pour lancer ton script :

chmod a+x toto.sh
sudo ./toto.sh


Bonne chance
0