Назад

VPN на 3X-UI, без Docker

Добрый день. Как было замечено в комментариях прошлой темы по 3X-UI, в ответ на сложности с получением сертификата SSl, есть возможность его установить без Docker. Вот, сегодня тема об этом.

Ссылка на GitHub автора скрипта — GitHub — MHSanaei/3x-ui: Xray panel supporting multi-protocol multi-user expire day & traffic & ip limit (Vmess & Vless & Trojan & ShadowSocks)

Выбор сервера под VPN

Я предлагаю 4 хороших и проверенных хостинга, под зарубежный или российский VPN (для релокантов). Посмотреть их описание можно в предыдущих статьях.

Установка

apt update && apt upgrade -y
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)

В конце очень быстрой установки, мы получим логин и пароль. Либо, мы сами вводом свои данные логин-пароль-порт.

Панель управления 3X-UI находится по адресу: http://yourip:2053 (или ваш порт).

После установки, мы можем управлять сервером из консоли через следущие команды:

x-ui control menu usages: 
----------------------------------------------
x-ui              - Enter     Admin menu
x-ui start        - Start     x-ui
x-ui stop         - Stop      x-ui
x-ui restart      - Restart   x-ui
x-ui status       - Show      x-ui status
x-ui enable       - Enable    x-ui on system startup
x-ui disable      - Disable   x-ui on system startup
x-ui log          - Check     x-ui logs
x-ui banlog       - Check Fail2ban ban logs
x-ui update       - Update    x-ui
x-ui install      - Install   x-ui
x-ui uninstall    - Uninstall x-ui
----------------------------------------------

Получаем SSL на панель

Расскажу от 3 способах получить SSL, первый, встроен в скрипт 3X-UI. Поэтому начнем с него.

Через X-UI:

x-ui

Выбираем пункт 15 и введем наш домен, к которому прилинкован IP сервера.

Переходим в панель 3X-UI по адресу yourdomain.com:2053(или тот порт, который вы указали при установке). В разделе Panel Settings прописываем пути к сертификатам SSL:

/root/.acme.sh/your_domain_ecc/fullchain.cer
/root/.acme.sh/your_domain_ecc/your_domain.key

Пример:

Через Cloudflare. Прилинковываем наш домен к Cloudflare и выпускаем сертификат на 15 лет через их сервис

Через Acme:

apt install cron  && apt install socat
curl https://get.acme.sh | sh -s [email protected]
mkdir -p /var/lib/certs/

DOMAIN и SUBDOMAIN1.DOMAIN — пишем наши домены и суб-домены. Которые мы прилинковали заранее к нашему IP. Если суб-домены не нужны, удаляем их

~/.acme.sh/acme.sh --set-default-ca --server letsencrypt --issue --standalone \
-d DOMAIN \
--key-file /var/lib/certs/key.pem \
--fullchain-file /var/lib/certs/fullchain.pem

Добавляем наши полученные сертификаты в панель 3X-UI, вместе с доменом.

Создаем VPN профайлы

Shadowsocks

Переходим на вкладку Inbounds > Add Inbound

Remark — любое рандомное название

Protocol — shadowsocks

Нажимаем Create

Теперь можно отсканировать QR код и пользоваться VPN на Shadowsocks

VLESS + Reality

Remark — любое рандомное название

Protocol — vless

Port — 443

Ниже, где Transparent Proxy ставим галочку на Reality

 uTLS — Chrome

Dest — microsoft.com:443

Server Names — microsoft.com,www.microsoft.com

И нажать кнопку Get New Key > Create

Если у вас занят 443 порт, то пользуем альтернативу:

VLESS/VMESS no 443

Порт — пусто (по умолчанию)

Безопасность — TLS

Протокол передачи — TCP

Сертификат — сертификат с панели, который мы ранее выпустили

uTLS — random

Ну и вы можете сами экспериментировать с протоколами 🙂

Безопасность сервера

Защитим сервер от взлома через брутфорс:

apt install fail2ban -y && apt install ufw -y && apt install nano -y
touch /etc/fail2ban/jail.local && nano /etc/fail2ban/jail.local

Откроется редактор, вставим в него код:

[sshd]
enabled = true
filter = sshd
action = iptables[name=SSH, port=ssh, protocol=tcp]
logpath = /var/log/auth.log
findtime = 600
maxretry = 3
bantime = 43200

Нажимаем ctlr + x, далее Y и enter, чтобы сохранить.

Отключаем двухсторонний пинг

Чтобы улучшить нашу маскировку, отключим пинг

 nano /etc/ufw/before.rules

Меняем концовку следующего выражения с ACCEPT на DROP:

-A ufw-before-input -p icmp --icmp-type echo-request -j DROP

Нажимаем ctlr + x, далее y + enter, чтобы сохранить.

