ITDog
13.4K subscribers
11 photos
2 videos
8 files
105 links
Download Telegram
Как сделать роутинг для определённых доменов на OpenWrt 22.03?

Суть работы описывал тут.
Я надеялся, что dnsmasq 2.87 портируют под openwrt 22. Но его портировали только под текущую dev версию, а для 22.03 портировать не стали. Это значит, что ждать его в 22.03 версии не стоит.
Но это openwrt, и мы можем делать то, что захочется. Можно взять этот пакет из dev версии, поставить и попробовать использовать. Сразу предупреждаю, что у вас могут всплыть какие-то проблемы. Я протестировал этот метод только в плане добавления ip адресов в sets, насчёт общей стабильности ничего сказать не могу.

Скачиваем пакет из https://downloads.openwrt.org/releases/23.05.0/packages/

Тут надо опять же знать архитектуру вашего роутера, узнаётся очень просто
root@OpenWrt:~# opkg print-architecture
arch all 1
arch noarch 1
arch mipsel_24kc 10
Это вывод с моего Xiaomi 3g. Идём в каталог mipsel_24kc. Оттуда переходим в base

Нужно два пакета:
- Сам dnsmasq-full
- Его зависимость, которой нет в 22.03, libubox20220927

Нужно устанавливать версию dnsmasq-full не выше 2.89-4. Следующие версии не совместимы с OpenWrt 22.03.

Копируем ссылку, переходим в /tmp и скачиваем. Это лишь пример комманд, у вас будут другие ссылки:
cd /tmp
wget https://downloads.openwrt.org/snapshots/packages/mipsel_24kc/base/dnsmasq-full_2.89-1_mipsel_24kc.ipk
wgethttps://downloads.openwrt.org/snapshots/packages/mipsel_24kc/base/libubox20220927_2022-09-27-ea560134-1_mipsel_24kc.ipk
wget https://downloads.openwrt.org/snapshots/packages/mipsel_24kc/base/libubus20220615_2022-06-15-9913aa61-1_mipsel_24kc.ipk

Теперь поставим зависимости, которые есть в репозитории
opkg update
opkg install libc libnettle8 libnetfilter-conntrack3 nftables-json

Удаляем стандартный dnsmasq и ставим скачанные пакеты
opkg remove dnsmasq
opkg install libubox20220927_2022-09-27-ea560134-1_x86_64.ipk
opkg install dnsmasq-full_2.88-1_x86_64.ipk

Если резолвинг сломался, следуйте инструкции из поста для 21 версии.

Добавляем ещё один ipset и правило в /etc/config/firewall
config ipset
option name 'vpn_domains'
option match 'dst_net'

config rule
option name 'mark_domains'
option src 'lan'
option dest '*'
option proto 'all'
option ipset 'vpn_domains'
option set_mark '0x1'
option target 'MARK'
option family 'ipv4'

После этого нужен рестарт
/etc/init.d/firewall restart

Добавляем необходимые домены в /etc/config/dhcp

Синтаксис, как для 21ой версии не работает, но новый (кстати, в 21ой тоже работет) мне кажется, даже более удобным и структурированным. Добавляется отдельным блоком
config ipset
list name 'vpn_domains'
list domain 'graylog.org'
list domain 'terraform.io'
list domain 'openai.com'

После добавления записей нужно рестартовать dnsmasq
/etc/init.d/dnsmasq restart

Зафорсим запрос на роутер для проверки
dig graylog.org @192.168.1.1

И проверим, что ip добавились в sets
nft list ruleset | grep -A 5 vpn_domains

Будут отображаться в elements
    elements = { 188.114.99.224, 188.114.98.224,
76.76.21.21 }

Если возникнут проблемы и надо сделать "как было раньше", то удаляйте скачанный dnsmasq-full и устанавливайте стабильный из репозитория
opkg remove dnsmasq-full
opkg install dnsmasq
Насчёт OpenWrt 22.03 и её проблем. Переход на nftables многое сломал, и некоторые фичи не работают до сих пор. Я, сидя на 21ой версии, читал отзывы о 22ой, думал "зачем вы там обновляетесь вообще? Она же сырая".
Люди, конечно, в большинстве своём не обновлялись, а просто ставили 22.03, потому что 21ой версии под их новые роутеры не было.

Я это всё к чему, 21.02 - отличная прошивка. Если она вас устраивает, и задумываетесь: "а может обновиться до 22 прост?", советую не обновляться. Тем более, обновления для неё выходят до сих пор. Последняя минорная версия была в октябре 2022.

Кстати, 19ая обновлялась до апреля 2022. Респект разработчикам OpenWrt. Редкий производитель роутеров может похвастаться трёхлетней поддержкой прошивок.
Выкатил обновление с поддержкой списка доменов
- Добавил поддержку списка доменов от https://community.antifilter.download/. Убедился, что dnsmasq из dev работает корректно и можно публиковать этот метод. Это резолвинг с вашего роутера, о котором писал ранее
- В скрипте сделал логику преобразования списка доменов в конфиг dnsmasq (позже расскажу об этом подробнее)
- В Ansible playbook сделал выбор списков. Если вы хотите использовать только домены, то ставьте list_domains: true, а остальное в false. Более того, если сначала вы раскатали с true (или конфигурация для списков у вас была ранее), то поставив false, ansible удалит всё связанное с этим списком
- Также в скрипте переписал проверку загрузки списков. Изначально не хотел усложнять этим скрипт, но столкнулся с этим сам и понял, что нужно сделать
- Оптимизировал рестарт служб при прогоне плейбука. Если накатываете плейбук повторно, будут рестартится только необходимые службы, которых касаются изменения
- Ещё кучка мелких правок

Обновлена основная статья
https://itdog.info/tochechnaya-marshrutizaciya-na-routere-s-openwrt-wireguard-i-dnscrypt/
https://habr.com/ru/post/440030/

И репозиторий на Github
https://github.com/itdoginfo/domain-routing-openwrt
dnsmasq-full_2.89-1_mipsel_24kc.ipk
182.6 KB
Мне написали, что в https://downloads.openwrt.org/snapshots/packages/mips_24kc/base/ отсутствует пакет dnsmasq-full. Видимо, у openwrt где-то сломался CI для этой архитектуры. Для остальных он присутствует. Думаю, они починят в ближайшее время. А пока как времянку прикладываю пакет, который недавно выкачивал для своего Xiaomi mi3g.
Как я запилил работу со списком доменов. Конфигурация Dnsmasq и конвертация

Есть список доменов, которые надо преобразовать в конфиг dnsmasq, чтоб когда был запрос на получение ip адреса, dnsmasq добавлял эти ip в sets.
Но давайте сначала про конфиги dnsmasq в openwrt. Как они вообще сделаны?
Есть основной конфиг /etc/config/dhcp. Как и все конфиги в /etc/config это UCI like формат openwrt. Что касается именно dhcp конфига и dnsmasq, при старте службы запускается специальный конвертор, который берёт файл /etc/config/dhcp, преобразует его в формат конфигурации dnsmasq и кладёт его в /var/etc/dnsmasq.conf.cfg$N и dnsmasq работает уже с конфигурацией из этого файла.

В данном контексте нас интересует, как конвертируется блок ipset.
Из
config ipset
list name 'vpn_domains'
list domain 'graylog.org'

Получается
nftset=/graylog.org/4#inet#fw4#vpn_domains


Я столкнулся с тем, что у dnsmasq (по крайней мере на openwrt) на количество доменов в директиве nftset/ipset есть ограничения, где-то в районе 70. Если сделайте большой список в /etc/config/dhcp, при рестарте dnsmasq получите ошибку:
Thu Mar 16 19:50:05 2023 daemon.crit dnsmasq[1]: bad option at line 43 of /var/etc/dnsmasq.conf.cfg01411c
Thu Mar 16 19:50:05 2023 daemon.crit dnsmasq[1]: FAILED to start up


Имея в виду это и что редактировать скриптом на постоянке /etc/config/dhcp не очень хорошая идея, лучше использовать директорию, куда можно положить отдельным файлом конфиг. В openwrt для dnsmasq такая существует - /tmp/dnsmasq.d/.
Тут момент в том, что это уже не конфигурация формата UCI, а формат dnsmasq.

