Снова о старом. Как обойти блокировки интернет-ресурсов и не страдать.

Предисловие.

Для начала приветствую своих три килоподписчика.

Эта статья не писалась для Пикабу. Если заминусите, то фиг с ней.

После новости о блокировке Telegram, я стал получать моного, МНОГО писем и сообщений с одним вопросом: как жить дальше? Меня это удивило, типа до этого не блокировали. Непонятный ажиотаж. Но видимо Telegram чем-то дорог отечественному человеку.

При этом народ жалуется, что в силу хреновости Интернета, не получается постоянно пользоваться VPN. То ютуб тормозит, то пикабушечка криво открывается.

Поэтому я решил по-быстрому описать, как избирательно перенаправлять трафик в канал VPN, а заодно и получить малость лулзов.

ВАЖНО

В статье даны ссылки на сайты. Эти сайты ни мне, никому-либо другому не приносят прибыли, никто их раскруткой не занимается. Это не реклама! Я secfall.com вообще на полгода забросил.

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

Ну если заминусите, то и хрен с ним. Я на рейтинг не ананирую.

Снова о старом. Как обойти блокировки интернет-ресурсов и не страдать. Блокировка, Telegram, Openvpn, Настройка, Длиннопост

Немного предыстории. Чтобы не пилить всё с нуля (в основном сайт для данной статьи) я скомуниздил наработки проекта zaborona.help. Проект создан с целью помочь гражданам Украины обходить блокировки российских ресурсов. Автор проекта всегда разрешал открыто использовать любые части проекта. Сам проект полностью размещён на github.


Итак. Вы решили сделать такой VPN сервер, через который будете перенаправлять не весь трафик, а только к определённым адресам. И может даже дадите им попользоваться своим друзьям и родственникам. Ведь если вы, например, перенаправите трафик только к серверам мессенджера, то, очевидно, трафик будет весьма не большим и сервер будет простаивать. Почему не поделиться?


Для удобства целесообразно арендовать (или получить бесплатное) доменное имя. Например rknsucks.xyz. Как получить доменное имя и настроить его описано в этой статье. На самом адресе rknsucks.xyz разместим всю необходимую для подключения информацию (да, да, сайт нагло скомунизжен, я писал выше), а для VPN сервера сделаем домен третьего уровня, например ovpn.rknsucks.xyz

Теперь понадобиться VPS. Как выбрать и первично настроить виртуалку, написано здесь и здесь.

Важный момент: поскольку в данной статье описывается создание многопользовательского публичного сервиса, то всем клиентам сервера будет выдаваться отдельный IPv6 адрес. Для этого, после аренды VPS, я попросил у хостера выдать /64 подсеть IPv6. Это не обязательно и будет показано в конфигах ниже. Вообще, белый адрес для каждого, пусть и IPv6, это хорошо!

Дальше включаем лень. Установить и настроить OpenVPN хоть и не сложно, но мне лениво и я воспользуюсь своим же скриптом автонастройки.

Далее в этой статье я буду исходить из того, что сервер настроен по по моим прошлым статьям. Это сэкономит время и уменьшит текст.

В процессе работы скрипта я использовал следующие настройки:

протокол TCP

порт 443

DNS от Google

Тут будут вопли, что tcp и 443 не православно, но я таки буду настаивать. Ибо во многих сетях, офисных и публичных, другие порты и протоколы наружу попросту закрыты.

После проверки, что VPN сервер жив, цел, орёл, начнём его переделывать (как проверить, подробно описано в этой статье). Все конфиги можно найти на github.

Остановим сервер командой:

systemctl stop openvpn@server

И начинаем безбожно править файл /etc/openvpn/server.conf

Не буду вставлять сюда текст конфигов ибо Пикабу их превращает в тыкву. Лучше дам ссылку на github

server.conf

Обратите внимание на строчки:

server 10.8.224.0 255.255.248.0 — это из расчета двух тысяч пользователей сервера. Вам наверняка можно сделать меньше (оставить, как было в конфиге)

server-ipv6 2a04:dd00:9:b::/112 — это выдаётся белый IPv6 каждому клиенту. Мой хостер запросто раздаёт /64 подсети IPv6. Грех не воспользоваться. Если Ваш хостер такого услуги не предоставляет, удалите строчку.

client-config-dir ccd — самое интересное. В этой папке «ccd» будет лежать конфиг, настраивающий избирательную маршрутизацию.


Закрываем /etc/openvpn/server.conf с сохранением.

Создайте папку /etc/openvpn/ccd, а в ней файл DEFAULT с таким содержимым:

DEFAULT

Думаю тут всё интуитивно понятно. Впихиваем клиенту DNS и адреса подсетей, трафик на которые пойдёт через VPN. Обратите внимание, я добавил адрес сайта myip.ru. Это нужно для того, чтобы проконтролировать работоспособность сервера и конфига. Если всё работает, то подключившись к серверу и зайдя на этот сайт вы увидите IP-адрес VPN сервера. На всех остальных сайтах-определителях IP  вы будете видеть тот адрес, который выдавал Вам  Ваш провайдер интернета.

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

Сохраните файл DEFAULT.

Запустим сервер командой:

systemctl start openvpn@server

И проверим командой:

systemctl status openvpn@server

Если есть ошибки, сверяйте конфиги.

Теперь подправим IPtables. Если вы делали по моим статьям или с моим скриптом автоустановки, то у вас есть файл /root/ipt-set

Его тоже нужно подправить:

ipt-set

Здесь всё для Вас знакомо, только убраны правила, разрешавшие соединения между клиентами сервера и добавлены правила для IPv6.

Если IPv6 не нужен, то конфиг будет таким:

ipt-set

Применим его командой:

bash /root/ipt-set

Собственно всё. Сервер для себя и друзей готов. Подключаться, как описано в статье и на сайте rknsucks.xyz

В следующей статье мы прикрутим socks5

Да. И о безопасности. Многие сейчас возопят, что тот, у кого VPS, сможет читать трафик. Да, сможет, но толку? Мы пускаем в зашифрованный канал изначально зашифрованный трафик. Т.е. шифруем зашифрованное. И на выходе с VPS трафик всё также зашифрован. Таким же он выходит из Вашего роутера, если вы не используете VPN.

И ещё раз: сайты secfall.com и rknsucks.xyz не приносят прибыли (ну разве что хостингу, на котором размещены).

rknsucks.xyz создан исключительно для лулзов. Если будет кому-то нужен, буду поддерживать.

3
Автор поста оценил этот комментарий

Один из самый простых вариантов с докером

https://github.com/schors/tgdante2/

9
Автор поста оценил этот комментарий

Эх ещё один канал поставок электронных книг с Флибусты прикроют((( Но тяга к знаниям непреодолима , найдём методы)))

раскрыть ветку
2
Автор поста оценил этот комментарий
Есть настроенный по вашим инструкциям softether vpn. Он больше нравится т.к. к нему можно подключится штатными средствами android. Можнок нему socks5 прикрутить для телеграмма?
раскрыть ветку
1
Автор поста оценил этот комментарий

Я тут писал пост о том, как поднять сокс прокси для телеграм https://pikabu.ru/story/sobstvennyiy_socks_proksi_dlya_teleg... но его слили савушкинские в первые минуты)

раскрыть ветку
1
Автор поста оценил этот комментарий

Куда проще и быстрее на той же vps поднять socks5-прокси c анонимным доступом к ней ;)

раскрыть ветку