Назад

Обходим великий российский фаервол

Добрый день. Есть большая вероятность, что к осени 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, исходя из своей субъективной оценки. Три ссылки реферальные, так вы сможете и отблагодарить меня, без всяких усилий, если статья вам оказалось полезной.

Американский хостер Racknerd (ссылка) предлагает отличные тарифы для VPN, но только при условии аренды акционных серверов (ссылка на акцию). Тарифы без акций — напротив, сильно дорогие. Для РФ есть возможность оплаты через крипту, сейчас не проблема завести кошелек на Huobi или Kucoin.

Железо хорошее, а на некоторых тарифах — вообще отличное. Любой тариф потянет VPN. Небольшой плюс — можно заранее пинговать сервера, выбрать IP адрес и его расположение. Сам хостинг зарекомендовал себя как очень надежный.

Speedtest показывает скорость Download 420 — 760Mbit/s, Upload 750 — 790 Mbit/s и Packet loss: 0 % — что является отличным результатом.

Минимальная сумма для пополнения счета — 10 — 20 $ за 1 год, что конечно очень выгодно.

Хостер Aeza (ссылка) предлагает очень хорошие тарифы с оплатой от 1-го часа и расположением в Европе и СНГ. По железу — все отлично, управлять сервером удобно. Не находятся в юрисдикции РФ и никаких персональных данных не просят. Из минусов — довольно часто меняют цены в сторону увеличения.

Speedtest показывают скорость Download 678 — 735 Mbit/s, Upload 632 — 668 Mbit/s и Packet Loss: 3 % — отличный результат, кроме пожалуй Packet Loss. С ним я столкнулся практически на всех локациях Aeza.

Минимальная стоимость сервера под VPN — в районе 5 Евро, но принимают оплату (без комиссии), в рублях. При регистрации по ссылке, у вас будет Wellcome бонус +15%, к первому пополнению счета, но за первые 24 часа.

Старый, добрый VDSina (ссылка). Был чрезвычайно удобным хостингом для VPN, но с некоторых пор, обзавелся одним минусом — минимальное пополнение счета без комиссии — 2000 рублей.

А теперь о положительных сторонах — не просят персональные данные, аренда сервера от 1-го часа, хорошая и стабильная стоимость сервера под VPN, в двух локациях — Москва и Голландия.

Панель управления — очень простая. При выборе сервера ориентируйтесь на ОС Ubuntu 20-22, эпичные сервера (AMD Epic) и уберите галочку с платных бэкапов. Тогда стоимость простой конфигурации у вас будет в районе 468 рублей.

Speedtest показывает скорость Download 650 — 711Mbit/s, Upload 591 — 615 Mbit/s и Packet loss: 0 % — что является превосходным результатом.

Из всех представленных хостинг, Timeweb (ссылка) — самый стабильный для клиента из РФ и предоставляет какие-то юридические гарантии своей работы. Для VPN можно использовать локацию в Нидерландах, Казахстане или Польше. И по своей стоимости, хостинг предоставляет очень хорошее железо, которое будет тянуть не только VPN.

Speedtest показывает скорость Download 191 — 199Mbit/s, Upload 193 — 197 Mbit/s и Packet loss: 0 % — что является средним результатом.

Стоимость сервера с железом на 2 CPU, 2 Gb RAM и 40 SSD при интернете коннекторе на 200 Mbit — 555 рублей.

Установка 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

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

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

Через X-UI:

x-ui

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

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

/etc/letsencrypt/live/yourdomain.com/fullchain.pem
/etc/letsencrypt/live/yourdomain.com/privkey.pem

Пример:

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

Через Acme:

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

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

~/.acme.sh/acme.sh --set-default-ca --server letsencrypt --issue --standalone \
-d DOMAIN \
--key-file /var/lib/marzban/certs/key.pem \
--fullchain-file /var/lib/marzban/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

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

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

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.

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

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

Atlant
Atlant
http://vpneasy.pro
Пишу только о VPN и современных протоколах защиты и передачи данных. Проект не монетизируется и не направлен на извлечение выгоды. Миссия этого проекта — дать доступ к технологиям защиты собственных данных.
5 2 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
26 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
unReal
unReal
10 месяцев назад

А как можно оптимизировать создание новых юзеров VLESS + Reality? Имеется ввиду через консоль. Не заходя при этом в админ-панель. Что-то я не нашёл инфы

Андрей
Андрей
9 месяцев назад

Дмитрий, подскажите а можно как сделать исключения для определенных сайтов типа Авито, госуслуги и т.д. что бы не отключать VPN для входа на подобные ресурсы?

Последний раз редактировалось 9 месяцев назад Андрей ем
Иван Цой
Иван Цой
Ответить на  Андрей
8 месяцев назад

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

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

А как входить в админку по https?

daim
daim
Ответить на  Atlant
9 месяцев назад

Я прописывал сертификаты в файле docker-compose.yml, но они почему то не поттягиваются,когда завершается сборка пишет что значения не верны.
P.S.Спасибо за обратную связь,у вас хороший блог)

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

Привет, я с cертификатами тоже мучился, в итоге поставил без докера 3X-UI

Иван Цой
Иван Цой
Ответить на  daim
8 месяцев назад

Заходим в 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/

Иван
Иван
Ответить на  Иван Цой
5 месяцев назад

Уже какой раз вижу ссылку на openode, а прочитать там можно только за деньги…

Слава
Слава
9 месяцев назад

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

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

Спасибо за работу!
Дополнительные рекомендации:

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

Подскажите, как обновить 3x-ui в Docker до версии 1.7.9? После обновления настроенные подключения не слетят?

Иван Цой
Иван Цой
Ответить на  Иван Цой
8 месяцев назад

Может кому-то пригодится. Настройки сохраняются
cd 3x-ui
docker compose pull 3x-ui
docker compose up -d

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

Подскажите, а как сделать так чтобы проксировался трафик только к заблокированным сайтам реестра без настройки на клиенте андроид?

Влад
Влад
6 месяцев назад

Подскажите пожалуйста, почему обрыв соединения может быть периодами? Через FoxRay на iPhone подрубать, но часто достаточно вырубает…

Влад
Влад
Ответить на  Atlant
5 месяцев назад

Да просто отрубается VPN) Спасибо, попробую.