Перенесу, пожалуй, свою статью из telegra.ph по покупке VPS и настройке VPN x-ray под управлением OpenWRT. Статья рассчитана на начинающих пользователей и поэтому просьба не ругаться на упрощение некоторых формулировок.

00. Введение

Итак, вы владелец крупного международного бизнеса и не секрет, что в наше время злые хакеры хотят украсть ваши деньги через интернет. Чтобы обезопасить бухгалтерию из эксель файла бабы Кати надо воспользоваться шифрованным каналом связи VPN (Virtual Private Network). Самый продвинутый и защищенный на сегодняшний день это X-Ray. Его и будем настраивать.

Не будем рассматривать развертывание сервера, поскольку многие хостинги уже предлагают готовые и настроенные, что экономит время. Я пользуюсь https://friendhosting.net/ вы можете выбрать любой другой, например на https://hosters.ru/ Главное помнить:

  • Сервера не должны располагаться в России, Украине и странах Прибалтики.
  • Хозяева хостинга не должны быть зарегистрированы в России.
  • Должна быть возможность оплатить хостинг криптовалютой.

Некоторые путают место расположения серверов и место регистрации хостинга, что может привести к проблемам. Сервера хостинга могут находиться в Нидерландах, Швейцарии или Великобртании, но если хостинговая компания зарегистрирована в РФ, приватность вашей информации не гарантирована. Например, широко распространенные хостинги beget и timeweb зарегистрированы в Санкт-Петербурге.

01. Покупаем VPS (Virtual Private Server) с уже развернутым сервером X-ray

01.1 Заходим на сайт https://friendhosting.net/ жамкаем кнопку Register и заполняем нужные поля. Из реальных данных достаточно указать только электронную почту, имя пользователя и пароль. Почтовый адрес можно указать любой, хоть ул. Пушкина, дом Кукушкина.

01.2 Подтверждаем регистрацию через почту и логинимся на сайт с помощью кнопки login, куда и вводим наши логин (имя пользователя) и пароль.

01.3 Попадаем на страничку заказа, где выбираем Progressive SSD VDS, Тарифный план Micro+

Заказываем хостинг
Заказываем хостинг

Жамкаем кнопку "Дальше" и настраиваем наш заказ.

Настраиваем заказанный сервер
Настраиваем заказанный сервер

Оплату мне пришлось выбрать минимум за 3 месяца потому, что меньше 10 USDT или аналогичной суммы в BTC моя биржа не переводит. Так же, не обязательно даже указывать хостовую ОС, как сделал я указав в качестве нее Ubuntu 24.04. Достаточно выбрать X-ray VPN via 3x-ui

01.4 Переходим к оплате, выбираем крипту, немножко ждём и ваш сервер готов! На почту указанную при регистрации придет письмо с подробной инструкцией на русском языке по настройке соединений и подключению клиентов. Дублировать инструкцию здесь лишено смысла.

01.5 Если вы всё правильно сделали, то у вас уже есть скорпированная информация для подключения к вашему серверу, которая нам скоро понадобится.

02. Устанавливаем OpenWRT

Наверняка вы прошивали ваш асик или слышали об этом. OpenWRT это такая же прошивка для роутеров, как и прошивки для асиков. Её преимущество в том, что это полноценная *nix - система и в нее легко устанавливать новые пакеты, которые дают новые возможности. Так, например, пока ещё ни один из известных мне роутеров не поддерживает без кривых костылей подключение к X-Ray. А в OpenWRT такая возможность есть и сейчас мы её реализуем с помощью VPN-клиента V2raya https://v2raya.org/en/docs/prologue/installation/openwrt/

Сперва, конечно, понадобится девайс под управлением OpenWRT.

Вариантов несколько:

  • Купить на WB, OZON или Avito роутер Xiaomi AX3000T, уже прошитый. Само-собой, втридорога, в районе 7-12 т.р. в зависимости от жадности продавца.
  • Купить роутер с уже установленной OpenWRT в качестве заводской прошивки: https://routerich.ru/ и поддержать, таким образом, компанию - отечественного разработчика. Подешевле, есть гарантия и сапорт. Однако, имейте ввиду, что у них какая-то своя кастомная версия OpenWRT. Проверить встанет ли на нее v2raya мне не довелось.
  • Купить еще одну сетевую карту и поднять OpenWRT на виртуалке. Но, поскольку нам нужен отдельный девайс, этот вариант не рассматриваем в рамках статьи и, возможно, рассмотрим в следующей.
  • Достать с антресолей дедушкин системник, установить в него ещё одну сетевую карту, записать (с помощью программы Rufus или ей подобной) на флешку загрузочный образ OpenWRT с офсайта разработчиков https://downloads.openwrt.org/releases/23.05.5/targets/x86/64/ и загрузиться с него. Бесценно. Этот вариант хорош тем, что даже 20-летний x86 системник по производительности уделывает любой современный роутер, не говоря уж о количестве памяти и дисковом пространстве. Можно, кстати, установить OpenWRTи напрямую на жесткий диск, если выбрать нужный дистрибутив, но нам она нужна на любой старой флешке объемом от 1 гигабайта и выше.

Более подробно о вышеописанных вариантах установки OpenWRT напишу в следующих статьях.

03. Подключаем ваш OpenWRT девайс к сети

