[Tuto/HowTo] [GNU/Linux] Monter un serveur VPN sur Odroid (Ubuntu Minimal) avec PiVPN

Avatar du membre
voxdemonix
Messages : 1237
Enregistré le : lun. févr. 02, 2015 7:28 pm

[Tuto/HowTo] [GNU/Linux] Monter un serveur VPN sur Odroid (Ubuntu Minimal) avec PiVPN

Message par voxdemonix » lun. juin 19, 2017 2:04 pm

musique d'ambiance : NEFFEX - Light It Up Best Songs for Playing LOL #24 Nine Fifteen - Nightcore Gaming Mix 2017
Note : PiVPN fonctionne autant sur Raspbian, Debian qu'Ubuntu
Testé sur : Odroid-XU4

Qu'est-ce qu'OpenVPN ?
  • OpenVPN est un logiciel permettant de créer un Réseau Virtuel Privé (ou Virtual Private Network), plus communément appelé VPN. Le client et le serveur sont sous licence GPLv3 (libre).
    Dans ce tutoriel nous allons utiliser PiVPN qui est un ensemble de scripts permettant de faciliter l'installation et l'utilisation d'OpenVPN.
    Je vous conseil de choisir un Raspberry Pi type 2 ou supérieur (sur le 1 pour un seul client le CPU varie déjà entre 30% et 70%).
    Note : n'oubliez pas de maintenir à jours votre machine !

Légende
Farm Link
Modifié en dernier par voxdemonix le lun. sept. 11, 2017 2:16 pm, modifié 3 fois.
~ Infernalis Creatorem ~
  • Rejoins le côté obscure, on a des cookies !
Donation Bitcoin : 1N8QGrhJGWdZNQNSspm3rSGjtXaXv9Ngat
Donation Dash : XmowiBRku3tsEREp7PhpheY4TgeLLDyKdM

Avatar du membre
voxdemonix
Messages : 1237
Enregistré le : lun. févr. 02, 2015 7:28 pm

Re: [Tuto/HowTo] [GNU/Linux] Monter un serveur VPN sur Odroid (Ubuntu Minimal) avec PiVPN

Message par voxdemonix » lun. juin 19, 2017 2:13 pm

musique d’entrain : Selena Gomez - Kill Em With Kindness (Chartwell Remix)

