(Modifié le 16/05/2019)

VPN Private Internet Access

Private Internet Access™ Service VPN chiffre votre connexion et vous donne une IP anonyme pour protéger votre vie privée.
Le tutoriel est une traduction partielle du wiki https://wiki.archlinux.org/index.php/Private_Internet_Access_VPN

Exigences

PIA prend en charge presque tous les systèmes d’exploitation et la solution que n’importe quel utilisateur aurait besoin.
Ce guide configure automatiquement les configurations pour PIA qui fonctionne pour la plupart des utilisateurs d’Arch Linux.
Remarque: Les utilisateurs d’Arch Linux peuvent configurer PIA manuellement en lisant les informations sur la page Support client PIA.

Assurez-vous d’avoir installé openvpn et, si vous utilisez networkmanager, installez networkmanager-openvpn.

Installation

Archlinux/Manjaro

Avec le paquet

Installez le package private-internet-access-vpn AUR ou private-internet-access-vpn-dev AUR.

yaourt -S private-internet-access-vpn

Le package fournit un outil qui télécharge les OPENVPN CONFIGURATION FILES (DEFAULT) et les stocke dans /etc/openvpn.
Toutefois, il met à jour les noms de fichier pour mieux les utiliser sur la ligne de commande.

La configuration du paquet est stockée dans /etc/private-internet-access

Manuellement

Authentification forte (clé 4096)

wget https://www.privateinternetaccess.com/openvpn/openvpn-strong.zip
unzip
sudo cp crl.rsa.4096.pem /etc/openvpn/client/
sudo cp ca.rsa.4096.crt /etc/openvpn/client/
sudo -s
nano /etc/openvpn/client/login.conf
chown :network /etc/openvpn/client/*
chmod 600 /etc/openvpn/client/*
systemctl restart NetworkManager

Linux/Debian

Méthode 1

sudo apt-get install openvpn
cd /etc/openvpn/client
sudo wget https://www.privateinternetaccess.com/openvpn/openvpn.zip
sudo unzip openvpn.zip
# ouvrir une session vpn en mode terminal
sudo openvpn 'config-filename-goes-here.ovpn'

Méthode 2

Téléchargement ,https://www.privateinternetaccess.com/installer/download_installer_linux
Une fois le téléchargement terminé, utilisez les étapes suivantes pour installer l’application.
Du terminal et dans le répertoire du téléchargement :
1) Extraire le fichier:

tar -xzf pia-v68-installer-linux.tar.gz

2) Droits en exécution:

chmod +x pia-v68-installer-linux.sh

3) Exécuter le programme d’installation:

./pia-v68-installer-linux.sh

Une fois que le logiciel a été installé avec succès, vous devriez voir une icône client dans votre plateau système (systray) près de l’horloge. L’icône apparaîtra comme une petite icône de robot rouge si elle est déconnectée. Et vert vif si connecté.

Après l’installation

S’il ya des problèmes avec la connectivité et que vous exécutez connman, veuillez relancer connman-vpn.service.

Usage

Remarque: A partir de openvpn version 2.4.0, les configurations VPN ont été placées dans des sous-dossiers. Voir: La mise à jour OpenVPN 2.4.0 requiert une interaction administrative

Activer l’ouverture de session automatique

L’activation de l’ouverture de session automatique permet à un utilisateur de se connecter au service VPN sans avoir à saisir de mots de passe sur la ligne de commande (nécessaire lorsque vous utilisez networkmanager).
Pour ce faire, vous devez effectuer les opérations suivantes:

  • Créer /etc/private-internet-access/login.conf
  • Ajoutez votre nom d’utilisateur et votre mot de passe dans le fichier. Assurez-vous que LIGNE 1 est votre nom d’utilisateur et LIGNE 2 votre mot de passe. N’ajoutez aucun autre texte au fichier ou il ne fonctionnera pas (c’est une limitation d’OpenVPN):
sudo nano /etc/private-internet-access/login.conf

NOM D'UTILISATEUR
MOT DE PASSE

Modifier les autorisations du fichier à 0600 et propriétaire à root:root

sudo chmod 0600 /etc/private-internet-access/login.conf
sudo chown root:root /etc/private-internet-access/login.conf

Cela sécurise l’accès au fichier à partir d’utilisateurs non root. Pour en savoir plus sur les autorisations et les attributs des fichiers. C’est obligatoire pour activer la connexion automatique.

  • Exécutez en tant que root.

    pia -a

    • Si vous avez networkmanager installé, il créera les fichiers de configuration pour networkmanager.
      Assurez-vous de redémarrer networkmanager pour les voir:
      sudo systemctl restart NetworkManager.
    • Si vous avez connman installé, il créera les fichiers de configuration pour connman. Démarrez connman-vpn.service s’il n’est pas déjà en cours d’exécution. Il charge automatiquement les profils.
    • il créera les fichiers .conf OpenVPN dans /etc/openvpn/client.

Astuce: Désactivez l’auto-login dans les configurations en ajoutant openvpn_auto_login = False à /etc/private-internet-access/pia.conf et en exécutant: pia -a

Connexion manuelle au serveur VPN

Exécutez openvpn –config /etc/openvpn/client/{config_file_name} en tant que root. {config_file_name} sera répertorié dans le répertoire /etc/openvpn/client ou exécuter pia -l.

Connexion automatique au serveur VPN

  • Pour connman:

    1 Activer le connman-vpn.service.
    2 Exécutez pia -a en tant que racine.

Remarque: Il s’agit de configurations non prises en charge.

  • Pour openvpn, vous pouvez consulter ici: OpenVPN # systemd service configuration.

    • Pour démarrer le serveur OpenVPN automatiquement au démarrage du système, activez **openvpn-server@.service** sur la machine concernée.
    • Pour un client, activez **openvpn-client@.service**. (Laissez *.conf* hors de la chaîne **configuration**.) Par exemple: si le fichier de configuration du client est **/etc/openvpn/client/Netherlands.conf**, le nom du service est **openvpn-client@Netherlands.service**. si le fichier de configuration du serveur est **/etc/openvpn/server/server.conf**, le nom du service est **openvpn-server@server.service**.
  • Avec NetworkManagerl’ouverture de session, créer une nouvelle connexion Ethernet Filaire nommée par exemple “VPN East”.
    On va créer un fichier /etc/NetworkManager/dispatcher.d/11-openvpn en mode root qui va activer ou désactiver la configuration VPN /etc/openvpn/client/US_East.conf dans notre exemple

      sudo nano /etc/NetworkManager/dispatcher.d/11-openvpn
    
