Skip to content

Каскадный ВПН на голом ядре X-ray.

Видео объясняет создание каскадного VPN на голом ядре X-ray для обхода блокировок и лимитов трафика.

Key Takeaways

  • Каскадный VPN помогает обходить блокировки и лимиты трафика в мобильных сетях.
  • Схема с двумя серверами разделяет трафик на российский и иностранный для обхода ограничений.
  • Скрипт автоматизирует настройку каскада и обновление геофайлов для маршрутизации.
  • Использование разных транспортов XXTP и TCP возможно и гибко настраивается.
  • Для VPS рекомендуется хостинг Fornex с удобной поддержкой и географией серверов.

What the video covers

  • Автор рассказывает о создании каскадного VPN на сервере с голым ядром X-ray без панелей.
  • Объясняется, для чего нужен каскадный VPN: обход блокировок и ограничений трафика в мобильных сетях.
  • Разбирается схема работы каскада с двумя серверами — входящим (российским) и исходящим (иностранным).
  • Поясняется, почему мобильный оператор не видит весь трафик, а только первый участок соединения.
  • Представлен скрипт для настройки каскада, который автоматически редактирует конфигурацию и скачивает геофайлы.
  • Геофайлы используются для маршрутизации трафика, с периодическим обновлением через созданный скрипт.
  • Рассматривается пример с двумя серверами и разными типами транспорта XXTP и TCP.
  • Рекомендован VPS-хостинг Fornex с широкой географией серверов и русскоязычной поддержкой.
  • Показан процесс создания клиента на исходящем сервере и запуск скрипта на входящем сервере.
  • В конце видео демонстрируется проверка работы каскада и итоговые результаты.

Answers

Questions about this video

Для чего нужен каскадный VPN на голом ядре?

Каскадный VPN нужен для обхода блокировок иностранных серверов и ограничений на трафик в 15 ГБ в мобильных сетях, обеспечивая доступ к заблокированным ресурсам.

Как работает схема каскадного VPN с двумя серверами?

Входящий сервер, обычно российский, направляет трафик на российские IP напрямую, а остальной трафик передаёт на исходящий сервер за рубежом, который выводит его в интернет.

Что делает скрипт настройки каскада, и как он обновляет геофайлы?

Скрипт парсит VLE-ссылку, редактирует конфигурацию, скачивает геофайлы для маршрутизации и создаёт задачу для их автоматического еженедельного обновления.

Full Transcript — Download SRT & Markdown

