Настройка zapret от bol-van на Keentic

Настройка zapret от bol-van на Keentic

@toxa70x4

Разворачивание OPKG Entware я упущу.
Подключаем по SSH к роутеру, по умолчанию порт 222.

Устанавливаем пакеты:

opkg install coreutils-sort curl git-http grep gzip ipset iptables kmod_ndms nano xtables-addons_legacy

Переходим в tmp:

cd /opt/tmp

Скачиваем zapret:

git clone --depth=1 https://github.com/bol-van/zapret.git

Переходим в каталог zapret и выполняем скрипт:

cd zapret
./install_easy.sh

Дальше покажу скриншотами, наглядно:

Ему не нравится, мы продолжаем
Ставим в каталог по умолчанию
Ему не нравится, мы опять продолжаем
1 iptable
Тут сами выбирайте. Я не использую ipv6, значит N
3 nfqws
Здесь нужно Y и отредактировать строчку
У каждого свои будут параметры, но возможно подойдут мои. Потом жмем F2 и выходим
--dpi-desync=fake,disorder2 --dpi-desync-ttl=3 --dpi-desync-fooling=badsum
Как убедились, что параметры поменялись, выбираем N
Здесь нужно выбрать WAN интерфейс. Посмотреть WAN интерфейс можно с помощью ifconfig, это интерфейс с ip от провайдера.

Дальше везде жмем Enter и ничего не трогаем.

Скрипт работу закончил, нажимаем ENTER и можем продолжать.

Удаляем ненужное.

cd
rm -rf /opt/tmp/zapret

Теперь сделаем, что бы запрет стартовал при запуски Keenetic.

ln -fs /opt/zapret/init.d/sysv/zapret /opt/etc/init.d/S90-zapret

Правим стартовый скрипт, добавляем PATH и WS_USER

nano /opt/zapret/init.d/sysv/zapret
PATH=/opt/sbin:/opt/bin:/opt/usr/sbin:/opt/usr/bin:/usr/sbin:/usr/bin:/sbin:/bin
WS_USER=nobody
Правим как у меня и сохраняем F2

Создаем небольшой скрипт, чтобы Keenetic не забывал правила.

nano /opt/etc/ndm/netfilter.d/000-zapret.sh
#!/bin/sh
[ "$type" == "ip6tables" ] && exit 0
[ "$table" != "mangle" ] && exit 0
/opt/zapret/init.d/sysv/zapret restart-fw
chmod +x /opt/etc/ndm/netfilter.d/000-zapret.sh

Переводим net.netfilter.nf_conntrack_checksum в 0.

nano /opt/etc/init.d/S00fix
#!/bin/sh
start() {
    echo 0 > /proc/sys/net/netfilter/nf_conntrack_checksum
}
stop() {
    echo 1 > /proc/sys/net/netfilter/nf_conntrack_checksum
}
case "$1" in
    'start')
        start
        ;;
    'stop')
        stop
        ;;
    *)
        stop
        start
        ;;
esac
exit 0
chmod +x /opt/etc/init.d/S00fix

Ну вот и все. Перезагружаем и проверяем.

reboot


P.S.

Поправить конфиг zapret'а:

nano /opt/zapret/config

Внести некоторые домены в исключение:

nano /opt/zapret/ipset/zapret-hosts-user-exclude.txt
/opt/zapret/ipset/clear_lists.sh
/opt/zapret/ipset/get_config.sh

Можно clear и get в cron засунуть, предварительно поставив cron, на случай смены ip у домена.

opkg install cron
nano /opt/etc/cron.daily/zapret
#!/bin/sh
/opt/zapret/ipset/clear_lists.sh
/opt/zapret/ipset/get_config.sh
chmod +x /opt/etc/cron.daily/zapret
/opt/etc/init.d/S10cron restart



Report Page