Bonjour,
Je me suis récemment mis en quête de créer un serveur VPN pour sécuriser mes connexions lorsque je ne suis pas chez moi.
Je suis des études d'informatique mais n'ai pas encore vu comme il se doit le coté réseau (on nous assome de développement ! ).
Bref, voilà 5 jours que je ne dors que très peu, que je ne mange que le minimum syndical ne souhaitant pas m'écarté de la sainte route de la quête que je me suis vu autoconfié.
Après beaucoup de cheveux perdus j'ai enfin réussi à démarrer le serveur VPN sans la moindre erreur (hébergé sur linux donc) et j'ai même réussi à connecter le client au serveur, toujours sans erreur.
MAIS je ne suis pas en local avec la machine à distance, du moins pas tout à fait, et je n'ai en aucun cas accés à la connexion internet qui l'accompagne.
Description de l'installation :
SERVEUR VPN (pc maison sous linux) : Serveur OpenVPN utilisé, adresse 192.168.0.2 derriere un ROUTEUR 192.168.0.1 qui s'occupe de rediriger le port VPN vers le serveur.
PC-CLIENT (sous linux, ou windows), Client OpenVPN utilisé, machine qui se connecte donc à divers endroits.
Le problème que je rencontre est donc que tout ce beau petit monde ne s'accorde pas encore comme je le souhaiterai, en effet une fois la connection établie j'arrive à partir du client à ping le 192.168.0.2 (donc le serveur), mais par exemple le routeur est inconnu au bataillon, aucun accés réseau, et l'internet ne passe en aucun cas par le VPN.
Alors bon, n'ayant pas encore reçut de formation approfondie d'un point de vue réseau je ne sais pas vraiment ce qui manquerai, ou serait incorrect dans tout ça (donc pour rendre le client pleinement connecté en reseau avec le serveur, et utilisant la connexion internet maison).
Voici les fichiers de configuration d'OpenVPN du coté serveur, et du coté client :
serveur.conf
port <port> # les clients se connecteront à ce port - votre firewall doit permettre cela
proto udp # protocole utilisé dans la connexion
ca keys/ca.crt # certificat du CA
cert keys/server.crt # certificat du serveur
key keys/server.key # clé privée du serveur
dev tun # méthode "routing"
dh keys/dh1024.pem # paramètres Diffie Hellman
client-to-client
server 10.66.77.0 255.255.255.0 # sous-réseau que constituera le réseau virtuel
ifconfig-pool-persist ipp.txt # permet de réattribuer la même adresse à chaque client
push "route 192.168.0.1 255.255.255.0"
push "redirect-gateway"
ping 10 # utile pour garder la connexion active au travers de certains types de firewall
ping-restart 60 # réinitialise la connexion si le délai est dépassé
comp-lzo # compression des paquets
user nobody # une fois démarré, l'appartenance du processus passe de l'utilisateur "root" à
group nogroup # "nobody" et du groupe "root" à "nogroup". Ainsi, si le processus est
# compromis, aucun dommage ne pourra être causé avec les privilèges du
# super-utilisateur
persist-key # ne doit pas relire la clé en cas de réinitialisation de la connexion
persist-tun # ne doit pas reconfigurer l'interface en cas de réinitialisation de la connexion
status openvpn-status.log # fichier de log
verb 3 # niveau de verbosité des log
client.conf
client # spécifie à openvpn de fonctionner en mode client
remote <ip serveur> <port>
# adress_ip_serveur_vpn est soit l'IP du serveur, soit son nom d'hôte -- le firewall doit
# permettre la connexion vers l'extérieur sur le port du serveur, ici 1194
proto udp # protocole utilisé dans la connexion
resolv-retry infinite # tentera indéfiniment de résoudre l'IP du serveur hôte en cas d'échec
nobind # spécifie de ne pas se lier à une adresse et un port local
ns-cert-type server # vérifie que le certificat du serveur est bien un certificat de serveur et
# ainsi évite de se connecter à un client qui se ferait passer pour le
# serveur avec son certificat de client
ca keys/ca.crt # certificat du CA
cert keys/kinoh.crt # certificat du client1
key keys/kinoh.key # clé privée du client1
dev tun # méthode par "routing"
comp-lzo # compression des paquets
user nobody # une fois démarré, l'appartenance du processus passe de l'utilisateur "root" à
group nogroup # "nobody" et du groupe "root" à "nogroup". Ainsi, si le processus est
# compromis, aucun dommage ne pourra être causé avec les privilèges du
# super-utilisateur
persist-key # ne doit pas relire la clé en cas de réinitialisation de la connexion
persist-tun # ne doit pas reconfigurer l'interface en cas de réinitialisation de la connexion
verb 3 # niveau de verbosité des log
Voilou, je pense avoir donné tout les détails qui pourrait permettre de comprendre au mieux l'état actuel de l'installation je me tourne donc vers vos lumières en espérant qu'elles puissent m'éclairer, car je suis à cours d'idée pour finaliser le réseau et la connexion internet ! (parametres à ajouter dans les fichiers de config? autre? toute idée et conseil est bienvenu !).
Merci d'avance
Configuration: Windows Vista / Linux Ubuntu 7.10
Internet Explorer 7.0 / Firefox
OpenVPN