GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat a nakonfigurovat Algo VPN Server na Ubuntu 20.04

Algo VPN je balík softwaru s otevřeným zdrojovým kódem nebo sada skriptů Ansible, který se používá k nastavení WireGuard a IPsec VPN. Byl navržen společností Trail of Bits, aby byl proces instalace VPN jednoduchý, ale bezpečný. Algo VPN vám umožňuje připojit se z jakéhokoli zařízení včetně Windows, Linux, OSX, Android a iOS. Algo VPN podporuje mnoho cloudových služeb včetně Amazon, Google cloud, Vultr, DigitalOcean, Scalway, Linode a OpenStack.

V tomto tutoriálu vám ukážeme, jak nastavit VPN server s Algo VPN na serveru Ubuntu 20.04.

Předpoklady

  • Server se systémem Ubuntu 20.04.
  • Na serveru je nakonfigurováno heslo uživatele root.

Začínáme

Nejprve aktualizujte systémové balíčky na nejnovější verzi pomocí následujícího příkazu:

apt-get update -y

Jakmile jsou všechny balíčky aktualizovány, nainstalujte další závislosti pomocí následujícího příkazu:

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

Dále budete muset zakázat službu překladu názvů, aby dnsmasq fungovala. Můžete jej zakázat pomocí následujícího příkazu:

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

Jakmile budete hotovi, můžete přejít k dalšímu kroku.

Instalace a konfigurace Algo VPN

Nejprve si stáhněte nejnovější verzi Algo VPN z úložiště Git pomocí následujícího příkazu:

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

Dále změňte adresář na stažený adresář a vytvořte virtuální prostředí Pythonu pomocí následujícího příkazu:

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

Dále aktivujte virtuální prostředí pomocí následujícího příkazu:

source .env/bin/activate

Dále nainstalujte požadované závislosti pomocí následujícího příkazu:

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

Jakmile jsou nainstalovány všechny závislosti, nainstalujte Algo VPN spuštěním následujícího příkazu:

./algo

Budete požádáni o výběr poskytovatele cloudu, jak je uvedeno níže:

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]

Po úspěšném dokončení instalace byste měli získat následující výstup:

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   

Po instalaci byste měli vidět konfigurační soubor pro každý profil VPN pomocí následujícího příkazu:

ls configs/your-server-ip/wireguard/

Celý profil byste měli vidět v následujícím výstupu:

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

K připojení k serveru Algo VPN můžete na svém klientském zařízení použít kterýkoli z výše uvedených souborů.

Závěr

Gratulujeme! úspěšně jste nainstalovali a nakonfigurovali Algo VPN na serveru Ubuntu 20.04. Nyní můžete nakonfigurovat své zařízení se systémem Windows, Linux nebo Android pro připojení k serveru Algo VPN.


Ubuntu
  1. Jak nainstalovat a nakonfigurovat server DHCP na Ubuntu 20.04

  2. Jak nainstalovat a nakonfigurovat server Redis v Ubuntu

  3. Jak nainstalovat a nakonfigurovat Squid Proxy na Ubuntu 20.04

  1. Jak nainstalovat a nakonfigurovat server NFS na Ubuntu 20.04

  2. Jak nainstalovat a nakonfigurovat webový server Apache na Ubuntu 13.10

  3. Jak nainstalovat a nakonfigurovat strongSwan VPN na Ubuntu 18.04

  1. Jak nainstalovat a nakonfigurovat VNC na Ubuntu 20.04

  2. Jak nainstalovat a nakonfigurovat VNC na Ubuntu 18.04

  3. Jak nainstalovat a nakonfigurovat server NFS na Ubuntu 18.04