Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
Dernière révisionLes deux révisions suivantes
tuto_mise_en_place_d_un_vpn [2014/10/23 02:52] – problèmes morignot2011tuto_mise_en_place_d_un_vpn [2020/06/02 21:14] – modification externe 127.0.0.1
Ligne 16: Ligne 16:
 Concernant les VPNs, il existe la solution du riche: les VPNs tout configurés, souvent avec une version au débit ultra limité gratuite et des versions payante, généralement hors de prix. Cette solution est souvent clé en main et dans tous les cas les sites proposant ce genre de services décrivent très bien la marche à suivre pour mettre en place leur produit. Concernant les VPNs, il existe la solution du riche: les VPNs tout configurés, souvent avec une version au débit ultra limité gratuite et des versions payante, généralement hors de prix. Cette solution est souvent clé en main et dans tous les cas les sites proposant ce genre de services décrivent très bien la marche à suivre pour mettre en place leur produit.
  
-Sauf que, comme nous sommes étudiants, nous sommes pauvres et donc on va s'intéresser à une solution avec un meilleur rapport qualité/prix: la mise en place d'un VPN sur un serveur personnel.+Sauf que, comme nous sommes étudiants, nous sommes pauvres et donc on va s'intéresser à une solution avec un meilleur rapport qualité/prix: la mise en place d'un VPN sur un serveur personnel. Avec une offre de serveur pas chère (souvent un VPS) on peut s'en tirer pour moins de 3€ par mois !
  
 Pour cela, il vous faudra (en vrac): Pour cela, il vous faudra (en vrac):
Ligne 70: Ligne 70:
     vim vars     vim vars
 comme ceci:\\  comme ceci:\\ 
-**export KEY_COUNTRY="FR"**\\  +    export KEY_COUNTRY="FR" 
-**export KEY_PROVINCE="91"**\\  +    export KEY_PROVINCE="91" 
-**export KEY_CITY="Evry"**\\  +    export KEY_CITY="Evry" 
-**export KEY_ORG="votredomaine.fr"**\\  +    export KEY_ORG="votredomaine.fr" 
-**export KEY_EMAIL="an@nyme.fr"**\\ +    export KEY_EMAIL="an@nyme.fr"
  
 Pour savoir comment utiliser vim, utilisez dans un terminal la commande vimtutor Pour savoir comment utiliser vim, utilisez dans un terminal la commande vimtutor
Ligne 100: Ligne 100:
     vim server.conf     vim server.conf
  
-Puis remplissez-le comme suit:\\  +Puis remplissez-le comme suit: 
-   # Serveur TCP/443\\  +    # Serveur TCP/443 
-   mode server\\  +    mode server 
-   proto tcp\\  +    proto tcp 
-   port 443\\  +    port 443 
-   dev tun\\  +    dev tun 
-   # Cles et certificats\\  +    # Cles et certificats 
-   ca ca.crt\\  +    ca ca.crt 
-   cert server.crt\\  +    cert server.crt 
-   key server.key\\  +    key server.key 
-   dh dh1024.pem\\  +    dh dh1024.pem 
-   tls-auth ta.key 1\\  +    tls-auth ta.key 1 
-   key-direction 0\\  +    key-direction 0 
-   cipher AES-256-CBC\\  +    cipher AES-256-CBC 
-   # Reseau\\  +    # Reseau 
-   server 10.8.0.0 255.255.255.0\\  +    server 10.8.0.0 255.255.255.0 
-   push "redirect-gateway def1 bypass-dhcp"\\  +    push "redirect-gateway def1 bypass-dhcp" 
-   push "dhcp-option DNS 208.67.222.222"\\  +    push "dhcp-option DNS 208.67.222.222" 
-   push "dhcp-option DNS 208.67.220.220"\\  +    push "dhcp-option DNS 208.67.220.220" 
-   keepalive 10 120\\  +    keepalive 10 120 
-   # Securite\\  +    # Securite 
-   user nobody\\  +    user nobody 
-   group nogroup\\  +    group nogroup 
-   chroot /etc/openvpn/jail\\  +    chroot /etc/openvpn/jail 
-   persist-key\\  +    persist-key 
-   persist-tun\\  +    persist-tun 
-   comp-lzo\\  +    comp-lzo 
-   # Log\\  +    # Log 
-   verb 3\\  +    verb 3 
-   mute 20\\  +    mute 20 
-   status openvpn-status.log\\  +    status openvpn-status.log 
-   ; log-append /var/log/openvpn.log\\ +    ; log-append /var/log/openvpn.log
  
 Voila nous sommes prêt a lancer le serveur pour cela: Voila nous sommes prêt a lancer le serveur pour cela:
Ligne 149: Ligne 149:
 Pour que cela soit toujours en place au prochain demarrage du serveur il faut l'indiquer dans un fichier de configuration soit en ajoutant une ligne soit en dé-commentant celle qui existe déjà dans le fichier /etc/sysctl.conf Pour que cela soit toujours en place au prochain demarrage du serveur il faut l'indiquer dans un fichier de configuration soit en ajoutant une ligne soit en dé-commentant celle qui existe déjà dans le fichier /etc/sysctl.conf
  
-Voici la ligne qui doit être présente dans ce fichier:\\  +Voici la ligne qui doit être présente dans ce fichier: 
-net.ipv4.ip_forward = 1\\  +    net.ipv4.ip_forward = 1 
-Maintenant mettons en place les règles de routage\\  + 
-   iptables -I FORWARD -i tun0 -j ACCEPT \\  +Maintenant mettons en place les règles de routage : 
-   iptables -I FORWARD -o tun0 -j ACCEPT \\  +    iptables -I FORWARD -i tun0 -j ACCEPT 
-   iptables -I OUTPUT -o tun0 -j ACCEPT \\  +    iptables -I FORWARD -o tun0 -j ACCEPT 
-   iptables -A FORWARD -i tun0 -o venet0 -j ACCEPT \\  +    iptables -I OUTPUT -o tun0 -j ACCEPT 
-   iptables -t nat -A POSTROUTING -o venet0 -j MASQUERADE \\  +    iptables -A FORWARD -i tun0 -o venet0 -j ACCEPT 
-   iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o venet0 -j MASQUERADE \\  +    iptables -t nat -A POSTROUTING -o venet0 -j MASQUERADE 
-   iptables -t nat -A POSTROUTING -s 10.8.0.2/24 -o venet0 -j MASQUERADE \\  +    iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o venet0 -j MASQUERADE 
-A noter la présence de venet0 au lieu de eth0, car sur les serveurs vps souvent ce ne sont pas des interfaces physiques de cartes réseau, mais des cartes virtuelles. Sur un serveur dédie ce sera donc eth0 (généralement).+    iptables -t nat -A POSTROUTING -s 10.8.0.2/24 -o venet0 -j MASQUERADE 
 + 
 +A noter la présence de venet0 au lieu de eth0, car sur les serveurs vps souvent ce ne sont pas des interfaces physiques de cartes réseau, mais des cartes virtuelles. Sur un serveur dédie ce sera donc eth0 (généralement). Vérifiez le nom de votre interface avec ''ifconfig''
 Maintenant nous pouvons sauvegarder les régles dans un fichier afin de pouvoir s'en servir à chaque démarrage du serveur pour cela nous passons la commande Maintenant nous pouvons sauvegarder les régles dans un fichier afin de pouvoir s'en servir à chaque démarrage du serveur pour cela nous passons la commande
     sh -c "iptables-save > /etc/iptables.rules"      sh -c "iptables-save > /etc/iptables.rules" 
Ligne 182: Ligne 185:
     cd /etc/openvpn/clientconf/pcportablenicolargo/     cd /etc/openvpn/clientconf/pcportablenicolargo/
  