Предполагается, что ваше устройство, будь то системник с флешкой или роутер, включено, мигает огоньками, жужжит кулером и подает признаки жизни. В одну сетевую карту (или порт WAN, если у вас роутер) воткнут кабель от провайдера или вышестояшего роутера, т.н "аплинк" - кабель по которому "приходит" интернет. В другую сетевую карту (или порт LAN, если у вас роутер) подключены вы с компьютера или ноутбука. Иначе встроенный firewall OpenWRT не пустит вас по SSH. И это правильно. В свое время злые хакеры заражали асики вирусами именно так - через открытый всем ветрам SSH-порт.

04. Высняем адрес вашего устройства с OpenWRT

Если вы еще не знаете адрес вашего устройства, то нажимаем Win + R, пишем cmd, жамкаем Enter и в открывшемся окне выполняем команду ipconfig

Адрес OpenWRT устройства
Адрес OpenWRT устройства

Подчеркнутое красным и есть адрес вашего девайса, будь то системник или роутер.

05.Заходим на ваш OpenWRT девайс по SSH

Для подключения можно использовать Powershell, который уже есть в винде, но он выглядит отстойно. Поэтому качаем Putty https://www.putty.org/ открываем и в поле "Host Name (or IP address)" вбиваем root@<адрес вашего устройства c OpenWRT> У меня это выглядит так:

Подключаемся по SSH через Putty
Подключаемся по SSH через Putty

Жамкаем Open и видим как открывается консоль.

Терминальный доступ, еее
Терминальный доступ, еее

Если это первый вход, то рекомендуется немедленно сменить пароль. Набираете passwd жамкаете Enter и вводите новый пароль и подтверждение. Пароль в любом случае понадобится для дальнейшего доступа к веб-интерфейсу OpenWRT.

06. Устанавливаем v2raya

Последовательно набираем в консоли команды и после каждой жамкаем Enter:

Маленький лайфхак: Команды не обязательно набирать руками, достаточно выделять по одной, копировать Ctrl + C , переключиться на окно терминала и нажать правую кнопку мышки - команда скопируется в терминал.

opkg update

opkg install v2raya

opkg install luci-app-v2raya

Все, клиент для вашего X-Ray сервера установлен! Теперь делаем его "автозагрузку"

uci set v2raya.config.enabled='1'

uci commit v2raya/etc/init.d/

v2raya enable

И запускаем

/etc/init.d/v2raya start

Вы восхитительны.

Клиент установлен, осталось зайти на него и настроить.

07. Устанавливаем "админку"

Если у вас OpenWRT на роутере, то графическая панель управления (или попросту админка) LuCi скорее всего уже установлена и доступ к настройкам v2raya можно получить через меню: Services -> V2raya. Тогда сразу переходите к пункту 08.

Если у вас OpenWRT на старом ПК и запущен с флешки, то LuCi админку придется сначала установить командами:

opkg update

opkg install luci

opkg update

opkg install luci-ssl

/etc/init.d/uhttpd restart

uci set uhttpd.main.redirect_https=1

uci commit uhttpd

service uhttpd reload

08. Настраиваем v2raya

Открываем браузер, вбиваем в адресную строку адрес вашего устройста с OpenWRT, заходим на админку и видим примерно следующее:

Админка OpenWRT
Админка OpenWRT

Идем в Services -> V2raya.

Сервис V2raya
Сервис V2raya

Жамкаем Open Web Interface, придумываем имя пользователя и пароль, которые админка v2raya попросит создать при первом входе, и попадаем в панель уравления соединениями, т.н. нодами. У меня уже висит настроенное подключение к серверу, у вас будет пусто.

Настройки v2raya
Настройки v2raya

Жамкаем кнопочку Import и вставляем строку, которую вы получили при настройке вашего сервера в пункте 01.5. Видим как ваша нода поднялась, чувствуем себя бодро. Идем в Setting (шестеренка в верхнем правом углу) и в выпадающем меню TransparentProxy/SystemProxy выбираем On: Do not Split Traffic

Включаем прокси
Включаем прокси

Все готово! Теперь ваше OpenWRT устройство будет создавать шифрованный канал данных с вашим сервером в Швейцарии, Японии или где-то еще и выпускать по этому каналу все что будет висеть на LAN интерфейсе. Можно подключить к нему коммутатор, а к коммутатору уже ПК, "машинки" и прочие девайсы.

P.S. Шифрование ДНС запросов

Совершенно не лишним будет установить DoH - то есть шифрование DNS запросов. https://openwrt.org/docs/guide-user/services/dns/doh_dnsmasq_https-dns-proxyВ наше время злые хакеры хотят украсть не только ваши данные, но и информацию о сайтах, которые вы посещаете. А нам это соврешенно не надо, ведь иначе VPN теряет всякий смысл.

Вы уже опытный гуру SSH - консоли Putty поэтому открываете её и пишите в терминале:

opkg update

opkg install https-dns-proxy

opkg update

opkg install luci-app-https-dns-proxyservice

rpcd restart

Не забывая после каждой строки жамкать Enter. Теперь точно всё.

P.P.S Готовые решения от AmneziaVPN и т.п.

На мой взгляд, не всегда безопасны. Почитайте комментарии к этой статье https://habr.com/ru/companies/amnezia/articles/832610/ Фактически, вы покупаете сервер и даете к нему полный доступ чужим и непонятным людям. Там могут разместить материалы, которые противозаконны не только в РФ, но и по всему миру. Это вряд ли можно назвать информационной безопасностью.