
В этой статье я расскажу вам как поднять свой собственный VPN сервер на Ubuntu 24.04LTS, в моем случае я разворачиваю свою VDS машинку в Германии на Хостинге Nuxt.cloud
Неоправданная цензура и диктатура в средствах массовой информации и Интернете неуклонно растет изо дня в день, тот же ДЗЕН не является независимой площадкой и также блокирует статьи под предлогом якобы нарушающих закон.
Для большинства из нас социальные сети и площадки видеохостинга необходимы для работы, обмену информацией, опытом и знаниями, а также приданию публичной огласке вопиющей несправедливости и беспредела творимого повсеместно слугами народа, а не только для того, чтобы скоротать досуг.
Для того чтобы обойти ограничения наложенные провайдерами и чекистами на ваш сегмент сети и нужен VPN, об этом подробнее ниже.
Содержание статьи
- Зачем использовать собственный VPN?
- Почему 3X-UI
- Возможности решения
- Хостинговая площадка
- Подготовка сервера
- Установка 3X-UI
- Настройка решения
- Добавление учетных записей
- Установка 3X-UI в Docker
- Клиентские приложения
- Подключение Windows клиентов
- Клиентские браузеры
- Тестируем работу Youtube и Rutracker.org
- Заключение
Зачем использовать собственный VPN?
- Для обеспечения конфиденциальности ваших коммуникаций и позволяет сохранить доступ к открытому Интернету.
- При использовании VPN-провайдеров никто не даст вам гарантий относительно несанкционированного доступа к вашим данным.
- Высокая производительность в режиме 24х7
- Полная анонимность посещаемых ресурсов от сегмента российских провайдеров и лиц в погонах
Почему 3X-UI
3X-UI — это универсальная панель управления собственным VPN сервером, с поддержкой целого ряда протоколов: VLESS, VMESS, Trojan, Shadowsocks.
Решение имеет качественный установочный скрипт, а также консольный конфигуратор, с помощью которого можно:

В этом материале мы рассмотрим настройку и использование классического прокси сервера.
Возможности решения
- Мониторинг состояния системы
- Поиск по всем входящим и клиентским ресурсам
- Темная/светлая тема
- Поддержка многопользовательской и многопротокольной работы
- Поддерживает протоколы, в том числе VMESS, VLESS, Trojan, Shadowsocks, Dokodemo-door, Socks, HTTP, wireguard
- Поддержка нативных протоколов XTLS, включая RPRX-Direct, Vision, REALITY
- Статистика трафика, лимит трафика, лимит по времени экспирации
- Настраиваемые шаблоны конфигурации Xray
- Поддерживает панель доступа HTTPS (самостоятельно предоставленное доменное имя + SSL-сертификат)
- Поддержка приложения SSL-сертификата в один клик и автоматического продления
- Для получения более подробной информации о параметрах конфигурации, пожалуйста, обратитесь к панели
- Исправлены маршруты API (пользовательские настройки будут создаваться с помощью API)
- Поддерживает изменение конфигураций по различным элементам, представленным в панели.
- Поддерживает экспорт/импорт базы данных из панели
Хостинговая площадка
В качестве хостинг провайдера я пользуюсь услугами https://nuxt.cloud/ — оплата в рублях, хостинг площадки в Москве, Германии и Нидерландах.

Параметры виртуальной машины:

Подготовка сервера
Все действия в системе я произвожу под root:
sudo -s
Обновляем систему:
apt update -y && apt upgrade -y
Устанавливаем имя нашему серверу:
hostnamectl set-hostname vpn.tuning-admina.ru
Устанавливаем дополнительные пакеты:
apt install mc net-tools git curl -y
Перезагружаем машинку:
reboot
Установка 3X-UI
Запускаем установочный скрипт:
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)
Cкрипт скачивает архив и запускает процедуру установки, входе которого спрашивает нас, желаем ли мы задать порт для панели управления:

Указываем порт, я указываю порт по умолчанию 2053:

Скрипт выполнит установку и выдаст таблицу команд для конфигурирования и управления решением из консоли:

Заходим в меню скрипта управления:
x-ui

Вводим цифру 6 для смены имени учетной записи и пароля:
- Cкрипт спросит нас действительно ли мы желаем сбросить значения пользователя и пароль, вводим: y
- Вводим имя учетной записи: admin
- Вводим пароль: P@ssw0rd
- Скрипт спросит вы действительно желаете не использовать двухфакторную авторизацию, вводим: y
- Будет предложено перезапустить панель управления, вводим: y

Вводим Enter для того, чтобы попасть в основное меню:

Вводим цифру 7 и 8 для сброса настроек и удаления Web Base Path, при этом учетные данные не сбрасываются, в обоих случаях подтверждаем сброс: y

Вводим цифру 18, для попадания в меню управления SSL сертификатами:

Нам будет предложено следующие возможности, выбирает 1 для получения SSL сертификата:

Вас попросят ввести ваше доменное имя, в моем случае это vpn.tuning-admina.ru:

По умолчания используется 80 порт, нажимаем Enter:

Видим, что мы благополучно получили SSL Сертификаты:

Нам будет предложено провести изменения, выбираем y:

Nginx у нас нету на борту, выбираем 0:

На этом установка и первичная настройка завершена.
Настройка решения
Так как у нас в панели управления решением не добавлены сертификаты, то в браузере переходим по адресу:
http://vpn.tuning-admina.ru:2053

Нас встречает dashboard с параметрами загруженности системы:

Первым делом прописываем пути к сертификатам FullChain и Privkey, переходим в меню Настройки —> Сертификаты:

Не забываем нажать Сохранить и Перезапуск панели:

Видим благополучно подцепленные сертификаты:

Приступаем к настройке VPN сервера, для этого переходим в раздел Инбаунды и нажимаем Создать инбаунд:

Выбираем протокол http, порт на ваше усмотрение и учетные записи для подключения и нажимаем Создать:

Добавление учетных записей
Переходим в раздел Инбаунды, видим созданное нами ранее настроенное по протоколу http подключение и чуть ниже названия столбца Меню нажимаем на три точки, выбираем Изменить:

В блоке настроек пользователей нажимаем +:

Указываем пользователей и нажимаем Обновить:

На этом настройка клиентских подключений со стороны сервера завершена.
Установка 3X-UI в Docker
Если вы любите гонять решения в Docker, то ниже исчерпывающая инструкция
Добавим GPG key от репозитория Docker:
Устанавливаем права на директорию:
install -m 0755 -d /etc/apt/keyrings
Скачиваем ключ репозитория:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
Меняем права на файл ключа репозитория:
chmod a+r /etc/apt/keyrings/docker.asc
Добавим репозиторий Docker:
echo \
«deb [arch=$(dpkg —print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo «$VERSION_CODENAME») stable» | \
tee /etc/apt/sources.list.d/docker.list > /dev/null
Обновим сведения о пакетах в репозиториях:
apt update
Устанавливаем Docker:
apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
Проверяем статус службы Docker:
systemctl status docker

Клонируем проект с GitHub:
git clone https://github.com/MHSanaei/3x-ui.git
Переходим в директорию проекта:
cd 3x-ui
Редактируем docker-compose.yml:
nano docker-compose.yml
version: «3»
services:
3x-ui:
image: ghcr.io/mhsanaei/3x-ui:latest
container_name: 3x-ui
hostname: vpn.tuning-admina.ru
volumes:
— $PWD/db/:/etc/x-ui/
— $PWD/cert/:/root/cert/
environment:
XRAY_VMESS_AEAD_FORCED: «false»
tty: true
network_mode: host
restart: unless-stopped
Сохраняем файл, выходим из редактора:
CTRL+O, CTRL+X
Создаем и запускаем контейнер:
docker compose up -d
Переходим в панель по адресу:
Login: admin
Pass: admin
Клиентские приложения
Для всех основных платформ существуют клиентские приложения:
- NB4A-1.3.2-x86_64.apk — Приложение для Android
- InvisibleManXRay-x64.zip — Приложение для Windows x64
- FoXray — Приложение для Apple
Подключение Windows клиентов
На клиентском компьютере под операционной системой Windows находим пункт меню Параметры прокси-сервера:

Находим блок Настройка прокси вручную и включаем тумблер Использовать прокси-сервер, указываем адрес нашего сервера, а также порт, обязательно ставим галочку Не использовать прокси для локальных внутренних ресурсов вашей сети, если у вас обширные подсети, то их можно указать в качестве исключения, нажимаем Сохранить:

Клиентские браузеры
Клиентские браузеры по умолчанию берут системные настройки прокси сервера, поэтому единственное, что вам потребуется это указать учетную запись
Тестируем работу Youtube и Rutracker.org
Открываем браузер и проверяем свою геолокацию
Проходим по ссылке: https://2ip.ru/

Тестирую производительность канала:

На данном тарифе гарантированная ширина канала не превышает 100мбит, мне для тестовых и личных целей более чем за глаза.
Проверяем работу ресурсов и убеждаемся, что все работает:


Заключение
Спасибо что дочитали до конца. Надеюсь вам понравилась статья и она окажется для вас полезной и продуктивной.