Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 05/08/2017, à 09:59

attentis

tunnel ssh vpn et redirections vers web via routeurs

bonjour



voici une configuration que je cherche à réaliser . Avec votre aide j'y arriverai.

problematique :
pour les personnes consultantes, l'accès à internet est  souvent galère chez les clients, wifi hotel, portail captif etc.
Surtout si l'on recherche une certaine sécurité.

mon idée
à partir de votre portable contacter le routeur chez vous en VPN et SSH
repartir de ce routeur directement vers le web

ce qui donnerait à peu près ceci :

Moi chez Client ---------------------------->Mon domicile >>>>>>>>>>>>>>> redirigé vers le Web.
cela tient presque à du Proxy.
la seule différence c'est qu'au lieu d'être public il est privé, votre proxy perso.

Il est impératif pour des raisons de sécurité que cela se fasse en VPN et en SSH.

Dans mes recherches, j'ai exclu volontairement tout ce qui avait trait au VNC - trop de ressources prises, trop de lenteurs...

pour réaliser cela j'ai plusieurs possibilités concrètes :
DD-WRT par mon routeur

RASPbian par raspberry pi 3

Je ne sais pas comment m'y prendre.
Je reste à votre dispo

en remerciant les personnes qui pourront m'aider


Si je viens ici, c'est pour avoir des avis des conseils de gens avisés. Ce que vous êtes. Les autres devraient aller sur CCM pour se vanter. Pour ma part, je ne suis qu'un novice depuis 10 ans et je continuerai à l'être.

En ville, soyez sympas n'utilisez pas les places pour handicapés.... elles sont pour.... les handicapés. Merci pour eux

Hors ligne

#2 Le 05/08/2017, à 10:09

Zakhar

Re : tunnel ssh vpn et redirections vers web via routeurs