-Puis on créé le fichier client.conf suivant (il faut remplacer A.B.C.D par l'adresse publique de votre serveur VPN que vous pouvez obtenir avec la commande "wget -qO- ifconfig.me/ip" ou en lisant ce que vous affiche ubuntu server lors de votre connexion):\\  +Puis on créé le fichier client.conf suivant (il faut remplacer A.B.C.D par l'adresse publique de votre serveur VPN que vous pouvez obtenir avec la commande "wget -qO- ifconfig.me/ip" ou en lisant ce que vous affiche ubuntu server lors de votre connexion): 
- +    # Client 
-   # Client\\  +    client 
-   client\\  +    dev tun 
-   dev tun\\  +    proto tcp-client 
-   proto tcp-client\\  +    remote A.B.C.D 443 
-   remote A.B.C.D 443\\  +    resolv-retry infinite 
-   resolv-retry infinite\\  +    cipher AES-256-CBC 
-   cipher AES-256-CBC\\  +    ; client-config-dir ccd 
-   ; client-config-dir ccd\\  +    # Cles 
-   # Cles\\  +    ca ca.crt 
-   ca ca.crt\\  +    cert SauvezMoïse.crt 
-   cert SauvezMoïse.crt\\  +    key SauvezMoïse.key 
-   key SauvezMoïse.key\\  +    tls-auth ta.key 1 
-   tls-auth ta.key 1\\  +    key-direction 1 
-   key-direction 1\\  +    # Securite 
-   # Securite\\  +    nobind 
-   nobind\\  +    persist-key 
-   persist-key\\  +    persist-tun 
-   persist-tun\\  +    comp-lzo 
-   comp-lzo\\  +    verb 3
-   verb 3\\ +
  
 Si vous comptez utiliser votre configuration sur un client qui se trouve derrière un proxy, ajoutez: \\  Si vous comptez utiliser votre configuration sur un client qui se trouve derrière un proxy, ajoutez: \\ 
-http-proxy-retry\\  +    http-proxy-retry 
-http-proxy adresse_du_proxy port_du_proxy\\ +    http-proxy adresse_du_proxy port_du_proxy
 après "; client-config-dir ccd" dans le cas d'un proxy http. Pour un proxy socks, référez-vous à la documentation d'openvpn. après "; client-config-dir ccd" dans le cas d'un proxy http. Pour un proxy socks, référez-vous à la documentation d'openvpn.
  
Ligne 227: Ligne 229:
  
 Dézippez dans un endroit facile à retrouver. Dézippez dans un endroit facile à retrouver.
 +
 +=== OS X ===
  
 Sur un client OS X, installez tunnelblk et indiquez-lui le fichier client.ovpn. Connectez-vous à votre vpn et profitez :-). Sur un client OS X, installez tunnelblk et indiquez-lui le fichier client.ovpn. Connectez-vous à votre vpn et profitez :-).
 +
 +=== Windows ===
  
 Sur un client Windows, installez le client openvpn. Sur le racourcis mis par défaut sur le bureau: clique droit -> propriétés -> compatibilité et cochez "Executer ce programme en tant qu'administrateur". Puis dans le dossier d'installation d'openvpn (typiquement: C:\Programmes\OpenVPN\) copiez le contenu de l'archive (configuration du client + certificats) dans le dossier "config". Lancez openvpn en utilisant le racourcis de votre bureau. Connectez-vous à votre vpn et profitez :-). Sur un client Windows, installez le client openvpn. Sur le racourcis mis par défaut sur le bureau: clique droit -> propriétés -> compatibilité et cochez "Executer ce programme en tant qu'administrateur". Puis dans le dossier d'installation d'openvpn (typiquement: C:\Programmes\OpenVPN\) copiez le contenu de l'archive (configuration du client + certificats) dans le dossier "config". Lancez openvpn en utilisant le racourcis de votre bureau. Connectez-vous à votre vpn et profitez :-).
  
-Sur un client linux, cela risque de varier en fonction de votre distribution donc je vous invite à vous référer aux tutos linkés plus haut ainsi qu'à google.+=== Linux === 
 + 
 +Si la ligne de commande ne vous gêne pas, copiez le fichier de conf client ainsi que les clefs et certificats nécessaires (ceux listé dans la conf client) dans ''/etc/openvpn/''. Il suffit ensuite de lancer ''openvpn --config <chemin/vers/le/fichier/de/conf/client>''
 + 
 +Pour rediriger tout le traffic réseau dans le tunnel crée, ajoutez la ligne suivant dans la conf : 
 +    redirect-gateway def1 
 + 
 +Si vous préférez un client graphique, lisez donc sa doc (et complétez ensuite cette page).
  
 ===== Problèmes possibles ===== ===== Problèmes possibles =====