Добрый день. Как было замечено в комментариях прошлой темы по 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_адрес вашего_сервера:порт, например:
- 0.0.0.0:993
- 76.20.7.12:53
- :::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.
Заранее благодарен за уточняющие комментарии, для меня они очень важны и помогает улучшить базу знаний на блоге. Спасибо вам!
Дмитрий привет!
Еще круче кажется нашел вариант https://github.com/hiddify/Hiddify-Manager
Они там очень хорошо все описывают, даже по созданию домена, я себе поставил очень быстро, сейчас разбираюсь….
Привет! Очень крутое решение, спасибо за ссылку. А то я столкнулся с тем что chat GPT не работает под X-ray, значит есть какая-то утечка. Буду пробовать, спасибо!
Чтобы работал ChatGPT и т.д. — ставят ещё WARP Proxy и через него пускают нужные домены.
Спасибо! Надо дополнить статью. WARP можно поставить через этот же скрипт, через меню команда X-UI
Ну я попробовал, скажу что скрипт не уживается со всем остальным ПО. Поломал все и он очень тяжелый, в отличие от 3X-UI. Но попробую его на отдельном сервере, интересный скрипт 🙂
Дмитрий привет, мне тоже не понравилось, 3X-UI попроще будет, тоже систему испортил, буду переустанавливать… я chat GPT не использую, можешь и от сервака зависит? на разных пробовал?
С Chat GPT, Bard или Copilot нет проблем. У меня была ошибка в конфиге 🙂
на чем в итоге остановился на vps? тут автор из прошлой статьи дополнения сделал и ответил на возникающие вопросы, можно по настройкам пост дополнить https://habr.com/ru/articles/770400/
3X-UI или Outline меня вполне устраивают. Но больше хочется что поинтересней, mesh-сети сейчас рассматриваю. Если получится что с ними, обязательно напишу 🙂
Спасибо!немного добавлю для таких, как я (тупых))))
Включение BBR в UbuntuВключение производится добавлением двух параметров ядра в файл /etc/sysctl.conf
Необходимо добавить эти два параметра в самый конец файла.
После чего включить добавленные параметры ядра командой:
Скорость по speedtest сразу взлетает.
Ну и у меня путь к сертификатам тут-
/root/cert/yourdomen/fullchain.pem
/root/cert/yourdomen/privkey.pem
После этого всё завелось.
Спасибо вам что дополнили статью, вы очень умный человек!
По настройкам — все зависит от сервера и OS. У меня например, Curl есть дефолту на Ubuntu 22, BBR включается через меню X-UI. Ну а сертификаты я получаю через Fastpanel, там путь /var/www/httpd-cert/. Или вообще можно выпустить сертификат через Cloudflare.
Тем и ценны ваши комментарии, потому-что опыт немного отличается у нас 🙂
Может быть и глупый вопрос, но никак не получается самому — при установке SSL сертификата через CloudFlare, что делать дальше? То есть куда прописывать эти ключи? Я выпустил их напрямую через 3X-UI в терминале — 16 пункт, все гуд, без ошибок — но главная панель все равно на http://
В итоге получилось разобраться — все дело было в названии:
Certificate = Public Key = /root/cert/domain.com.cer
Key = Private Key = /root/cert/domain.com.key
Это для сертификата, который выпущен через CloudFlare.
Все верно и вы отлично справились. Если что, ставьте mc (apt install mc) и смотрите в папке root все пути ключей. И да, глупых вопросов не бывает!
не работает ограничение по айпи адресам в 3x-ui, как исправить этот момент. Я ставлю ограничение на 1айпи, подключаюсь с двух разных сетей, а трафик все равно идет
Что за ограничения по IP, можете подробнее написать или скрины приложить?
Спасибо за такой замечательный мануал! всё настроил и оно отлично работает. подключаюсь через hiddify и на компе и на андроиде.
А возник у меня ещё вопрос можно ли как-то подключатся к этому впн через роутер? чтобы другие домашние устройства тоже работали. Есть у меня роутер кинетик он умеет в установку различных пакетов OPKG. возможно ли как-то роутером подключится? Я просто даже не понимаю с чего начать искать информацию для этого, как например называется такое подключение к впн? тут же не классическое соединение и логина\пароля нет.
Спасибо. Из коробки кинетики не работает с VLESS/VMESS, можно попробовать через прокси подключатся. Вопрос хороший т.к. я сам пользуюсь keenetic.
Socks5 встроенные, инструкция по настройке есть на сайте кинетик