Установка Algo VPN на площадке DO

Установка Algo VPN на площадке DO

@webware

t.me/webware

Как и обещал, пишу статью как развернуть VPN с помощью Algo на площадке DO (DigitalOcean)

Итак допустим у Вас есть учётка на DO, если нет идем регистрировать (это рефералка, вам капнет 10$)

Заходим в Личный кабинет, и создаем свою первую виртуалку

Я выбираю минимальную конфигурацию она мне нужна на 20-25 минут для установки VPN сервера

Если Вы будите использовать для установки VPN сервера свою локальную машину можете этот шаг пропустить, и перейти к разделу установки Algo

Я оставляю все без изменений, опускаюсь в самый низ и нажимаем на кнопку Create

Видим что наша виртуалка создалась

Копируем ее IP и пароль берем с нашей почты, и логинимся на нее.

При первом логине, нас сразу попросят сменить пароль, что и делаем

И вот начинаем установку

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

apt-get update && apt-get install \
    build-essential \
    libssl-dev \
    libffi-dev \
    python-dev \
    python-pip \
    python-setuptools \
    python-virtualenv -y

Переходим в каталог algo и устанавливаем зависимости

python -m virtualenv --python=`which python2` env &&
    source env/bin/activate &&
    python -m pip install -U pip &&
    python -m pip install -r requirements.txt

После установки зависимостей, открываем файлик config.cfg - нам необходимо задать пользователей

Я создал только одно пользователя "codeby"

Так же в этом файле вы можете задать адресацию для vpn, dns сервер и т.д.

И вот мы перешли к этапу установки непосредственно VPN сервера.

./algo

Выбираем площадку для установки ( в нашем случая DO)

  What provider would you like to use?
    1. DigitalOcean
    2. Amazon Lightsail
    3. Amazon EC2
    4. Microsoft Azure
    5. Google Compute Engine
    6. Scaleway
    7. OpenStack (DreamCompute optimised)
    8. Install to existing Ubuntu 16.04 server (Advanced)

После выбора первого варианта, нам необходимо указать API ключ который мы благополучно генерим у себя в кабинете DO

Копируем и вставляем

Enter your API token. The token must have read and write permissions (https://cloud.digitalocean.com/settings/api/tokens):
[pasted values will not be displayed]
:849d51a257fa985952359b4bd830ba7ce7a0a11d647cc0d23936f530679c8ffb

у Вас при вставке API ключа, он отображаться не будет

Следующий пункт, нас просят указать название сервера

Name the vpn server:
[algo.local]: codeby.algo

Выбираем локацию нашего будущего VPN сервера

Я выбрал London

  What region should the server be located in?
    1.  Amsterdam        (Datacenter 2)
    2.  Amsterdam        (Datacenter 3)
    3.  Frankfurt
    4.  London
    5.  New York         (Datacenter 1)
    6.  New York         (Datacenter 2)
    7.  New York         (Datacenter 3)
    8.  San Francisco    (Datacenter 1)
    9.  San Francisco    (Datacenter 2)
    10. Singapore
    11. Toronto
    12. Bangalore
Enter the number of your desired region:
[7]: 4

Следующий вопрос, надо ли включить в конфигурации для IOS и MacOS автоматическое включение VPN при подключении к мобильному оператору

Do you want macOS/iOS clients to enable "VPN On Demand" when connected to cellular networks?
[y/N]: Y

Я выбрал да, что бы лишний раз не лазить и не включать его, на зарядке телефона не сказывается, да и на скорости интернета тоже

Следующий пункт, то же самое только для WiFi, я тоже выбираю "Y"

Do you want macOS/iOS clients to enable "VPN On Demand" when connected to Wi-Fi?
[y/N]: y

Здесь указываем wifi сети где использовать VPN не надо

List the names of trusted Wi-Fi networks (if any) that macOS/iOS clients exclude from using the VPN (e.g., your home network. Comma-separated value, e.g., HomeNet,OfficeWifi,AlgoWiFi)
:

Надо ли нам использовать DNS внутри VPN'a с функцией ads (блокировка рекламы)

Do you want to install a DNS resolver on this VPN server, to block ads while surfing?
[y/N]:Y

Форвард DNS используется от cloudflare 1.1.1.1

Хотим мы что бы у каждого юзера были свои учетки для SSH туннеля, здесь я указываю нет, так как у нас только один юзер

Do you want each user to have their own account for SSH tunneling?
[y/N]:N

Надо ли нам поддержка Windows 10 и Linux - включает алгоритмы шафрования для этих ОС

Do you want the VPN to support Windows 10 or Linux Desktop clients? (enables compatible ciphers and key exchange, less secure)
[y/N]:N

Здесь каждый выбирайте что Вам необходимо, у меня нет этих ОС, поэтому я отключил

Будем ли мы сохранять ключ сертификата

Do you want to retain the CA key? (required to add users in the future, but less secure)
[y/N]: y

В данном случае выбираем да, так как эту виртуалку мы будем удалять, предварительно скопировав все конфиги, сертификаты и ключи

Как говориться, дальше откидываемся на спинку кресла, и ждем завершения установки.

В конце установки мы получим исчерпывающую информацию и паролях и подключении к нашему VPN серверу

TASK [vpn : strongSwan started] ************************************************************************************************************************************
ok: [206.189.124.133]

TASK [debug] *******************************************************************************************************************************************************
ok: [206.189.124.133] => {
    "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.16.0.1              #\"",
            ""
        ],
        "    \"#                The p12 and SSH keys password for new users is sGbBq4ad             #\"\n",
        "    \"#                  The CA key password is 282a7ad07da691ca6a9addd3442b33dd                 #\"\n",
        "    \"#      Shell access: ssh -i configs/algo.pem root@206.189.124.133        #\"\n"
    ]
}

TASK [Delete the CA key] *******************************************************************************************************************************************
skipping: [206.189.124.133]

А так же в директории

/root/algo/configs

Мы увидим наши ключи для подключения

и директорию с сертификатами и конфетами для наших VPN клиентов

(env) root@UploadVPN:~/algo/configs/206.189.124.133# ls
android_codeby_helper.html  android_codeby.sswan  cacert.pem  codeby.mobileconfig  codeby.p12  ipsec_codeby.conf  ipsec_codeby.secrets  pki

После копирования на свой компьютер необходимы файлов, можем смело удалять эту виртуалку !

Наш VPN сервер благополучно создан и работает

P.S. с Выбором локации прийдется поиграться, так как IP вам выдается рандомно, возможно с первого раза не получится получить IP который не в списке РКН в локации London я получил чистый IP после второй установки !

Источник codeby.net

Report Page