Обходим великий российский фаервол
Добрый день. Есть большая вероятность, что к осени 2023 года в России будут заблокированы наиболее популярные VPN протоколы на основе WireGuard, IPSek, OpenVPN. Поэтому есть смысл уже сейчас смотреть в сторону решений от китайских товарищей, которые были созданы для обхода великого китайского фаервола.
Статья написана как рерайт статьи от автора на хабре — ссылка на статью источник.
Особая благодарность Слава, за ссылку на статью 🙂
Почему важно использовать VPN в 2023 году?
Потому-то информация о нас давно уже стала товаров и способом манипуляций, я думаю что каждый человек имеет право переписываться без товарища Майора за спиной. VPN — это в первую очередь безопасность т.к. весь трафик шифруется. Говорить что VPN — это для совершения преступлений, это верх двуличия.
Почему VLESS, ShadowSocks и 3X-UI?
Как одни из наиболее защищенных протоколов на данный момент. VLESS, например отлично мимикрирует под обычный https трафик.
Панель управления VPN на 3X-UI устанавливается и настраивается очень легко через Docker. По мне — это одно из лучших решений сейчас на рынке, как для личного, так и коммерческого использования.
Почему статья такая большая?
Статью необязательно читать полностью, вы можете брать только ту часть, которую хотите реализовать прямо сейчас — итерацию.
Например, при установке с нуля, вам важны части статьи про рекомендации сервера, установка 3X-UI, настройка 3X-UI и программы для VPN. Это быстрая часть. Настройка безопасности сервера — на ваше усмотрение, к ней вы можете вернуться позже.
Содержание статьи
Выбор хостинга для VPN
Предлагаю вам на выбор 4 хостинга, которые можно использовать для VPN, исходя из своей субъективной оценки. Три ссылки реферальные, так вы сможете и отблагодарить меня, без всяких усилий, если статья вам оказалось полезной.
Тестирование скорости сервера (необязательно)
Установка Speedtest — выполните команды последовательно (по строчке)
sudo apt-get install curl
curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh | sudo bash
sudo apt-get install speedtest
запуск
speedtest
Установка 3X-UI
Обновляем ПО:
apt update && apt upgrade -y
Установка Docker:
bash <(curl -sSL https://get.docker.com)
Клонируем репотизиторий 3X-UI:
git clone https://github.com/MHSanaei/3x-ui.git
cd 3x-ui
Запускаем скрипт 3X-UI:
docker compose up -d
Настройка панель управления
В браузере переходим по адрecу http://Ip-адрес-вашего-сервера:2053/panel/ логин и пароль — admin.
Panel Setting
Panel Port — меняем, например 16545
Panel URL Root Path — меняем, например /hghgj/
Делаем перезапуск панели
Panel Setting > Security Settings
Меняем логин-пароль admin — admin, например на jhfjhsjh — kfkdhr389
Создаем 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
Безопасность сервера
Защитим сервер от взлома через брутфорс:
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.
ufw allow 17753/tcp && ufw allow 443 && ufw allow 22918 && ufw allow 53 && ufw allow 62789 && ufw allow 22/tcp && ufw enable
Подтверждаем через Y + Enter
Напоследок очистимся и перезагрузимся:
apt update && apt upgrade -y && apt autoclean -y && apt clean -y && apt autoremove -y && reboot
Обновление Docker 3X-UI
Чтобы обновить ПО, выполните через консоль. За эту информацию моя благодарность Иван Цой 🙂
cd 3x-ui && docker compose pull 3x-ui && docker compose up -d
Удаление 3X-UI
Чтобы удалить образ Docker, нужно узнать его id и остановить. В примере ниже, id контейнера у нас будет d6f0a3616f48.
Узнаем id:
docker container ls
Останавливаем и удаляем:
docker stop d6f0a3616f48
docker rmi -f d6f0a3616f48
docker container rm -f d6f0a3616f48
Программы для VPN
Устанавливайте только Stable версии приложений!
Android
- Скачать и установить приложение на смартфон.
- Скопировать ключ в буфер обмена
- Открыть приложение и нажать плюсик наверху
- Импортировать из буфера обмена
- Нажать на инонку как у Телеграма внизу приложения
Windows
- Скачать программу и распаковать ее в любом месте
- Запустить файл nekoray.exe из папки программы
- Скопировать ключ в буфер обмена
- В программе нажать на Сервер, добавить профиль из буфера обмена
- Правой кнопкой на наш профиль в окне и нажать Запустить
- Поставить галочку на режим TUN
Mac OS
iOS (спасибо Слава за ссылку!)
Linux



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


Заходим в docker-compose.yml и добавляем:
— /etc/letsencrypt/live/domain.org/fullchain.pem:/root/cert/fullchain.pem
— /etc/letsencrypt/live/domain.org/privkey.pem:/root/cert/privkey.pem
чтобы всё заработало нужно скопировать 2 ключа из пути выше, в папку /root/3x-ui/cert/ командой:
cp /etc/letsencrypt/live/proxy.domain.ru/fullchain.pem /root/3x-ui/cert/
cp /etc/letsencrypt/live/proxy.domain.ru/privkey.pem /root/3x-ui/cert/
подробности здесь:
https://openode.ru/topic/529-3x-ui-xray-shadowsocks-kak-zamena-wireguard-docker-edition/

Дмитрий, привет, как сам? используешь эту панель? добавь еще ссылку для яблочных, а то у тебя на платную прогу https://apps.apple.com/us/app/foxray/id6448898396

Спасибо за работу!
Дополнительные рекомендации:
- Добавлять комментарии к правилам ufw. Напр:
ufw allow 443 comment 'Allow VLESS proxy connections'
- Был раздел про защиту, первым делом стоит изменить порт ssh.
- Доступ к админке лучше делать на отдельном порту, доступ к которому разрешен только с определенного ip, если нет такой возможности, то можно натравить fail2ban на проваленные попытки авторизации ( в последних версиях добавили fail2ban в docker образ по умолчанию).
- Добавить правило fail2ban на кол-во неудачных попыток авторизации к rpoxy
- Добавить мониторинг сервака. Рекомендую бесплатную netdata https://github.com/netdata/netdata

