GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer et configurer Algo VPN Server sur Ubuntu 20.04

Algo VPN est un ensemble de logiciels open source ou un ensemble de scripts Ansible qui est utilisé pour configurer un VPN WireGuard et IPsec. Il a été conçu par Trail of Bits pour rendre le processus d'installation du VPN simple mais sécurisé. Algo VPN vous permet de vous connecter à partir de n'importe quel appareil, y compris Windows, Linux, OSX, Android et iOS. Algo VPN prend en charge de nombreuses offres cloud, notamment Amazon, Google cloud, Vultr, DigitalOcean, Scalway, Linode et OpenStack.

Dans ce tutoriel, nous allons vous montrer comment configurer un serveur VPN avec Algo VPN sur le serveur Ubuntu 20.04.

Prérequis

  • Un serveur exécutant Ubuntu 20.04.
  • Un mot de passe root est configuré sur le serveur.

Mise en route

Tout d'abord, mettez à jour vos packages système vers la dernière version à l'aide de la commande suivante :

apt-get update -y

Une fois tous les packages mis à jour, installez les autres dépendances avec la commande suivante :

apt-get install git apparmor build-essential python3-dev python3-pip python3-setuptools python3-virtualenv libffi-dev libssl-dev -y

Ensuite, vous devrez désactiver le service de résolution de noms pour que dnsmasq fonctionne. Vous pouvez le désactiver avec la commande suivante :

systemctl disable systemd-resolved
systemctl stop systemd-resolved
unlink /etc/resolv.conf
echo "nameserver 8.8.8.8" > /etc/resolv.conf

Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.

Installer et configurer Algo VPN

Tout d'abord, téléchargez la dernière version d'Algo VPN depuis le dépôt Git à l'aide de la commande suivante :

git clone https://github.com/trailofbits/algo.git

Ensuite, changez le répertoire vers le répertoire téléchargé et créez un environnement virtuel Python avec la commande suivante :

cd algo
python3 -m virtualenv --python=/usr/bin/python3 .env

Ensuite, activez l'environnement virtuel avec la commande suivante :

source .env/bin/activate

Ensuite, installez les dépendances requises avec la commande suivante :

python3 -m pip install -U pip virtualenv
python3 -m pip install -r requirements.txt

Une fois toutes les dépendances installées, installez le VPN Algo en exécutant la commande suivante :

./algo

Il vous sera demandé de choisir le fournisseur de cloud comme indiqué ci-dessous :

TASK [Set required ansible version as a fact] *************************************************************************************************
ok: [localhost] => (item=ansible==2.9.7)

TASK [Verify Python meets Algo VPN requirements] **********************************************************************************************
ok: [localhost] => {
    "changed": false,
    "msg": "All assertions passed"
}

TASK [Verify Ansible meets Algo VPN requirements] *********************************************************************************************
ok: [localhost] => {
    "changed": false,
    "msg": "All assertions passed"
}
[WARNING]: Found variable using reserved name: no_log

PLAY [Ask user for the input] *****************************************************************************************************************

TASK [Gathering Facts] ************************************************************************************************************************
ok: [localhost]
[Cloud prompt]
What provider would you like to use?
    1. DigitalOcean
    2. Amazon Lightsail
    3. Amazon EC2
    4. Microsoft Azure
    5. Google Compute Engine
    6. Hetzner Cloud
    7. Vultr
    8. Scaleway
    9. OpenStack (DreamCompute optimised)
    10. CloudStack (Exoscale optimised)
    11. Linode
    12. Install to existing Ubuntu 18.04 or 20.04 server (for more advanced users)
  
Enter the number of your desired provider
:
12

Type 12 and hit Enter to setup Algo VPN on Ubuntu 20.04 server. You will be asked for several questions as shown below:

TASK [Set facts based on the input] ***************************************************************************************************************************************************************************************
ok: [localhost]
[Cellular On Demand prompt]
Do you want macOS/iOS IPsec clients to enable "Connect On Demand" when connected to cellular networks?
[y/N]
:y

TASK [Cellular On Demand prompt] ******************************************************************************************************************************************************************************************
ok: [localhost]
[Wi-Fi On Demand prompt]
Do you want macOS/iOS IPsec clients to enable "Connect On Demand" when connected to Wi-Fi?
[y/N]
:y