Включаем фаервол

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

apt install net-tools
netstat -ntlp | grep LISTEN

Смотрите порты, которые идут после 0.0.0.0:порт или IP_адрес вашего_сервера:порт, например:

  1. 0.0.0.0:993
  2. 76.20.7.12:53
  3. :::22

Их необходимо открыть в UFW или через панель управления вашим сервером/хостингом. Смотря как это реализовано у вас. Например:

ufw allow 22/tcp && ufw allow 443 && ufw allow 40000 && ufw enable

Подтверждаем через Y + Enter

Напоследок очистимся и перезагрузимся:

apt update && apt upgrade -y && apt autoclean -y && apt clean -y && apt autoremove -y && reboot

Программы для VPN

Буду рекомендовать только одну программу, которая есть для всех платформа (Android, iOS, Windows, MacOS, Linux). Это Hiddify.

Заранее благодарен за уточняющие комментарии, для меня они очень важны и помогает улучшить базу знаний на блоге. Спасибо вам!

Dmitrii
Dmitrii
https://itstar.space
IT Project Manager, организатор IT-конференций в РФ, владелец 11 кошек и чихуа-хуа. Из которых половину спасли с женой из Турции, остальных спасли в РФ. В прошлом изобретатель с 16 лет, руководитель многочисленных лабораторий, проф. фотограф и еще хорошо готовлю. Короче очень клевый чувак, пацифист и любитель животных. Единственное, не веган :(
Подписаться
Уведомить о
guest
19 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Слава
Слава
10 месяцев назад

Дмитрий привет!
Еще круче кажется нашел вариант https://github.com/hiddify/Hiddify-Manager
Они там очень хорошо все описывают, даже по созданию домена, я себе поставил очень быстро, сейчас разбираюсь….

Stanner
Stanner
Ответить на  Dmitrii
10 месяцев назад

Чтобы работал ChatGPT и т.д. — ставят ещё WARP Proxy и через него пускают нужные домены.

Слава
Слава
Ответить на  Dmitrii
10 месяцев назад

Дмитрий привет, мне тоже не понравилось, 3X-UI попроще будет, тоже систему испортил, буду переустанавливать… я chat GPT не использую, можешь и от сервака зависит? на разных пробовал?

Слава
Слава
Ответить на  Dmitrii
10 месяцев назад

на чем в итоге остановился на vps? тут автор из прошлой статьи дополнения сделал и ответил на возникающие вопросы, можно по настройкам пост дополнить https://habr.com/ru/articles/770400/

stan5
stan5
9 месяцев назад

Спасибо!немного добавлю для таких, как я (тупых))))

  1. apt update && apt upgrade -y
  2. sudo apt install curl (иначе ошибка bash)

Включение BBR в UbuntuВключение производится добавлением двух параметров ядра в файл /etc/sysctl.conf

sudo nano /etc/sysctl.conf

Необходимо добавить эти два параметра в самый конец файла.

net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr

После чего включить добавленные параметры ядра командой:

sysctl -p

Скорость по speedtest сразу взлетает.
Ну и у меня путь к сертификатам тут-
/root/cert/yourdomen/fullchain.pem
/root/cert/yourdomen/privkey.pem
После этого всё завелось.

AlexiosCol
AlexiosCol
8 месяцев назад

Может быть и глупый вопрос, но никак не получается самому — при установке SSL сертификата через CloudFlare, что делать дальше? То есть куда прописывать эти ключи? Я выпустил их напрямую через 3X-UI в терминале — 16 пункт, все гуд, без ошибок — но главная панель все равно на http://

AlexiosCol
AlexiosCol
Ответить на  AlexiosCol
8 месяцев назад

В итоге получилось разобраться — все дело было в названии:

Certificate = Public Key = /root/cert/domain.com.cer
Key = Private Key = /root/cert/domain.com.key

Это для сертификата, который выпущен через CloudFlare.

артем
артем
4 месяцев назад

не работает ограничение по айпи адресам в 3x-ui, как исправить этот момент. Я ставлю ограничение на 1айпи, подключаюсь с двух разных сетей, а трафик все равно идет

Семен
Семен
2 месяцев назад

Спасибо за такой замечательный мануал! всё настроил и оно отлично работает. подключаюсь через hiddify и на компе и на андроиде.
А возник у меня ещё вопрос можно ли как-то подключатся к этому впн через роутер? чтобы другие домашние устройства тоже работали. Есть у меня роутер кинетик он умеет в установку различных пакетов OPKG. возможно ли как-то роутером подключится? Я просто даже не понимаю с чего начать искать информацию для этого, как например называется такое подключение к впн? тут же не классическое соединение и логина\пароля нет.

Слава
Слава
Ответить на  Семен
1 месяц назад

Socks5 встроенные, инструкция по настройке есть на сайте кинетик