Добрый день. Как было замечено в комментариях прошлой темы по 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)
Оглавление
Установка
apt update && apt upgrade -y && apt autoclean -y && apt clean -y && apt autoremove -y && reboot
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)
В процессе быстрой установки, нам будет предложено ввести свой порт для панели или отказаться и работать через рандомно сгенерированный.
Чтобы позднее узнать ссылку на панель и логин-пароль, пишем в консоли команду x-ui и выбираем 10 пункт.
После установки, мы можем управлять сервером из консоли через следующие команды:
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. Я рекомендую не парится и сделать по первому способу
Через 3X-UI
x-ui
Выбираем пункт 18 и далее, надо будет выбрать 1 пункт, ввести свой домен (который прилинкован к IP сервера) и потвердить, что порт 80 открыт (enter).
Переходим в панель 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=mail@mail.com
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 встроенные, инструкция по настройке есть на сайте кинетик