TASK [Wi-Fi On Demand prompt] *********************************************************************************************************************************************************************************************
ok: [localhost]
[Trusted Wi-Fi networks prompt]
List the names of any trusted Wi-Fi networks where macOS/iOS IPsec clients should not use "Connect On Demand"
(e.g., your home network. Comma-separated value, e.g., HomeNet,OfficeWifi,AlgoWiFi)
:HomeNet

TASK [Trusted Wi-Fi networks prompt] **************************************************************************************************************************************************************************************
ok: [localhost]
[Compatible ciphers prompt]
Do you want the VPN to support Windows 10 or Linux Desktop clients? (enables compatible ciphers and key exchange, less secure)
[y/N]
:y

TASK [Compatible ciphers prompt] ******************************************************************************************************************************************************************************************
ok: [localhost]
[Retain the CA key prompt]
Do you want to retain the CA key? (required to add users in the future, but less secure)
[y/N]
:y

TASK [Retain the CA key prompt] *******************************************************************************************************************************************************************************************
ok: [localhost]
[DNS adblocking prompt]
Do you want to install an ad blocking DNS resolver on this VPN server?
[y/N]
:y

TASK [DNS adblocking prompt] **********************************************************************************************************************************************************************************************
ok: [localhost]
[SSH tunneling prompt]
Do you want each user to have their own account for SSH tunneling?
[y/N]
:N
Enter the IP address of your server: (or use localhost for local installation):
[localhost]
:
localhost
TASK [local : pause] **************************************************************************************************************************
ok: [localhost]

TASK [local : Set the facts] ******************************************************************************************************************
ok: [localhost]
[local : pause]
What user should we use to login on the server? (note: passwordless login required, or ignore if you're deploying to localhost)
[root]
:
root

Enter the public IP address or domain name of your server: (IMPORTANT! This is used to verify the certificate)
[45.58.38.120]

Une fois l'installation terminée avec succès, vous devriez obtenir le résultat suivant :

TASK [debug] **********************************************************************************************************************************
ok: [localhost] => {
    "msg": [
        [
            "\"#                          Congratulations!                            #\"",
            "\"#                     Your Algo server is running.                     #\"",
            "\"#    Config files and certificates are in the ./configs/ directory.    #\"",
            "\"#              Go to https://whoer.net/ after connecting               #\"",
            "\"#        and ensure that all your traffic passes through the VPN.      #\"",
            "\"#                     Local DNS resolver 172.18.7.104                   #\"",
            ""
        ],
        "    \"#        The p12 and SSH keys password for new users is 7OEfSUZt0       #\"\n",
        "    \"#        The CA key password is [email protected]       #\"\n",
        "    "
    ]
}

PLAY RECAP ************************************************************************************************************************************
localhost                  : ok=125  changed=39   unreachable=0    failed=0    skipped=53   rescued=0    ignored=0   

Après l'installation, vous devriez voir le fichier de configuration pour chaque profil VPN en utilisant la commande suivante :

ls configs/your-server-ip/wireguard/

Vous devriez voir tout le profil dans la sortie suivante :

apple  desktop.conf  desktop.png  laptop.conf  laptop.png  phone.conf  phone.png  user1.conf  user1.png

Vous pouvez utiliser n'importe lequel des fichiers ci-dessus sur votre appareil client pour vous connecter au serveur Algo VPN.

Conclusion

Toutes nos félicitations! vous avez installé et configuré avec succès Algo VPN sur le serveur Ubuntu 20.04. Vous pouvez maintenant configurer votre appareil Windows, Linux ou Android pour vous connecter au serveur Algo VPN.


Ubuntu
  1. Comment installer et configurer le serveur DHCP sur Ubuntu 20.04

  2. Comment installer et configurer le serveur Redis dans Ubuntu

  3. Comment installer et configurer Squid Proxy sur Ubuntu 20.04

  4. Comment installer et configurer le serveur Web Apache sur Ubuntu 13.10

  5. Comment installer et configurer strongSwan VPN sur Ubuntu 18.04

Comment installer et configurer le serveur LAMP sur Ubuntu

Comment installer et configurer le serveur OpenLDAP sur Ubuntu 16.04

Comment installer et configurer le serveur VNC sur Ubuntu 20.04

Comment installer et configurer VNC sur Ubuntu Server 20.04

Comment installer et configurer le serveur DNS sur Ubuntu 16.04 LTS

Comment installer et configurer Parse Server sur Ubuntu 20.04