LINUX.ORG.RU
ФорумAdmin

Есть кто завел zapret на уровне роутера?

 ,


3

2

Отпишитесь.

Я, вроде, завел, но весь трафик уходящий в него пропадает, а я не так хочу.

Нужен для просмотра ТыЛевизора на уровне всей домашней сети (телевизоры, телефоны), а не только с компов.

★★★★★

Ставил на старый роутер, у которого памяти не хватало, на флешку Сони м.2 через usb-переходник, размеченую нтфс. Работало, но подтормаживало все же. Поставил на телефон byeDPI, работает хорошо, тьфу-тьфу. Посмотрю на дальнейшие движения государства. Мне кажется это временная стадия, или по нормальному его заблокируют или разтормозят. Если первое, придется покупать современный роутер, впс за забором и бить тоннель.

anonymous
()
Ответ на: комментарий от anonymous

Только ipset ты будешь очень долго заполнять вручную, потому что с адресами доменов 2-го уровня *.googlevideo.com (а их дохрена) штатный mdig ничем не поможет. Проще завернуть туда весь трафик целиком.

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

anonymous
()
Ответ на: комментарий от anonymous

Только ipset ты будешь очень долго заполнять вручную, потому что с адресами доменов 2-го уровня *.googlevideo.com (а их дохрена)

Да, ты прав.

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

dnsmasq имеет поддержку ipset, да и в принципе не сложно прикрутить к своему DNS что-нибудь сбоку.

anonymous
()
Ответ на: комментарий от vasya_pupkin

поделитесь строкой с параметрами: я завел но ютуб все равно не показывает. Хотя https-траффик точно идет через это, другие сайты работают, стало быть блокировщик тригерится

А с компа, как сокс-прокси – работает

pihter ★★★★★
() автор топика
Ответ на: комментарий от pihter

NFQWS_OPT_DESYNC="--dpi-desync=fake,disorder2 --dpi-desync-split-pos=1 --dpi-desync-ttl=0 --dpi-desync-fooling=md5sig,badsum --dpi-desync-repeats=6 --dpi-desync-any-protocol --dpi-desync-cutoff=d4"

NFQWS_OPT_DESYNC_QUIC="--dpi-desync=fake,disorder2 --dpi-desync-repeats=6 --dpi-desync-ttl=0 --dpi-desync-any-protocol --dpi-desync-cutoff=d4 --dpi-desync-fooling=md5sig,badsum"

vasya_pupkin ★★★★★
()
Ответ на: комментарий от anonymous

Он определяет разновидность DPI провайдера, замедление или блокировка — не важно. Главное не запускать скрипт для хоста googlevideo.com или другого не заблокированного, в таком случае действительно он бесполезен.

anonymous
()
Ответ на: комментарий от anonymous

О, а это, похоже, то, что надо. Правда, для openwrt потребуется установка dnsmasq-full, что может быть проблемой для слабых роутеров.

Начиная с версии 23.05 какой-то утырок решил конпелять dnsmasq-full без поддержки ipset (только nftset). Если тебе достаточно nftset, то хватит его. Иначе надо пересобирать.

pekmop1024 ★★★★★
()
Последнее исправление: pekmop1024 (всего исправлений: 1)

Я не использовал скрипты из поставки, делал так, как описал вот в этом баге:

https://github.com/bol-van/zapret/discussions/262

Взял бинарник из репозитория, написал простейший init-скрипт (/etc/init.d/nfqws) для openwrt с вшитыми параметрами, написал свои правила firewall’а. Оригинальные тоже хорошие (и обрабатывают разные конфигурации), но вот эти банально проще.

# cat /etc/init.d/nfqws 
#!/bin/sh /etc/rc.common

USE_PROCD=1
START=91

PROG=/etc/zapret/nfqws/nfqws

start_service() {
  procd_open_instance
  procd_set_param command "$PROG"
  procd_append_param command --dpi-desync=fake
  procd_append_param command --dpi-desync-fooling=md5sig,badseq
  procd_append_param command --dpi-desync-split-pos=1
  procd_append_param command --dpi-desync-repeats=12
  procd_append_param command --dpi-desync-ttl=4
  procd_append_param command --qnum=200
  procd_append_param command --hostlist=/etc/zapret/nfqws/youtube.txt
#  procd_append_param command --hostlist=/tmp/domains-export.txt
  procd_set_param stdout 1 # forward stdout of the command to logd
  procd_set_param stderr 1 # same for stderr
  procd_close_instance
}

С моими правилами файрволла (connbytes) в nfqws копируются только первые 8 пакетов, а дальше всё маршрутизируется как обычно. /etc/zapret/zapret.nft:

chain zapret_lan_hook {
    type filter hook forward priority mangle;

#    iifname {"br-lan"} \
      ip daddr != {0.0.0.0/8, 10.0.0.0/8, 192.168.0.0/16, 172.16.0.0/12, 100.64.0.0/10, 169.254.0.0/16, 224.0.0.0/3, 255.255.255.255/32} \
      tcp dport {80, 443} ct original packets lt 8 counter queue flags bypass to 200 comment "zapret IPv4 443 tcp"

#    iifname {"br-lan"} \
      ip6 daddr != {::ffff:0:0/96, fc00::/7, fe80::/10, ff00::/8} \
      tcp dport {80, 443} ct original packets lt 8 counter queue flags bypass to 200 comment "zapret IPv6 443 tcp"

#    iifname {"br-lan"} \
      ip daddr != {0.0.0.0/8, 10.0.0.0/8, 192.168.0.0/16, 172.16.0.0/12, 100.64.0.0/10, 169.254.0.0/16, 224.0.0.0/3, 255.255.255.255/32} \
      udp dport 443 ct original packets lt 8 counter queue flags bypass to 200 comment "zapret IPv4 443 udp"

#    iifname {"br-lan"} \
      ip6 daddr != {::ffff:0:0/96, fc00::/7, fe80::/10, ff00::/8} \
      udp dport 443 ct original packets lt 8 counter queue flags bypass to 200 comment "zapret IPv6 443 udp"
}

Нужно заinclude’ить скрипт в настройках firewall’а. /etc/config/firewall:

config include 'zapret'
	option type 'nftables'
	option path '/etc/zapret/zapret.nft'
	option position 'table-post'
	option enabled '1'

Необходимо отключить offloading, с ним, скорее всего, работать не будет (но я не проверял, оригинальные правила учитывают этот момент).

В таком виде всё установить можно на ЛЮБОЙ роутер, даже на 4/32, при большом желании (скриптом скачивания бинарника в оперативную память, при необходимости).

/etc/zapret/nfqws/youtube.txt:

youtube.com
youtu.be
googlevideo.com
googleapis.com
ggpht.com
ytimg.com
youtube-nocookie.com
play.google.com
ValdikSS ★★★★★
()
Последнее исправление: ValdikSS (всего исправлений: 3)
Ответ на: комментарий от anonymous

Поставил на телефон byeDPI, работает хорошо, тьфу-тьфу.

Такая же фигня. Что пришлось подкрутить? У меня хватило только «Split position = 1».

Впрочем, пока что на сотовом трафике ютуб работает лучше, чем через byeDPI на проводе, так что на телефонах смотрим через сотовый интернет.

papin-aziat ★★★★★
()
Ответ на: комментарий от papin-aziat

Всем доброго дня. Использую старый KEENETIC EXTRA II(старая модель не поддерживаются новые OS ,кроме Альфа и Бета и ли старая стаб. На 4 Бета 2 нестабильно, пришлось откатиться до старой 3.5 ). USB FLASH 8GB (старая- довольно медленный кусок кремния:) ,FS EXT 4. В сети 3 smart TV LG разных годов выпуска, приложение трубы установлено на каждый под WEBOS, несколько ноутов и ПК. Очень плохо знаю Linux, на уровне, что можно, нужно и нельзя:) Использовал изначальный сценарий автора - не взлетело.(https://habr.com/ru/articles/833564/) Взял мануал GreenRookie https://drive.proton.me/urls/8CKYCK4090#hHRHdH3tewvZ от 8.08.24. Повторно проделал поверх первого инструкции по ZAPRET. Устанавливал только :mc lsof nmap obfs4 ipset curl gzip grep git-http ca-certificates cron iptables ip Остальное посчитал лишним.

При использовании инструкции будьте внимательны - при копипасте по ссылке из PDF теряется синксис! Проверяйте! Иначе полезут ошибки!

Дополнил свой список по совету сообщества ( пп 3.2.10) hostlist.txt

Целевой интерфейс «отлова» br0, сеть 192.168.20.0.\24 ,адрес маршрутизатора 192.168.20.1

googleapis.com googlevideo.com i.ytimg.com i9.ytimg.com wide-youtube.l.google.com youtu.be youtube.com youtube.googleapis.com yt3.ggpht.com yt3.googleusercontent.com ggpht.com ytimg.com l.google.com play.google.com youtubei.googleapis.com nhacmp3youtube.com googleusercontent.com www.gstatic.com www.youtube.com

NS1.google.com NS2.google.com NS3.google.com NS4.google.com

Все было неплохо , но после рестарта роутера\выключения питания не было автостарта S51tpws. (хотя по мануалу s51 все решал и путь.) Вплоть до полного отсутствия доступа в домашней сети к сети Internet и доступа к WEb интерфейсу роутера . Приходилось цепляться по SSH и вручную запускать # /opt/etc/init.d/S51tpws start .

Решил через cron:(автостарт после перезагрузки и профилактический рестарт )

Команды для планировщика:(для тех, кто ,как я плохо знаком с технологией)

#crontab -e @reboot /opt/etc/init.d/S51tpws start 0 6 * * 6 /opt/etc/init.d/S51tpws restart shift +z+z

Работает несколько дней во всей «сети». Благодарю авторов решения и всех за информацию и помощь. Надеюсь у кого не получилось теперь получится!

P/S Коллеги, кто специалист в этой теме - сильно не ругать. Написал для таких же ,как и сам.:))

anonymous
()