Это пошаговая инструкция, которая требует минимального понимания, что происходит, просто по шагам выполняйте команды в консоли и скорее всего у вас все получится.
Мы пытаемся обойти блокировки в России или другой стране, или пытаемся защитить личную информацию в общественных сетях.
С помощью докера установим VPN-server, а также установим aapanel для просмотра загруженности сервера.
Я арендовал сервер в Германии, вы можете где считаете нужным, здесь вам придется разобраться самостоятельно. Операционная система Ubuntu 20.04
Подключаемся по SSH, тут, я думаю, вы сами разберетесь.
Приведу установку от сюда
Устанавливаем докер
sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
sudo apt update
apt-cache policy docker-ce
sudo apt install docker-ce
Проверяем статус докера
sudo systemctl status docker
Вывод должен выглядеть примерно следующим образом, указывая, что служба активна и запущена:
Output
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2020-05-19 17:00:41 UTC; 17s ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 24321 (dockerd)
Tasks: 8
Memory: 46.4M
CGroup: /system.slice/docker.service
└─24321 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
Установка ВПН-сервера
Нужно создать файл /root/vpn.env
cd /root
touch vpn.env
nano vpn.env
вставляем следующий текст
VPN_IPSEC_PSK=sjf3hjhsdfshbgtYTg4VdsdshGytrDffffshbgtYTg4Vdsdsh
VPN_USER=user1
VPN_PASSWORD=password45word65
ctrl+x и сохранить файл
где
VPN_IPSEC_PSK -секретная фраза IPsec, должна состоять из 20 или более символов.
VPN_USER и VPN_PASSWORD - логин и пароль от VPN сервера.
Запускаем наш докер контенер с нашим окружением:
docker run \
--name ipsec-vpn-server \
--env-file ./vpn.env \
--restart=always \
-v ikev2-vpn-data:/etc/ipsec.d \
-v /lib/modules:/lib/modules:ro \
-p 500:500/udp \
-p 4500:4500/udp \
-d --privileged \
hwdsl2/ipsec-vpn-server
Проверяем
docker ps -a
Должен быть вывод что-то вроде
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0f32ea96490f hwdsl2/ipsec-vpn-server "/opt/src/run.sh" 8 seconds ago Up 7 seconds 0.0.0.0:500->500/udp, 0.0.0.0:4500->4500/udp ipsec-vpn-server
Теперь по адресу
/var/lib/docker/volumes/ikev2-vpn-data/_data
лежат файлы, среди которых
vpnclient.p12 (for Windows & Linux)
vpnclient.sswan (for Android)
vpnclient.mobileconfig (for iOS & macOS)
необходимые для vpn-клиента. Ваша задача их скачать, можете использовать ftp-клиент (я использовал filezilla), можете через админка провайдера, как вам угодно. Инструкция для filezilla
Добавляем и удаляем пользователей
Вы можете управлять клиентами IKEv2 с помощью вспомогательного скрипта.
# Добавить нового клиента (используя параметры по умолчанию)
docker exec -it ipsec-vpn-server ikev2.sh --addclient [client name]
# Экспорт конфигурации для существующего клиента
docker exec -it ipsec-vpn-server ikev2.sh --exportclient [client name]
# Список существующих клиентов
docker exec -it ipsec-vpn-server ikev2.sh --listclients
# Посмотреть инструкцию
docker exec -it ipsec-vpn-server ikev2.sh -h
Я вас поздравляю!
Мы подняли впн-сервер и скачали файлы необходимые для впн-клиента вашего устройства.Теперь сами погуглите, как подружить ваше устройство и эти файлыПредложу варианты как подружитьMacOS
Запускаете файл .mobileconfig, затем заходите системные настройки -> профили, там устанавливаете появившийся профиль. Затем системные настройки -> сеть, там находите появившееся vpn-подключение и нажимаете кнопку подключить.Пример на видео
IOS
Надо просто запустить файл .mobileconfig, я, например, передаю его с макос по airdrop, айфон сразу спрашивает установить ли профиль, затем заходите в настройки, сверху будет предложение настроить профиль, устанавливает его. Затем в настройках есть пункт VPN, включаете его.
Android
Инструкция здесь
Windows
Linux
Если вы сидите на линукс, я вообще не понимаю, почему вы читаете такую профанскую статью
ВСЁ!!!
Установка aapanel (необязательно)
Зачем это нужно? Aapanel — это оболочка для управления веб-сервером, нам она нужна для файлового менеджера и для оценки нагруженности сервера.
Инстукция отсюда
docker run -d -p 8886:8888 -p 443:443 -p 80:80 -p 889:888 --restart=always -v ~/website_data:/www/wwwroot -v ~/mysql_data:/www/server/data -v ~/vhost:/www/server/panel/vhost -v /var/lib/docker/volumes/ikev2-vpn-data/_data:/ikev2-vpn-data aapanel/aapanel:lib
Ваша панель будет доступна по адресу
http://youripaddress:8886/aapanel
username:aapanel
password:aapanel123
Панель вам предложит установить какое-нибудь ПО для сайтов, я ставлю любую галочку, чтобы больше это сообщение не появлялось.
Все настройки стандартные, хотя бы смените пароль settings->Panel password
Можете посмотреть видео-инстукцию по настройке, вам там интересно только про безопасность.
Что в этой панели нам надо?
В меню Monitor смотрим мониторинг сервера
В меню Files в каталоге /ikev2-vpn-data лежат наши файлы конфигурации vpn
Оригинал статьи https://ashishkin.ru/podnimaem-svoj-vpn-server-s-pomoshhyu-docker.html
Читать там удобнее
Успехов!