Installation Serveur VPN (réseau et internet) - Réseaux - Réseaux grand public / SoHo
MarshPosté le 12-01-2008 à 00:32:58
Coucou
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.
A vrai dire je n'en ai pas actuellement une très profonde utilité mais suivant des études d'informatique et n'ayant encore pas vu comme il se doit le coté réseau (on nous assome de développement ! ), je me dis qu'en quelques sorte je prend de l'avance (j'en ai profité pour me mettre à linux que j'apprécie de plus en plus d'ailleurs ).
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é.
Déconnade mis à part, 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 :
Coté serveur :
server.conf:
Citation :
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
Coté Client :
client.conf
Citation :
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 continuer ma progression ! (parametres à ajouter dans les fichiers de config? autre? toute idée et conseil est bienvenu !).
Marsh Posté le 12-01-2008 à 00:32:58
Coucou
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.
A vrai dire je n'en ai pas actuellement une très profonde utilité mais suivant des études d'informatique et n'ayant encore pas vu comme il se doit le coté réseau (on nous assome de développement ! ), je me dis qu'en quelques sorte je prend de l'avance (j'en ai profité pour me mettre à linux que j'apprécie de plus en plus d'ailleurs ).
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é.
Déconnade mis à part, 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 :
Coté serveur :
server.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
Coté Client :
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 continuer ma progression ! (parametres à ajouter dans les fichiers de config? autre? toute idée et conseil est bienvenu !).
Merci d'avance