#!/bin/bash

   case "$2" in
   up)
       if [ "$CONNECTION_ID" == "VPN East" ]; then
           systemctl start openvpn-client@US_East.service
       fi
   ;;
   down)
       systemctl stop openvpn-client@US_East.service
   ;;
esac

Droits en exécution pour root uniquement

sudo chmod +x /etc/NetworkManager/dispatcher.d/11-openvpn
sudo chmod 700 /etc/NetworkManager/dispatcher.d/11-openvpn

Options avancées

Attention: Les protocoles et les combinaisons de ports ne fonctionnent plus à partir de la version 3.1. Voir Github Issue # 17 ou Support PIA - Quels paramètres de chiffrement / auth dois-je utiliser pour les ports de vos passerelles?

  • Créer /etc/private-internet-access/pia.conf
  • Pour la section [pia]:
option option values description
openvpn_auto_login True,False Default: True; Configures if OpenVPN configuration files should have auto-login enabled. See #Enabling auto-login
  • Pour la section [configure]:
option option values description
Apps cm, nm Valeur par défaut: all; Cela configure les applications qui sont configurées. L’application configurera toutes les applications installées; Cependant, si un utilisateur ne nécessitait que des configurations pour Conman, alors le réglage de ce paramètre à ‘cm’ ne générerait que ces configurations même si elles avaient NetworkManager installé. Les configurations OpenVPN sont toujours générées. Cm = Conman; Nm = NetworkManager
Port Voir la liste: Support PIA -Quels paramètres de chiffrement / auth dois-je utiliser pour les ports de vos passerelles? Valeur par défaut: 1198

Exemple de configuration

La configuration permet la connexion automatique, configure uniquement Connman et OpenVPN, utilise le port 8080 sur UDP et configure uniquement les points d’extrémité VPN de l’Est, de l’Ouest américain, du Japon, du Royaume-Uni de Londres et du Royaume-Uni.
OpenVPN est toujours configuré.

/etc/private-internet-access-vpn/pia.conf


[pia]
openvpn_auto_login = True

[configure]
apps = cm
port = 8080
hosts = US East, US West, Japan, UK London, UK Southampton

Dépannage

Pour utiliser l’applet NetworkManager:

  • Cliquez avec le bouton droit sur l’icône Network Manager dans la barre d’état système
  • et cliquez sur “Configurer les connexions réseau …”
  • puis cliquez sur “Ajouter”
  • choisissez “Importer VPN …”
  • accédez à “/etc/openvpn/client/CA_Toronto.conf” ou à la configuration que vous souhaitez utiliser
  • puis cliquez sur “Ouvrir”
  • Supprimer uniquement le “: 1198” de la “Passerelle:” (si présent) car seul le nom de domaine doit être dans cette case
  • pour le nom d’utilisateur: tapez votre p1234567 nom d’utilisateur
  • pour le mot de passe: tapez le mot de passe correspondant à votre p-xxxxx nom d’utilisateur
  • puis cliquez sur “Avancé …”
  • définir “Port de passerelle personnalisé” and set it to “1198”
  • click on the “Security” tab
  • set the “Cipher:” à “AES-128-CBC”
  • set the “HMAC Authentication:” à “SHA-1”
  • click “OK”
  • click “OK” de nouveau

En ce qui concerne les fuites DNS (voir: python-pia / # 13), les informations de fuite du gestionnaire de réseau en raison de la configuration de /etc/resolv.conf. Le script ci-dessous est un travail autour posté par @maximbaz pour contourner le problème. Vous devrez peut-être désactiver IPv6 si vous continuez à obtenir des fuites.

/etc/NetworkManager/dispatcher.d/98-pia-vpn


#!/bin/bash
#/etc/NetworkManager/dispatcher.d/pia-vpn

interface="$1"
status=$2

case $status in
  vpn-up)
    if [[ $interface == "tun0" ]]; then
      chmod +w /etc/resolv.conf
      echo -e "nameserver 209.222.18.222\nnameserver 209.222.18.218" > /etc/resolv.conf
      chmod -w /etc/resolv.conf
    fi
    ;;
  vpn-down)
    if [[ $interface == "tun0" ]]; then
      chmod +w /etc/resolv.conf
    fi
    ;;
esac