Selon ton FAI (Fournisseur d'Accès Internet) il y a des solutions encore plus simple. En effet Free offre cette fonction en natif sur la Freebox 6 (Revolution). Il te suffit d'activer le VPN "serveur" sur la Freebox, déclarer les "clients", et récupérer la configuration et les certificats de chacun de ces clients.

Le "client" (au sens client du VPN) doit avoir openvpn car la configuration est faite pour cela. Il faut les droits admin sur le client car la configuration proposée va changer la route par défaut pour que tout le trafic passe par le tuyau VPN via la Freebox. Techniquement ça n'a rien à voir avec un "proxy", c'est juste du reroutage du trafic.

Si tu n'as pas la chance d'être chez Free (ou d'avoir une V6-Revolution)... il te faut une machine chez toi qui fasse la même chose que la Freebox.

En l'occurrence j'ai fait ça à mon domicile avec mon Synology (je suis chez Free, mais seulement avec la V5 !).

J'ai plusieurs barrières de protection :
- d'abord par défaut le Synology est éteint, il faut donc commencer à l'allumer en wakeonlan (heureusement transmis par la Freebox, même modèle 5)
- ensuite le VPN démarre automatiquement.
- là si je veux me connecter à distance depuis une adresse non "trusted" (exemple tethering avec le mobile), je dois faire un "knock" (void knockd/knock port) pour ouvrir le firewall pour cette IP.
- enfin pour la connection en SSH sur le Synlolgy lui-même elle nécessite un certificat que j'emporte sur une clé USB, lequel certificat nécessite un long mot de passe pour pouvoir l'ouvrir.

... ainsi c'est à peu près sécurisé correctement. lol

Dernière modification par Zakhar (Le 05/08/2017, à 10:17)


"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)

Hors ligne

#3 Le 05/08/2017, à 10:56

attentis

Re : tunnel ssh vpn et redirections vers web via routeurs

Zakhar
merci de ta rapide réponse.

tu connais ton affaire et j'avoue que tu m'as largué (lol).

je suis freenaute révolution. Donc a priori par ton message je serai "compatible"
mon contexte - j'ai dû très mal l'expliquer -
je suis chez TARTAR client X qui a une connex web ( je passe les détails du type passer le ssh et le vpn par ports https ( c'est un autre souci)
je pars ensuite chez TRUFTRUF client y qui a aussi une connexion web à ma dispo

J'ai remarqué perdre beaucoup de sécurité en surfant sur le web à partir de l'extérieur donc, mon idée, est de construire une et une seule connexion VPN dont mon portable sera le client unique du serveur VPN - free ici ( ce qui sera plus facile pour nous deux mais pour la suite tu dois me tenir la main)
"arrivé" chez moi donc sur le serveur vpn, je suis reconduis vers mes machines - par la redirection de ports.

Mais comment faire pour repartir vers le web comme si j'étais connecté directement avec mon navigateur ?

Ce que j'ai compris de ton message :
-pour faire simple Client et moi serons la même chose.
le WOL je maitrîse donc pas de souci
le montage Fbx en serveur VPN pas de souci non plus

en tant que client du vpn, je me connecte par ce biais à la freebox ServeurVPN -SVPN.
- je suis d'accord avec toi : c'est une sécurité ... presque sécuritaire.
Je préfère user d'openvpn avec une clé publique/privée en passant ou non dans le vpn de la fbx

ce que je ne saisi pas c'est comment tu fais pour repartir sur le net...
tu pourrais développer stp ?

en tous cas merci encore pour tes explications qui ouvrent un autre regard sur mon "problème"


Si je viens ici, c'est pour avoir des avis des conseils de gens avisés. Ce que vous êtes. Les autres devraient aller sur CCM pour se vanter. Pour ma part, je ne suis qu'un novice depuis 10 ans et je continuerai à l'être.

En ville, soyez sympas n'utilisez pas les places pour handicapés.... elles sont pour.... les handicapés. Merci pour eux

Hors ligne

#4 Le 05/08/2017, à 12:54

Zakhar

Re : tunnel ssh vpn et redirections vers web via routeurs

Je sais je sais... le niveau de la moyenne des gens en informatique est voisin de zéro, et pour ce qui concerne les réseaux... il est carrément négatif si c'était possible.

Pour comprendre la "simplicité" et l'élégance de la solution proposée par Free (ils ne l'ont pas inventé, ça existait avant !), il faut comprendre un minimum comment marche un réseau IP, et surtout la notion de "route par défaut".

Sans rentrer dans 25 pages d'explications tu peux taper la commande ci-dessous:

$ route -n
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    100    0        0 enp0s31f6
172.16.0.0      0.0.0.0         255.255.255.0   U     0      0        0 vnet0
192.168.0.0     0.0.0.0         255.255.255.0   U     100    0        0 enp0s31f6

C'est ce qui sert au noyau à router tout trafic réseau (IP).
Le principe est que le noyau va chercher à router le trafic vers la "meilleure route" possible.
Pour cela il prend l'IP destination, et il applique le masque (opérateur AND) défini dans chaque ligne à la colonne "Genmask". Si cela correspond à une des IP sur la colonne de gauche (Destination) on a un "match". Une fois qu'on a fait ça pour toutes les lignes, si on n'a qu'un seul "match" on a gagné, on envoie alors le trafic vers l'interface qui est sur la ligne en direct ou via la passerelle définie.
S'il y a plusieurs "match", on prendra toujours le "match" qui a la meilleure métrique (Metric la plus faible), c'est à dire réputé le plus rapide.

On a toujours (enfin presque... si on veut pouvoir communiquer avec l'extérieur !) ce qu'on appelle une route par défaut.
Regarde la première ligne de mon "route" ci-dessus.

L'adresse à "matcher" (1ère colonne) est 0.0.0.0
Le masque est 0.0.0.0
Or quelle que soit l'adresse N.N.N.N, si j'applique un masque (AND) avec 0.0.0.0, j'obtiendrais toujours 0.0.0.0, c'est à dire que la première ligne ci-dessus est TOUJOURS un match quelle que soit l'adresse IP destination.
C'est ce qu'on appelle un "route par défaut", dans le sens où si aucune autre règle ne match, au moins celle là sera prise, et donc on a toujours un endroit où envoyer les paquets.

En l'occurrence chez Free, la Freebox est en passerelle par défaut sur 192.168.N.254
Donc le routage par défaut dit bien qu'il faut envoyer les paquets vers la Freebox pour ceux qui n'ont pas d'autre "match".

Les autres "match" ça va être pour les machines de mon réseau local (192.168.0.N) ou le réseau VPN avec ma Synology (172.16.N.N)

Maintenant, le principe de la configuration que tu obtiendras avec ta freebox est le suivant, voici un exemple de fichier de configuration "client" obtenu:

$ sudo cat /etc/openvpn/freebox.ovpn
[sudo] password for virtual: 
client
remote 77.111.111.111 24586
proto udp
nobind
dev-type tun
pull
dev tun0
redirect-gateway
auth-user-pass
auth-retry interact
fragment 1468
mssfix 1468
cipher AES-256-CBC
remote-cert-tls server
explicit-exit-notify 3
tls-remote "/C=FR/O=Freebox_SA/CN=Freebox_OpenVPN_server_45781fc45781ae487412"
<ca>
-----BEGIN CERTIFICATE-----
ABCDE....
...
...XYZ
-----END CERTIFICATE-----
</ca>
<cert>
-----BEGIN CERTIFICATE-----
ABCDE....
...
...XYZ
-----END CERTIFICATE-----
</cert>
<key>
-----BEGIN PRIVATE KEY-----
ABCDE....
...
...XYZ
-----END PRIVATE KEY-----
</key>

La ligne importante pour faire de façon transparente ce que tu souhaites faire, si j'ai bien compris c'est juste "passer par un VPN sur lequel tu as la main" (où que tu te connectes), c'est :

redirect-gateway

Cette ligne va dire à OpenVPN qu'une fois que le VPN est démarré, il faut que la "route par défaut" devienne celle du VPN.

Voici à titre d'exemple ce que ça donne sur ma VM (Virtual Machine) qui peut se connecter à la Freebox (6) distante de ma mère :

Avant connexion du VPN:

$ route -n
Table de routage IP du noyau
Destination     Passerelle      Genmask         Indic Metric Ref    Use Iface
0.0.0.0         10.0.2.2        0.0.0.0         UG    0      0        0 eth0
10.0.2.0        0.0.0.0         255.255.255.0   U     1      0        0 eth0

Table de routage super basique ! Ca dit juste que 10.0.2.N est sur eth0, et que la route par défaut passe par 10.0.2.2, c'est à dire via eth0.

Si je regarde mon IP publique :

$ curl  http://icanhazip.com
88.222.222.222

Maintenant je monte le VPN avec ma freebox distante

$ route -n
Table de routage IP du noyau
Destination     Passerelle      Genmask         Indic Metric Ref    Use Iface
0.0.0.0         212.11.12.13    0.0.0.0         UG    0      0        0 tun0
10.0.2.0        0.0.0.0         255.255.255.0   U     0      0        0 eth0
77.111.111.111  10.0.2.2        255.255.255.255 UGH   0      0        0 eth0
192.168.1.0     212.11.12.13    255.255.255.0   UG    0      0        0 tun0
192.168.27.64   212.11.12.13    255.255.255.224 UG    0      0        0 tun0
212.11.12.13    0.0.0.0         255.255.255.255 UH    0      0        0 tun0

La table de routage est maintenant bien plus complexe, mais surtout la première ligne (route par défaut) passe maintenant par 212.11.12.13 sur tun0
L'adresse du serveur (77.111.111.111, IP Publique de la Freebox sur lequel est le VPN serveur) a été rajoutée en routage sur eth0 sinon on obtient un bouclage !
Les autres lignes rajoutées sont des commodités.
La Freebox "pousse" sa route réseau local de la sorte je peux communiquer avec les autres machines du réseau local sur a Freebox, utile par exemple si j'ai un NAS (ou un Raspberry) connecté à la Freebox.
Elle pousse aussi la route (par défaut sur la configuration Freebox serveur): 192.168.27.64 (de 64 à 255) pour le client to client sur le VPN qui permet de communiquer avec un autre client connecté au même VPN.

Une fois ce VPN lancé, TOUT ce que je fais vers l'extérieur (c'est à dire hors réseau local, réseau local de la Freebox V6 et les autres clients VPN de la Freebox 6) va désormais sortir via ma Freebox 6.
Ce n'est donc pas limité à "du web", mais ça va marcher pour TOUT, web, mail, SSH, etc...

Preuve :

$ curl  http://icanhazip.com
77.111.111.111

Maintenant icanhazip me renvoie bien un IP différente de celle que j'avais avant le démarrage du VPN, et c'est bien l'IP Publique de ma Freebox (celle où est le serveur VPN).

Donc une fois ton PC muni de cette configuration Freebox, tu pourras te connecter de partout, et tout le trafic passera en "sortie" par ta Freebox. Il sera "tunnelisé" et la connexion locale que tu utilises ne verra que des paquets chiffrés partir vers ta Freebox.
Si tu as plusieurs PC à équiper, il suffit de déclarer autant de "clients" que de PC quand la configuration Freebox, et de donner à chacun son fichier de configuration.

Cela peut cependant ne pas fonctionner sur certains réseaux très restrictifs.
Par exemple notre entreprise interdit les adresses correspondant à des IP d'abonnements ADSL grand public (Orange, Free, SFR ou Bouygues). Donc dans ce cas, tu ne pourras pas joindre ta Freebox (abonnement ADSL grand public) si le firewall le bloque.
Aussi certains firewall peuvent décider de ne laisser passer que certains port, du genre 80/443, les classiques de la navigation web. Dans ce cas le port (non privilégié) utilisé par ton Serveur VPN Freebox ne sera pas accessible.

P.S.: bien évidemment toutes les IP publiques ont été modifiées et ne sont pas réellement les miennes. Elles sont données à titre d'exemple.

Dernière modification par Zakhar (Le 05/08/2017, à 13:16)


"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)

Hors ligne