Осталось понять, как лучше конвертировать. Из-за существующих ограничений на количество доменов в nftset/ipset, в одну строчку все домены с antifilter не уместить. Разбивать по 50 штук - усложнение скрипта и непонятно имеет ли это вообще смысл в плане быстродействия.

Конвертацию я сделал с помощью sed, который есть в openwrt из коробки. К каждой строке в файле подставляется приставка и окончание. Выглядит так:
sed "s/.*/nftset=\/&\/4#inet#fw4#vpn_domains/" $dir/domains.lst > /tmp/dnsmasq.d/domains


Для 21 версии то же самое, только с ipset:
sed "s/.*/ipset=\/&\/vpn_domains/" $dir/domains.lst > /tmp/dnsmasq.d/domains


Теперь при запуске скрипта получаем:
root@OpenWrt:~# cat /tmp/dnsmasq.d/domains 
nftset=/graylog.org/4#inet#fw4#vpn_domains
nftset=/terraform.io/4#inet#fw4#vpn_domains
nftset=/openai.com/4#inet#fw4#vpn_domains

Ещё меня интересовала производительность. Я сделал тест при следующих условиях:
- nftsets включены для всего списка доменов из community
- Роутер настроен на отдельный DNS сервер в локальной сети, на котором переопределена A запись для тестового домена. Это нужно, чтобы не было погрешности измерений, когда роутер будет работать с внешними DNS серверами
- Кэш Dnsmasq отчищал после первого замера

Когда домен был включён в nftsets, время отдачи составляло 115-150 msec. Когда исключён из конфига - 4-8 msec.
Прирост, в сравнении, огромный, но такая прибавка только для доменов из списка. У меня в среднем обычный DNS запрос занимает 250 msec и уже на фоне этого такой результат очень даже неплохой.

Ну и самое приятное. В этот же set можно добавить домены, которых не хватает лично вам. В /etc/config/dhcp добавляем
config ipset
list name 'vpn_domains'
list domain 'graylog.org'
list domain 'terraform.io'


Как и при любом редактировании dhcp, нужен рестарт dnsmasq.
Всё, теперь ip этих доменов тоже будут складываться set vpn_domains, и трафик к ним будет направляться через туннель.
Блокировка рекламы на роутере с помощью Dnsmasq

Идея блокировки рекламы на роутере не нова. Для openwrt существуют специальные пакеты. Один более сложный в настройке, второй попроще. Оба базируются на блокировке доменов по спискам. Да-да, такой личный роскомнадзор, только в ваших интересах.
Я расскажу про ещё один способ. Он проще для понимания, установка дополнительных пакетов не требуется, т.к. используется dnsmasq.

Как это работает?
Возьмём самый простой пример. Есть баннер на веб-странице, его URL https://ads.domain/banner. Чтобы получить этот баннер, браузеру нужно зарезолвить домен и сходить по полученному IP адресу к рекламному серверу.
Мы просим dnsmasq: если наш браузер придёт к тебе с запросом адреса ads.domain, отдавай ему пустоту.
И когда мы открываем страницу с рекламным баннером: dnsmasq не отдаёт IP -> браузер не может зарезолвить домен -> баннер мы не видим.

Список oisd.nl
Существует много списков с доменами, один из самых больших и популярных это https://oisd.nl/downloads
Это огромный список, состоящий из множества разнообразных списков. На этой странице можно ознакомиться со всем составом.

Скачать этот список можно в разных форматах для разных программ, в том числе для dnsmasq.
Для dnsmasq есть два формата:
- Для версий до 2.86 - https://big.oisd.nl/dnsmasq
- Начиная с 2.86 - https://big.oisd.nl/dnsmasq2

С 2.86 внедрён параметр local, он увеличивает производительность, подробности можно изучить в changelog
Таким образом, конфиг до 2.86 выглядит так
server=/ads.domain/

Начиная с 2.86 так
local=/ads.domain/

Включаем блокировку вручную
Складывать конфиг будем в директорию /tmp/dnsmasq.d/, в неё можно складывать конфиги и dnsmasq будет их подхватывать.
Конфиг с сайта уже готовый и его можно сразу применять
cd /tmp/dnsmasq.d/
wget https://big.oisd.nl/dnsmasq2
/etc/init.d/dnsmasq restart

Проверим, что работает. Берём первый домен из списка
head -n 10 dnsmasq2

копируем и пробуем зарезолвить, отправляя запрос к DNS серверу роутера

dig ad.domain @192.168.1.1
Должно выдать отсутствие IP. Для сравнения можно запросить то же самое с какого-нибудь публичного DNS сервера.

Автоматизация
База c доменами обновляется раз в сутки. Всё что нужно - это обновлять список раз в день и рестартить dnsmasq.
Есть такой репозиторий https://github.com/lynxthecat/adblock-lean
Это служба с описанным выше + всякие проверки, start, stop.
Устанавливаем и запускаем
wget https://raw.githubusercontent.com/lynxthecat/adblock-lean/main/adblock-lean -O /etc/init.d/adblock-lean
chmod +x /etc/init.d/adblock-lean
service adblock-lean enable
service adblock-lean start

Добавляем в cron (в README проекта ещё добавлена команда enable, но я не вижу в этом смысла)
0 5 * * * export RANDOM_DELAY="1" && /etc/init.d/adblock-lean start

Stop службы удаляет файл и рестартит dnsmasq, т.е. выключает блокировку рекламы.
service adblock-oisd stop

Эта служба сделана для 22.03, на 21.02 версии с полпинка у меня не завелось. Нужно править скрипт или написать свой, не забудьте про разные ссылки, т.к. в 21ой версия dnsmasq 2.85.

Насколько полезно
Начнём с памяти, у меня на openwrt 22.03.3 эти списки в dnsmasq занимают 10МБ оперативной памяти. Это хороший результат, если сравнивать с требованиями adblock, в доке, которого указано, что роутер должен иметь минимум 128МБ RAM.

Про эффективность блокировки. Тут надо понимать, что реклама - это огромный рынок, которым кормятся корпорации и много компаний поменьше. И они делают так, чтобы подмена DNS не заглушала их рекламу. Ну и домены для рекламы бывает обновляются и в списки попадают не сразу.

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

Решение больше для смартфонов, планшетов, телевизоров итд. Полностью блокировки всей рекламы не ждите, но результат будет заметен.
Пример работы: два скрина с одним и тем же приложением на Android. Слева я открыл приложение через мобильный интернет, и баннер предлагает послушать Король и Шут. Справа приложение загружается через роутер с настроенным dnsmasq и баннер не зарезолвился.
Навигация

VPS:
#vps
Основная статья по роутингу на Openwrt. Видео на youtube устаревшее, много поменялось, но суть передаёт
Github репозиторий с playbook для ansible. Если пользуетесь ansible или хотите начать. Используется вместо ручной настройки
Статья по поиску ошибок. Если что-то не заработало, вам сюда
Какой роутер с поддержкой OpenWrt купить в 2023 году
Как сделать роутинг по домену для 21.02. Сейчас это включено в основную статью
Как сделать роутинг по домену для 22.03
Использование OpenVPN заместо Wireguard на OpenWrt
Использование Shadowsocks заместо Wireguard на OpenWrt
Как организован резолвинг доменов с community.antifilter.download
Блокировка рекламы на роутере с помощью Dnsmasq

Чат для обсуждений
ITDog pinned «Навигация VPS: #vps Основная статья по роутингу на Openwrt. Видео на youtube устаревшее, много поменялось, но суть передаёт Github репозиторий с playbook для ansible. Если пользуетесь ansible или хотите начать. Используется вместо ручной настройки Статья…»
Обновления 02.04.2023

- Hotsezus добавил в скрипт start, reload, restart. Признаюсь, я пользуюсь LuCi редко, в основном для того, чтобы узнать как та или иная запись выглядит в конфигах. Из-за отсутствия этих аргументов (start, reload) возникала ошибка по таймауту в интерфейсе LuCi в system/startup. Каждый раз заходя на эту страницу, скрипт исполнялся полностью и если включены большие списки, это занимало много времени и LuCi выкидывало ошибку по таймауту
- По резолвингу доменов были расхождения в названиях в инструкции из поста и обновлённой статьи. Здесь я писал vpn_custom, в статье сделал vpn_domains. Поменял всё на vpn_domains
- В статью по поиску ошибок добавил команду форсинга синхронизации времени ntpd -d -p pool.ntp.org. Я этим пользуюсь, когда виртуалка с openwrt была выключенной пару месяцев, надо быстро проверить что-то, а время на openwrt сильно отстаёт
- В заметке про OpenVPN добавил, что если есть директива redirect-gateway в клиентском конфиге, то её нужно выпилить
- Пока тестировал скрипт с загрузкой всех списков, чтоб словить таймаут, наткнулся на ошибку от nftables No buffer space available. Мне про неё уже писали, она плавающая. Как понимаю, это происходит, потому что nftables перед загрузкой новых списков не удаляет старые, а ждёт, когда они прогрузятся и после этого уже переключает на новые. Это атомарность nftables, которая не даёт простоя, зато бывает, что сжирает всю память на роутере при использовании больших списков.
Пока я решил это принудительной отчисткой списков, перед загрузкой новых: nft flush ruleset. Добавил команду в скрипт, но только если грузятся списки ip и\или community. Если сталкиваетесь с этой ошибкой, добавляйте команду перед загрузкой списков. В статье добавлено, можете взять оттуда, если возникает вопрос куда впихнуть
- И я наконец-то ответил на комментарии под первым роликом в YouTube! Считаю, что лучше поздно, чем никогда. Вообще, коммуникацию с вами буду улучшать. Есть очевидное решение, но вопрос организационный. Планирую его скоро решить
Про коммуникацию. Я отвечал на вопросы по теме в комментариях своего блога и в ЛС Хабра. Но в блоге у меня не были настроены уведомления, и я тупо забывал про комментарии там на месяцы и годы. На днях, кстати, сделал уведомления. А на хабре далеко не все зареганы. Мне так и писали: "зарегался, чтоб вам написать".

Когда думал о других способах коммуникации, я понимал, что чат не потяну по времени. Потом до меня дошло: среди читающих меня людей, помимо людей прошивших openwrt на роутер первый раз, есть люди с опытом и они готовы подсказать. И даже если в какие-то моменты у меня совсем не будет времени, то я хотя бы предоставлю площадку.

Чат: https://t.me/itdogchat
Вступайте, задавайте вопросы, отвечайте на вопросы других, поправляйте, советуйте. Если разбираетесь хотя бы немного в теме и готовы помочь другим, вступайте тем более!

Также отдельно сделал обсуждения к постам. Они должны появиться начиная с этого поста
На Хабре вышла статья про технологии, которые используют в Китае для обхода блокировок. Описаны основные моменты в работе каждой технологии. Интересно про совместимость, с ней там всё не очень просто.
Если смотреть на тот же WG, то можно сделать один сервер и поставить его клиент на почти любое устройство.

А вот с этими проколами и туннелями уже совсем другая история, там даже разные версии одной задумки между собой не всегда совместимы. И если потребуется, то это уже будет не настройка какого-то известного туннеля, которым пользуется весь мир, а специфичной технологии.

Можно читать и радоваться, что у нас пока без проблем работают WireGuard и OpenVPN.
Месяц я искал и тестировал провайдеров VPS, у которых можно заплатить российской карточкой и получить сервер в Европе.

Я перебрал 12 компаний:
- Регался через VPN, т.к. "с вашего IP запрещена регистрация"
- Отваливался на моменте покупки сервера, потому что не мог заплатить картой МИР или через СБП
- Специально для этих тестов купил отдельную VM и поднял на ней Zabbix. Чтоб была чёткая картина доступности серверов
- Списывался с саппортами, в попытке решить проблемы c их ВМ
- Задавался вопросом: на что живут компании с низким качеством услуг
- Офигевал от того, когда при оплате у меня попросили НОМЕР ПАСПОРТА
- Ну и, конечно, поднимал WG на каждой ВМ и подрубал к своему роутеру, чтоб посмотреть на практике всё ли ок

Итог мне понравился, я честно ожидал худшего. Читайте и разворачиваете свои серверы:

На Хабре
https://habr.com/ru/articles/729750/

В моём блоге
https://itdog.info/kakogo-provajdera-vps-vybrat-dlya-sobstvennogo-vpn-v-2023-godu-platim-za-vsyo-rossijskoj-kartoj/
После последней статьи на Хабре канал вырос в три раза. Спасибо, что подписываетесь!

В основном я пишу про роутинг на OpenWrt. Тема объёмная, всегда есть что добавить и улучшить.
Если вкратце: роутер перенаправляет опредленный трафик, в туннель за пределы вашей страны. А весь остальной трафик идёт как шёл. И не нужно включать-выключать VPN на устройствах, подключенных к такому роутеру.
Статью я постоянно обновляю, благодаря вам в том числе, поэтому можете прям сейчас брать роутер, шить на OpenWrt и настраивать точечный роутинг по инструкции.

Но не у всех заводится с первого раза, поэтому я написал большую инструкцию по поиску и исправлению ошибок.

Ручной поиск проблем занимает много времени. Я думал, как это улучшить. Пришёл к тому, что нужен скрипт, который сам ищет в чём проблема и этим экономит ваше время.
Скрипт ещё вчера выложил на GitHub

Запускается прямо на роутере.
Всё, что не прошло проверку, помечается [x]. Могут быть ложные срабатывания, поэтому рассматривайте это скорее как рекомендацию, что необходимо проверить. По каждой проблеме он выдаёт ссылку на нужный кусок статьи.

Также, если вы используете, например, только списки доменов, то остальные списки будут отмечаться как ненастроенные, это окей. На гифке запуск на моём роутере, у меня как раз включены только vpn_domains.

Больше подробностей по запуску скрипта в README

Буду благодарен, если поделитесь результатами проверок в чате. Нужно протестить более массово и вероятно надо добавить ещё какие-то проверки и рекомендации.
ITDog
Месяц я искал и тестировал провайдеров VPS, у которых можно заплатить российской карточкой и получить сервер в Европе. Я перебрал 12 компаний: - Регался через VPN, т.к. "с вашего IP запрещена регистрация" - Отваливался на моменте покупки сервера, потому что…
Нужен ваш фидбэк по VPS провайдерам из обзора. Интересует всё:
- Общая стабильность
- Если вы заводили тикеты, были ли ответы на них
- Фичи, которые были обещаны, но их не оказалось
- Что угодно другое, важное на ваш взгляд
Если у вас всё отлично и всё устраивает - тоже отпишитесь пожалуйста.

Формат приблизительный такой:
Weasel: подняли тариф до 250р/мес, 21-22 апреля были сетевые проблемы у них, обещали IPv6, но на деле его нет
Timeweb: Дали российский IP для сервера в Польше, жду, пока у AS поменяется локация. В остальном ок
Skystark: IPv6 работает и всё остальное ок

По Skystark отзывы почти отсутствуют и мне тоже почти нечего про него добавить, поэтому по нему интересно в первую очередь. 

Весь ваш фидбэк скомпоную + добавлю комменты из того поста и Хабра. И обновлю обзор
ITDog
Нужен ваш фидбэк по VPS провайдерам из обзора. Интересует всё: - Общая стабильность - Если вы заводили тикеты, были ли ответы на них - Фичи, которые были обещаны, но их не оказалось - Что угодно другое, важное на ваш взгляд Если у вас всё отлично и всё устраивает…
Собрал ваш фидбэк спустя неделю после публикации обзора и проверил IPv6, получилось следующее:

Timeweb
- Могут выдать IP из российской подсети. Могут поменять сервер по запросу
- Есть блокировки на подсети у некоторых зарубежных сервисов. Есть пример, что elastic.co выдавал 403
- Есть поддержка IPv6 и работает

Weasel
- Подняли цену на все VPS. Таков хабраэффект. Как понимаю, многие рассматривали именно этот вариант из-за цены и скорости. Скорость сейчас замерил, немного подрезали, но 600 Mbits/sec есть и это до сих пор в разы больше обещанной
- Есть поддержка IPv6. Но просто так её не получить
- Не отвечают на тикеты. Видимо, я единственный, кому отвечали
- 21-22.04.2023 были сетевые потери вплоть до 85% на маршрутизаторе в ДЦ. Это бывает у всех, не считаю это серьёзным камнем в их огород. Конечно, если это не будет постоянно повторяться
- Диск с ограничением скорости. Для VPN это не особо важно, медленней будут устанавливаться пакеты для VPN, разве что, но это один раз поставил, и всё. Я смотрел на самой дешёвой VPS, не знаю, как обстоят дела на других. Но если также, то для какой-нибудь БД брать точно не стоит
- Тоже могут выдать IP из российской подсети, с совокупностью игнора в тикетах не стоит рассматривать, если вам нужно для ChatGPT и подобных

Skystark
- При создании VPS я снял галочку с IPv6. Сейчас зашёл, поставил, ребутнул сервер и IPv6 сам настроился и заработал
- Один человек написал про проблемы с доступом к ресурсам. У себя этого не наблюдал

Насчёт зарубежных сервисов, банящих по локации
- Как писал выше, может достаться российский IP. Где-то можно просто написать в саппорт, и проблему, скорее всего, решат, где-то придётся ждать и надеется, что в GeoIP локация подсети изменится на европейскую. Скорее всего, это происходит из-за переноса их российских подсетей в европейские ДЦ
- Сервисы сами "вручную" могут блокировать даже европейские подсети и IP, зная, что их используют для VPN

Добавил эту информацию в обзор. Спасибо всем, кто дал фидбэк и пишет о своём опыте
Мне кинули страйк на Youtube и удалили видео

Прилетел он на первое и самое популярное видео, где я в 2019 году показываю как на роутере сделать умную маршрутизацию. Причиной было нарушение авторских прав, а кинул его азапи. Если вкратце, то эта контора, которая рыскает по интернету и блочит всё пиратское через юридические процедуры. Она представляет интересы книжных издательств.
Я долго не мог понять, к чему именно они прикопались. Ведь я делал то видео на коленке без какой-то даже музыки.
Узнал о страйках две вещи:
- Нельзя посмотреть, какой именно отрезок видео нарушил чьи-то АП
- Можно подать ответное "уведомление". Для этого нужно заполнить своё ФИО, телефон и ещё какие-то данные. Это всё отправляется той стороне. И после этого, сторона, кинувшая страйк, должна в течение 10 дней подать в суд. Если она это не сделает - страйк будет отозван.

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

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

Можно было бы вырезать кусок и перезалить, но вы мне снова будете писать "хватит стучать по клавишам!" (шутка). Оно нормально так устарело за 4 года, и я всё равно планировал выпустить в недалёком будущем обновлённую статью с новым видео.
Думаю, у многих возникает вопрос: "А как вообще VPN на сервере развернуть?".

Написал обзор решений для WireGuard. Хотел сделать краткий обзор решений, которые считаю удобными, но их так много и они такие разные. В общем, получился лонгрид.
Ну а раз уже лонгрид, то добавил туда про проблему с DNS у Linux клиентов, и про защиту сервера тоже решил немного расписать.
Эта статья должна вам дать представление о том, какие есть скрипты и веб-интерфейсы для управления WG. Половина из них разворачиваются легко и после установки готовы к использованию.

Как и с VPS провайдерами, я включил в статью далеко не все решения, которые попробовал. Был запрос, что неподходящие под мои критерии тоже нужно добавить. С программами в этом плане проще, поэтому я включил часть популярных, но не очень удобных решений. О них написал вкратце: в основном про их недостатки, которые мешают им быть удобными.

Ещё в последнее время стали больше говорить про возможность блокировок популярных протоколов. Про WG в частности. Своё мнение по этому поводу высказал там же.

Статья на Хабре:
https://habr.com/ru/articles/738890/

Статья в моём блоге:
https://itdog.info/7-reshenij-dlya-ustanovki-i-upravleniya-wireguard-na-svoyom-servere/