GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So installieren und konfigurieren Sie den Algo VPN-Server unter Ubuntu 20.04

Algo VPN ist ein Open-Source-Softwarepaket oder ein Satz von Ansible-Skripts, das zum Einrichten eines WireGuard- und IPsec-VPN verwendet wird. Es wurde von Trail of Bits entwickelt, um den VPN-Installationsprozess einfach und dennoch sicher zu gestalten. Mit Algo VPN können Sie sich von jedem Gerät aus verbinden, einschließlich Windows, Linux, OSX, Android und iOS. Algo VPN unterstützt viele Cloud-Anbieter, darunter Amazon, Google Cloud, Vultr, DigitalOcean, Scalway, Linode und OpenStack.

In diesem Tutorial zeigen wir Ihnen, wie Sie einen VPN-Server mit Algo VPN auf einem Ubuntu 20.04-Server einrichten.

Voraussetzungen

  • Ein Server mit Ubuntu 20.04.
  • Ein Root-Passwort wird auf dem Server konfiguriert.

Erste Schritte

Aktualisieren Sie zuerst Ihre Systempakete mit dem folgenden Befehl auf die neueste Version:

apt-get update -y

Sobald alle Pakete aktualisiert sind, installieren Sie andere Abhängigkeiten mit dem folgenden Befehl:

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

Als nächstes müssen Sie den Namensauflösungsdienst deaktivieren, damit dnsmasq funktioniert. Sie können es mit dem folgenden Befehl deaktivieren:

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

Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

Algo VPN installieren und konfigurieren

Laden Sie zunächst die neueste Version von Algo VPN mit dem folgenden Befehl aus dem Git-Repository herunter:

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

Wechseln Sie als Nächstes in das heruntergeladene Verzeichnis und erstellen Sie mit dem folgenden Befehl eine virtuelle Python-Umgebung:

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

Als nächstes aktivieren Sie die virtuelle Umgebung mit dem folgenden Befehl:

source .env/bin/activate

Als nächstes installieren Sie die erforderlichen Abhängigkeiten mit dem folgenden Befehl:

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

Sobald alle Abhängigkeiten installiert sind, installieren Sie das Algo VPN, indem Sie den folgenden Befehl ausführen:

./algo

Sie werden aufgefordert, den Cloud-Anbieter wie unten gezeigt auszuwählen:

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]

Nach erfolgreicher Installation sollten Sie folgende Ausgabe erhalten:

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   

Nach der Installation sollten Sie die Konfigurationsdatei für jedes VPN-Profil mit dem folgenden Befehl sehen:

ls configs/your-server-ip/wireguard/

Sie sollten das gesamte Profil in der folgenden Ausgabe sehen:

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

Sie können jede der oben genannten Dateien auf Ihrem Client-Gerät verwenden, um sich mit dem Algo VPN-Server zu verbinden.

Schlussfolgerung

Herzliche Glückwünsche! Sie haben Algo VPN erfolgreich auf dem Ubuntu 20.04-Server installiert und konfiguriert. Sie können Ihr Windows-, Linux- oder Android-Gerät jetzt so konfigurieren, dass es sich mit dem Algo VPN-Server verbindet.


Ubuntu
  1. So installieren und konfigurieren Sie den DHCP-Server unter Ubuntu 20.04

  2. So installieren und konfigurieren Sie den Redis-Server in Ubuntu

  3. So installieren und konfigurieren Sie Squid Proxy unter Ubuntu 20.04

  4. So installieren und konfigurieren Sie den Apache-Webserver unter Ubuntu 13.10

  5. So installieren und konfigurieren Sie strongSwan VPN unter Ubuntu 18.04

So installieren und konfigurieren Sie LAMP Server unter Ubuntu

So installieren und konfigurieren Sie den OpenLDAP-Server unter Ubuntu 16.04

So installieren und konfigurieren Sie den VNC-Server unter Ubuntu 20.04

So installieren und konfigurieren Sie VNC auf Ubuntu Server 20.04

So installieren und konfigurieren Sie den DNS-Server unter Ubuntu 16.04 LTS

So installieren und konfigurieren Sie Parse Server unter Ubuntu 20.04