Mise en place d'OpenVPN serveur sur Ubuntu Minimal
Note : on part de zéro (fresh install)
  1. Passez en admin (root)
  2. Balayage du système
  3. Mises à jours du système et installation des pré-requis
    • Code : Tout sélectionner

      apt-get update
      apt-get dist-upgrade -y
      apt-get install -y screen curl
      
  4. Fixez l'IP de votre Ubuntu (source)
    1. Éditez /etc/NetworkManager/NetworkManager.conf
      • Code : Tout sélectionner

        nano /etc/NetworkManager/NetworkManager.conf
        • Passez
          [ifupdown]
          managed=false
          À
          [ifupdown]
          managed=true
    2. Éditez /etc/network/interfaces
    3. Et collez à la fin les lignes suivantes en adaptant à vos souhaits et votre réseau.
      • Code : Tout sélectionner

        auto eth0
        iface eth0 inet static
            address 192.168.1.42
            gateway 192.168.1.1
            dns-nameserver 192.168.1.1
            netmask 255.255.255.0
        
        • eth0 => ou eth0 est votre interface réseau
          static ip_address=192.168.1.42 => ou 192.168.1.42 est l'adresse IP que vous souhaitez
          static routers=192.168.1.1 => ou 192.168.1.1 est l'adresse IP de la passerelle (le routeur)
          static domain_name_servers=192.168.1.1 => ou 192.168.1.1 est l'adresse IP du serveur DNS à utiliser
  5. Redémarrez la machine
  6. Repassez en admin (root)
  7. Créez un utilisateur dédié
  8. Ouvrez un screen (sera utile si l'installation s'attarde plus que votre patience, surtout si vous générez les clés de chiffrement)
  9. Lancement de l'installation
  10. Lorsque l'installeur vous demande :
    • quel user utiliser => utilisez les flèches et la barre d'espace pour choisir l'utilisateur créé précédemment ( pivpn ).
      quel protocole choisir => laissez UDP sauf si vous souhaitez pouvoir vous connecter à votre VPN depuis le réseau Tor, à ce moment là choisissez TCP
      quel port choisir => laissez celui par défaut
      la taille de la clés de chiffrement => choisissez la plus élevée (actuellement 4028bit)
      s'il faut télécharger ou générer la clés Diffie-Hellman => choisissez télécharger (download) sauf si vous avez du temps devant vous (on parle de plusieurs heures et même, pour le RPI 1b, plus de 30 heures)
  11. Éditez le fichier /etc/sysctl.conf
    • Code : Tout sélectionner

      nano /etc/sysctl.conf
      Et dé-commentez (supprimez les # au début) les deux lignes suivantes
      net.ipv4.ip_forward=1
      net.ipv6.conf.all.forwarding=1
  12. Demandez au système de prendre en compte la précédente commande
  13. Redémarrez

Forcer toutes les connexions à passer par le VPN
Note : Par défaut les clients ne transitent par le VPN que pour contacter d'autres machines à l'intérieur du VPN. Si vous souhaitez faire passer toutes les communications des clients par le serveur VPN suivez cette procédure.
Attention : Cela rend inaccessible les clients depuis l'extérieur du VPN.
  1. Éditez le fichier /etc/openvpn/server.conf
  2. Cherchez (CTRL+W) push "redirect-gateway def1" et remplacez par push "redirect-gateway def1 bypass-dhcp" OU dé-commentez la ligne en supprimant le point virgule (;) au début de la ligne suivant les fichiers de config. Enfin sauvez et quittez (CTRL+X).
Modifié en dernier par voxdemonix le mar. août 08, 2017 6:53 pm, modifié 7 fois.
~ Infernalis Creatorem ~
  • Rejoins le côté obscure, on a des cookies !
Donation Bitcoin : 1N8QGrhJGWdZNQNSspm3rSGjtXaXv9Ngat
Donation Dash : XmowiBRku3tsEREp7PhpheY4TgeLLDyKdM

Avatar du membre
voxdemonix
Messages : 1237
Enregistré le : lun. févr. 02, 2015 7:28 pm

Re: [Tuto/HowTo] [GNU/Linux] Monter un serveur VPN sur Odroid (Ubuntu Minimal) avec PiVPN

Message par voxdemonix » lun. juin 19, 2017 2:14 pm

musique d’entrain : New Melbourne Bounce Music Mix ♫ Popular Electro House Remixes 2017 ♫

Utilisation côté serveur
  • Comment créer un client/utilisateur pour serveur (sans mot de passe) ?
    • Réponse : Entrez la commande suivante dans votre terminal puis choisissez un nom d'utilisateur et un mot de passe. La fin de la commande va vous sortir un paragraphe du style
      Done! myUser.ovpn successfully created!
      myUser.ovpn was copied to:
      /home/pivpn/ovpns
      for easy transfer.
      Le fichier indiqué doit être envoyé (peut importe comment) au client.
  • Comment ajouter un client/utilisateur (avec mot de passe) ?
    • Réponse : Entrez la commande suivante dans votre terminal puis choisissez un nom d'utilisateur et un mot de passe. La fin de la commande va vous sortir un paragraphe du style
      Done! myUser.ovpn successfully created!
      myUser.ovpn was copied to:
      /home/pivpn/ovpns
      for easy transfer.
      Le fichier indiquez doit être envoyé (peut importe comment) au client.
    Comment supprimer un client/utilisateur ?
    • Réponse : Entrez la commande suivante dans votre terminal puis choisissez le nom de l'utilisateur.

    Peut-on afficher la liste des clients connecté au serveur ?
    • Réponse : Bien sur, entrez la commande suivante sur le serveur.
    Ligne de commande : fixer l'adresse IP d'un client ou plusieurs clients sur le VPN
~ Infernalis Creatorem ~
  • Rejoins le côté obscure, on a des cookies !
Donation Bitcoin : 1N8QGrhJGWdZNQNSspm3rSGjtXaXv9Ngat
Donation Dash : XmowiBRku3tsEREp7PhpheY4TgeLLDyKdM

Avatar du membre
voxdemonix
Messages : 1237
Enregistré le : lun. févr. 02, 2015 7:28 pm

Re: [Tuto/HowTo] [GNU/Linux] Monter un serveur VPN sur Odroid (Ubuntu Minimal) avec PiVPN

Message par voxdemonix » lun. juin 19, 2017 2:16 pm

Utilisation d'OpenVPN côté client
~ Infernalis Creatorem ~
  • Rejoins le côté obscure, on a des cookies !
Donation Bitcoin : 1N8QGrhJGWdZNQNSspm3rSGjtXaXv9Ngat
Donation Dash : XmowiBRku3tsEREp7PhpheY4TgeLLDyKdM

Avatar du membre
voxdemonix
Messages : 1237
Enregistré le : lun. févr. 02, 2015 7:28 pm

Re: [Tuto/HowTo] [GNU/Linux] Monter un serveur VPN sur Odroid (Ubuntu Minimal) avec PiVPN

Message par voxdemonix » lun. juin 19, 2017 2:19 pm

Erreurs et Problèmes
~ Infernalis Creatorem ~
  • Rejoins le côté obscure, on a des cookies !
Donation Bitcoin : 1N8QGrhJGWdZNQNSspm3rSGjtXaXv9Ngat
Donation Dash : XmowiBRku3tsEREp7PhpheY4TgeLLDyKdM

Avatar du membre
voxdemonix
Messages : 1237
Enregistré le : lun. févr. 02, 2015 7:28 pm

Re: [Tuto/HowTo] [GNU/Linux] Monter un serveur VPN sur Odroid (Ubuntu Minimal) avec PiVPN

Message par voxdemonix » lun. juin 19, 2017 2:20 pm

Astuces & Questions
~ Infernalis Creatorem ~
  • Rejoins le côté obscure, on a des cookies !
Donation Bitcoin : 1N8QGrhJGWdZNQNSspm3rSGjtXaXv9Ngat
Donation Dash : XmowiBRku3tsEREp7PhpheY4TgeLLDyKdM

Avatar du membre
voxdemonix
Messages : 1237
Enregistré le : lun. févr. 02, 2015 7:28 pm

Re: [Tuto/HowTo] [GNU/Linux] Monter un serveur VPN sur Odroid (Ubuntu Minimal) avec PiVPN

Message par voxdemonix » ven. oct. 06, 2017 5:08 am

Informations Supplémentaires

Odroid-Xu4 Dédié à OpenVPN (3 process) connecté à 5 clients, et à HaPropxy (frontend http). Débit max observé dans le VPN +-12Mo/s, dans ce screenshot les clients consomment +-1Mo/s.

~ Infernalis Creatorem ~
  • Rejoins le côté obscure, on a des cookies !
Donation Bitcoin : 1N8QGrhJGWdZNQNSspm3rSGjtXaXv9Ngat
Donation Dash : XmowiBRku3tsEREp7PhpheY4TgeLLDyKdM

Qui est en ligne

Utilisateurs parcourant ce forum : CommonCrawl [Bot] et 0 invité