Как и обещал, пишу статью как развернуть VPN с помощью Algo на площадке DO (DigitalOcean)
Итак допустим у Вас есть учётка на DO, если нет идем
Заходим в Личный кабинет, и создаем свою первую виртуалку
Я выбираю минимальную конфигурацию она мне нужна на 20-25 минут для установки VPN сервера
Если Вы будите использовать для установки VPN сервера свою локальную машину можете этот шаг пропустить, и перейти к разделу установки Algo
Я оставляю все без изменений, опускаюсь в самый низ и нажимаем на кнопку Create
Видим что наша виртуалка создалась
Копируем ее IP и пароль берем с нашей почты, и логинимся на нее.
При первом логине, нас сразу попросят сменить пароль, что и делаем
И вот начинаем установку
Переходим в каталог algo и устанавливаем зависимости
После установки зависимостей, открываем файлик config.cfg - нам необходимо задать пользователей
Я создал только одно пользователя "codeby"
Так же в этом файле вы можете задать адресацию для vpn, dns сервер и т.д.
И вот мы перешли к этапу установки непосредственно VPN сервера.
Выбираем площадку для установки ( в нашем случая DO)
После выбора первого варианта, нам необходимо указать API ключ который мы благополучно генерим у себя в кабинете DO
Копируем и вставляем
у Вас при вставке API ключа, он отображаться не будет
Следующий пункт, нас просят указать название сервера
Выбираем локацию нашего будущего VPN сервера
Я выбрал London
Следующий вопрос, надо ли включить в конфигурации для IOS и MacOS автоматическое включение VPN при подключении к мобильному оператору
Я выбрал да, что бы лишний раз не лазить и не включать его, на зарядке телефона не сказывается, да и на скорости интернета тоже
Следующий пункт, то же самое только для WiFi, я тоже выбираю "Y"
Здесь указываем wifi сети где использовать VPN не надо
Надо ли нам использовать DNS внутри VPN'a с функцией ads (блокировка рекламы)
Форвард DNS используется от cloudflare 1.1.1.1
Хотим мы что бы у каждого юзера были свои учетки для SSH туннеля, здесь я указываю нет, так как у нас только один юзер
Надо ли нам поддержка Windows 10 и Linux - включает алгоритмы шафрования для этих ОС
Здесь каждый выбирайте что Вам необходимо, у меня нет этих ОС, поэтому я отключил
Будем ли мы сохранять ключ сертификата
В данном случае выбираем да, так как эту виртуалку мы будем удалять, предварительно скопировав все конфиги, сертификаты и ключи
Как говориться, дальше откидываемся на спинку кресла, и ждем завершения установки.
В конце установки мы получим исчерпывающую информацию и паролях и подключении к нашему VPN серверу
А так же в директории
Мы увидим наши ключи для подключения
и директорию с сертификатами и конфетами для наших VPN клиентов
После копирования на свой компьютер необходимы файлов, можем смело удалять эту виртуалку !
Наш VPN сервер благополучно создан и работает
P.S. с Выбором локации прийдется поиграться, так как IP вам выдается рандомно, возможно с первого раза не получится получить IP который не в списке РКН
в локации London я получил чистый IP после второй установки !
Итак допустим у Вас есть учётка на 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
Следующий пункт, нас просят указать название сервера
Код:
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
Хотим мы что бы у каждого юзера были свои учетки для 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 который не в списке РКН

Последнее редактирование: