Вопрос или проблема
Какова самая эффективная техника блокировки Youtube на маршрутизаторах с прошивкой OpenWrt (основанной на Linux)?
Довольно простой способ блокировки определенных сайтов, таких как Youtube, — использовать один из пакетов adblock OpenWrt.
Можно использовать пакет adblock и связанный с ним веб-пакет Luci для блокировки Youtube, просто добавив домены, например:
www.youtube.com
m.youtube.com
youtube.com
youtu.be
ytimg.com
l.google.com
googlevideo.com
в черный список (Меню службы-> Adblock-> Расширенные параметры-> Редактировать черный список) и сохранив его,
затем вернувшись к обзору adblock и нажав обновить.
Вы можете легко отключить его, убрав галочку с черного списка в источниках блокировок и снова нажав обновить,
или просто отключив весь плагин adblock.
Вы можете найти opkg, который может блокировать на основе домена верхнего уровня, но у youtube есть всевозможные домены. Чтобы получить черный список, вы можете ssh на ваш маршрутизатор openwrt, ввести tcpdump -ni br0 dst port 53 | tee log
и открыть браузер, подключившись только к youtube. При этом должен быть включен только один клиент LAN/WLAN. Файл ‘log’ будет содержать все исходящие dns-запросы с интерфейса br0 в открытом виде. Это может послужить основой для черного списка, но вам нужно будет отредактировать его и быть осторожным, чтобы удалить такие вещи, как ‘update.windows.com’ и подобные домены.
Кроме того, вы можете найти приложение родительского контроля в репозитории opkg и сделать это автоматически оттуда.
Один из подходов — использовать файл hosts и поместить туда любые имена хостов, которые браузеры на настольных компьютерах используют или приложения на мобильных телефонах для доступа к Youtube.
В настоящее время мой файл hosts для OpenWrt выглядит так:
127.0.0.1 localhost
127.0.0.1 www.youtube.com
127.0.0.1 m.youtube.com
127.0.0.1 youtube.com
127.0.0.1 youtu.be
127.0.0.1 ytimg.com
127.0.0.1 l.google.com
127.0.0.1 googlevideo.com
Это теперь предотвращает доступ пользователей ноутбуков к youtube, но мобильные пользователи с приложением youtube все равно его используют без каких-либо проблем…
Следующий шаг — составить черный список всех доменов и IP-адресов, которые используют приложения Youtube, поэтому этот ответ будет обновлен.
На данный момент этот подход кажется чистым и простым, и именно поэтому мне он нравится.
Но если приложения используют google dns или имеют внутренний список IP-адресов Youtube, то этот подход будет неэффективен, и единственным вариантом будет использование iptables для блокировки трафика приложений с черным списком IP-адресов Youtube.
Другой подход заключается в блокировке диапазона IP-адресов YouTube, основанной на похожем вопросе могут быть созданы пользовательские правила брандмауэра:
/etc/config/firewall
config rule
option name Block-YouTube-187.189.89.77/16
option src lan
option family ipv4
option proto all
option dest wan
option dest_ip 187.189.89.77/16
option target REJECT
И так далее для всех диапазонов IP, обязательно перезапустите службу брандмауэра, чтобы применить изменения.
# /etc/init.d/firewall restart
-
Получите блоки IP-адресов с использованием BGP
curl “https://api.bgpview.io/asn/36040/prefixes” | jq “.data.ipv4_prefixes[].prefix” | sed ‘s|”||g’>./youtube.txt
curl “https://api.bgpview.io/asn/43515/prefixes” | jq “.data.ipv4_prefixes[].prefix” | sed ‘s|”||g’>>./youtube.txt
-
Скомпилируйте с использованием https://github.com/v2fly/geoip
-
Используйте с xray (https://xtls.github.io/en/), чтобы заблокировать конкретные клиенты от доступа к этим IP-адресам.
Ответ или решение
Эффективные методы блокировки YouTube на маршрутизаторах OpenWrt
Блокировка YouTube на маршрутизаторах, работающих под управлением OpenWrt, может быть выполнена несколькими способами. Каждый из них имеет свои преимущества и недостатки, так что выбор метода зависит от ваших требований и технических возможностей. В этом ответе рассмотрим несколько наиболее эффективных техник блокировки YouTube.
1. Использование пакета Adblock
Одним из простейших способов блокировки YouTube является использование пакета Adblock, доступного для OpenWrt. Этот пакет позволяет добавлять домены в черный список для блокировки. Чтобы использовать Adblock для блокировки YouTube, выполните следующие шаги:
- Установите пакет Adblock через интерфейс LuCI или по команде
opkg install adblock
в терминале. - После установки перейдите в меню Services → Adblock → Advanced.
- В разделе Edit blacklist добавьте следующие домены:
www.youtube.com m.youtube.com youtube.com youtu.be ytimg.com l.google.com googlevideo.com
- Сохраните изменения и вернитесь к обзору Adblock, чтобы обновить настройки.
Этот метод эффективен для блокировки доступа к YouTube через браузеры и многие приложения. Однако стоит учитывать, что мобильные приложения могут использовать альтернативные доменные имена, что требует регулярного обновления черного списка.
2. Использование файла hosts
Еще один метод заключается в редактировании файла hosts
на маршрутизаторе, что позволит перенаправить домены YouTube на локальный адрес:
- Откройте файл
/etc/hosts
и добавьте следующие строки:127.0.0.1 www.youtube.com 127.0.0.1 m.youtube.com 127.0.0.1 youtube.com 127.0.0.1 youtu.be 127.0.0.1 ytimg.com 127.0.0.1 l.google.com 127.0.0.1 googlevideo.com
- Сохраните изменения.
Этот подход также может не сработать с мобильными приложениями, так как они могут использовать внутренние DNS Google или кэшированные IP-адреса.
3. Блокировка IP-адресов
Для более полной блокировки YouTube можно заблокировать диапазоны IP-адресов, используемых сервисом:
- Добавьте пользовательские правила в файл конфигурации firewall:
config rule option name Block-YouTube-187.189.89.77/16 option src lan option family ipv4 option proto all option dest wan option dest_ip 187.189.89.77/16 option target REJECT
- После добавления правил не забудьте перезапустить службу фаервола командой
# /etc/init.d/firewall restart
.
Вы можете использовать API для сбора актуальных диапазонов IP-адресов для контента YouTube, например,:
curl "https://api.bgpview.io/asn/36040/prefixes" | jq ".data.ipv4_prefixes[].prefix" | sed 's|"||g' > ./youtube.txt
4. Использование приложений родительского контроля
Существует множество приложений для контроля доступа к интернету, которые могут автоматически блокировать доступ к YouTube на всех устройствах. Исследуйте доступные пакеты в репозитории OpenWrt, например, luci-app-sqm
для QoS и блокировки определенного контента.
Заключение
Проблема блокировки YouTube на маршрутизаторах OpenWrt требует разработки комплексного подхода с использованием различных технологий. Эффективное решение может включать комбинацию упомянутых методов: применение пакета Adblock, редактирование файла hosts, блокировка IP-адресов и использование приложений родительского контроля. Независимо от выбранного метода, важно регулярно обновлять настройки в соответствии с изменениями YouTube и его инфраструктуры.