00:00
Speaker A
Перед тем, как начнём, небольшое объявление. У этого YouTube-канала теперь есть Telegram. Там я буду публиковать анонсы новых видео и заметки по теме канала. Всё, о чём хочется поделиться, но на целый ролик материала не хватает.
00:11
Speaker A
Ну и также будем просто общаться. Вы мне обратную связь, а друг другу помощь в настройке серверов. Ссылка, как всегда, в описании. Подписывайся, буду рад тебя там видеть. Добрый день, дорогие друзья.
00:21
Speaker A
Вы на канале Серверные технологии. И сегодня я покажу, как создать каскадный VPN на сервере с голым ядром, без всяких панелей. У меня уже было видео о каскаде на панелях, и, как выяснилось, многие не понимают, как работает эта технология,
00:34
Speaker A
для чего она нужна. И перед тем, как мы перейдём непосредственно к настройке, давайте разберём эти моменты. Для чего вообще нужен каскад? Во-первых, каскад нужен для обхода блокировок иностранного сервера, потому что при пробросе трафика через российский VPS заблокированный иностранный сервер становится доступен.
00:48
Speaker A
И второе, в нашем случае, даже более важное, каскад нужен для того, чтобы обойти ограничения в 15 ГБ трафика к иностранным серверам на мобильных сетях, которые у нас собирались вести. Не для обхода всплывающих плашек о том, что мы используем VPN в российских приложениях.
01:01
Speaker A
Для этого есть раздельное туннелирование. Про него, кстати, у меня есть отдельное видео, ссылка на него будет в подсказках. А именно для обхода лимита в 15 ГБ. Тут всплывает второе заблуждение. Какая разница, провайдер всё равно видит наш транзитный трафик
01:13
Speaker A
через российский сервер к иностранному серверу. Комментаторы, которые это пишут, видимо, представляют себе, что есть какой-то один большой провайдер, который раздаёт всем интернет и следит за каждым соединением, чтобы, не дай бог, никто не проскочил. В реальности же у нас куча провайдеров, каждый из
01:27
Speaker A
которых отвечает только за свой участок сети. Если объяснять совсем упрощённо, то вот у нас есть схема каскада. За участок А отвечает мобильный оператор.
01:35
Speaker A
Он видит подключение до вашего входящего сервера. А в дата-центре уже другой провайдер интернета. За соединение между вашим входящим и исходящим сервером отвечает уже он. Мобильный оператор видит только первый участок соединений и не видит последующий. Чисто теоретически, конечно, возможно, что
01:51
Speaker A
операторы будут сопоставлять трафик от вас до входящего сервера и от входящего сервера до исходящего. Но это технически очень сложно сделать и уже больше похоже на маразм. Так что можете не беспокоиться, что ваш оператор вас догонит и добавит счёт за услуги
02:04
Speaker A
международного соединения. Итак, перейдём к настройке каскада на ядре. Я написал небольшой скрипт, который редактирует файл конфигурации входящего сервера, добавляет туда нужные настройки для создания каскада. Мой скрипт установки голого ядра работает с транспортами XXTP и TCP, поэтому скрипт для настройки каскада поддержит эти два
02:22
Speaker A
транспорта. И давайте рассмотрим сам скрипт. Вот он опубликован у меня в GitHub. Нажимаем на файл под названием каскад. Ну и вот вы можете увидеть код моего скрипта. Давайте пробежимся по нему. Здесь происходит парсинг VLE ссылок. Та ссылка, которую вы
02:35
Speaker A
используете для подключения, вы закидываете её в этот скрипт. Она развивает его на параметры, которые нам необходимо будет добавить в файл конфигурации. Дальше он скачивает геофайлы, которые мы будем использовать для маршрутизации. По умолчанию при установке скрипта устанавливаются файлы китайские. Мы их будем принудительно
02:52
Speaker A
заменять. То есть мы удалим файлы, которые уже были скачаны, и скачаем новые файлы. Использовать мы будем геофайлы из репозитория Runet Freedom.
03:00
Speaker A
Дальше у нас создаётся резервная копия файла конфигурации на всякий случай, чтобы можно было восстановить его. И вот этот блок у нас добавляет маршрутизацию.
03:08
Speaker A
То есть российские домены и IP-адреса будут идти напрямую с входящего сервера, который находится в России, а весь остальной трафик будет идти дальше до иностранного сервера, после чего у нас будет создан скрипт обновления геофайлов. То есть геофайлы, они периодически устаревают, их надо
03:24
Speaker A
периодически обновлять. И чтобы не делать это вручную, мы создадим исполняемый файл, который будет автоматически раз в неделю скачивать геофайлы заново. Как с ним работать, я покажу чуть дальше. Вот. И здесь у нас добавляется такой параметр, как out, то
03:36
Speaker A
есть исходящее подключение. Возможен добавление аутбондов для транспорта XXTP и для транспорта TCP. Скрипт сам по ссылке определяет тип транспорта и сам подбирает нужные параметры. Также давайте вспомним схему работы каскада. У нас есть входящий сервер, в нашем случае это сервер России. Трафик на российские
03:53
Speaker A
IP-адреса и российские домены идёт с него напрямую, а трафик на иностранный сервер идёт дальше на исходящий сервер и оттуда уже идёт во внешний интернет.
04:01
Speaker A
Именно такая схема работы каскада реализована в моём скрипте. Также сюда между входящим и исходящим сервером можно добавить сколько угодно других серверов промежуточных, но в большинстве случаев двух серверов вполне достаточно.
04:13
Speaker A
Сразу оговорюсь, что по вполне, я думаю, очевидным причинам я не буду использовать российские IP-адреса в этом ролике. Я буду использовать два иностранных сервера для того, чтобы показать, как работает каскад. У вас, соответственно, входящий сервер будет российский, скорее всего, а исходящий
04:28
Speaker A
сервер будет находиться в любой другой стране. Для создания собственного VPN-сервера нам понадобится VPS. И в качестве хостинга VPS я рекомендую компанию Fornex. У них обширная география серверов. Есть серверы как в Европе, так и в Америке. Сам хостинг зарегистрирован в Евросоюзе и при этом
04:43
Speaker A
имеет русскоязычную техподдержку и принимает российские банковские карты. Ссылка на Fornex будет в описании. Итак, вот я уже здесь создал VPN-сервера, которые работают на голом ядре. На входящем сервере, который я подписал Enter с IP-адресом, заканчивающимся на 224, у меня тип транспорта TCP, на
05:00
Speaker A
исходящем сервере, IP-адрес которого заканчивается на 43, у меня тип транспорта XXTP. Я использую такие типы транспорта только для примера. Каскад будет работать в любой конфигурации. То есть, если вы хотите использовать, например, два сервера с транспортом XXTP, либо два сервера с транспортом
05:17
Speaker A
TCP, всё это будет работать. Можете комбинировать подключение, как хотите. Скрипт запускается на входящем сервере.
05:23
Speaker A
От исходящего сервера нам нужен только клиент для подключения. Всё, мы находимся на входящем сервере. Давайте очистим терминал командой clear. Также на исходящем сервере тоже всё очистим.
05:35
Speaker A
Итак, для начала нам нужна ссылка для подключения. Мы идём на исходящий сервер, и здесь мы создаём клиента для нашего подключения. Напоминаю, что для того, чтобы создать клиента нового, мы вводим команду new user. Сюда вводим имя клиента. Я назову его exit exhtp. Всё,
05:52
Speaker A
enter. И вот мы получили ссылку для подключения. Дальше на входящем сервере мы будем запускать скрипт. Для того чтобы запустить скрипт, мы заходим на GitHub, мотаем немножко вниз, и вот здесь у нас есть пункт использования скрипта. Берём вот эту вот команду,
06:05
Speaker A
копируем её, возвращаемся в терминал и вставляем её в терминал. Для того чтобы что-то вставить в терминале Termius, напоминаю, что нужно использовать команду Ctrl Shift V. Всё, жмём Enter.
06:14
Speaker A
Теперь скрипт запрашивает VLE ссылку. То есть VLE ссылка — это ссылка для подключения с исходящего сервера.
06:20
Speaker A
Копируем её. Чтобы что-то копировать в терминале Termius, напоминаю, мы используем сочетание клавиш Ctrl Shift C и вставляем Ctrl Shift V. Дальше жмём Enter.
06:31
Speaker A
Всё, каскад готов, настройки произведены. Давайте убедимся в этом. Напоминаю, что скрипт установки ядра создаёт файл подсказок. Посмотрим его.
06:39
Speaker A
Во-первых, командой list, какие у нас есть файлы в папке с файлом конфигурации. И вот мы видим, что у нас помимо основного файла конфигурации config.json есть ещё файл config.backup.
06:50
Speaker A
Давайте посмотрим сам файл config.json. Открываем его. И вот что мы видим. Вот наши правила, которые мы добавили. Это правило маршрутизации.
07:02
Speaker A
Это наши клиенты. Идём вниз. И вот мы видим, здесь есть у нас раздел outbonds.
07:07
Speaker A
И вот как раз у нас здесь...
07:22
Speaker A
нужно создать задачу в Chrome, который будет запускать скрипт обновления геофайлов. Как это сделать? Вводим вот эту команду Chrome tabe.
07:33
Speaker A
Здесь нам нужно будет выбрать текстовый редактор для редактирования файла конфигурации Крона. Самый простой и самый лёгкий в использовании - это под номером один nна. Вы можете использовать любой другой. Я выберу его. Нажимаю единичку, жму enter. И вот у нас
07:46
Speaker A
открывается файл конфигурации Кро. Просто перемещаем ползунок вниз и добавляем туда вот эту строчку. И вставить. Вообще, что такое Chron? Кто не в курсе, это встроенный в Linux планировщик задач, который автоматически выполняет команды либо скрипты по заданному расписанию. То есть вот здесь
08:01
Speaker A
мы задали время выполнения скрипта и, собственно, путь до нашего исполняемого файла, который будет обновлять геофайлы.
08:09
Speaker A
Время выполнения задач в Chкron записывается вот таким вот шифром. То есть в данном случае это значит, что геофайлы будут обновляться каждый понедельник в 3:00 ночи. Время здесь берётся по времени сервера.
08:21
Speaker A
Соответственно, вы можете перед тем, как устанавливать время, проверить, какой у вас часовой поязд на сервере, и поменять тайминг при необходимости. Но по умолчанию каждый понедельник в 3:00 ночи у вас геофайлы будут обновляться. Всё.
08:32
Speaker A
Для того, чтобы выйти и сохранить, нажимаем Ctrl X, Y, Enter. Всё, задача Кробавлена. Давайте очистим терминал и давайте проверим наше соединение, как будет работать наш каскад. Создадим ссылку для подключения. Для этого я использую команду New user. Как-нибудь этого юзера называю. И вот я получаю
08:48
Speaker A
ссылку для подключения. Открываем клиент, добавляем клиент ссылку для подключения. Жмём установить системный прокси. И теперь давайте проверим, как работает наше подключение. Открываем любой сайт для проверки IP-адреса. И вот на иностранном сайте, домен которого заканчивается на.com, мы видим IP-адрес
09:05
Speaker A
исходящего сервера. То есть, напоминаю, у меня исходящий сервер, IP-адрес заканчивается на 43. IP-адрес входящего сервера заканчивается на 224. Соответственно, если мы попытаемся зайти на какой-то российский сайт который например заканчивается нару, мы должны увидеть IP-адрес входящего сервера. И вот мы открываем
09:23
Speaker A
два ipuруu, и мы видим IP-адрес входящего сервера, который заканчивается на 224. Это значит, что всё у нас прекрасно работает. Итак, в сегодняшнем ролике мы с вами рассмотрели создание каскадного VPN на голом ядре. Если вам понравилось это видео, ставьте лайки,
09:36
Speaker A
делитесь этим видео с друзьями. А на этом у меня всё и до встречи в следующих видео. Yeah.
Topics:каскадный VPNголое ядроX-rayобход блокировокограничения трафикаVPSForenxмаршрутизация трафикаскрипт настройки VPNXXTP

Get More with the SozAI App

Transcribe recordings, audio files, and YouTube videos — with AI summaries, speaker detection, and unlimited transcriptions.

Or transcribe another YouTube video here →