mirror of
https://github.com/bol-van/zapret.git
synced 2024-11-30 05:50:53 +03:00
readme: manual_setup separate file
This commit is contained in:
parent
83d2fb3d60
commit
281d1852c0
269
docs/manual_setup.txt
Normal file
269
docs/manual_setup.txt
Normal file
@ -0,0 +1,269 @@
|
|||||||
|
Пример ручной установки на debian-подобную систему
|
||||||
|
--------------------------------------------------
|
||||||
|
|
||||||
|
На debian основано большое количество дистрибутивов linux, включая ubuntu.
|
||||||
|
Здесь рассматриваются прежде всего Debian 8+ и Ubuntu 16+.
|
||||||
|
Но с большой вероятностью может сработать и на производных от них.
|
||||||
|
Главное условие - наличие systemd, apt и нескольких стандартных пакетов в репозитории.
|
||||||
|
|
||||||
|
Установить пакеты :
|
||||||
|
apt-get update
|
||||||
|
apt-get install ipset curl dnsutils git
|
||||||
|
|
||||||
|
Если хотите использовать nftables, то нужен пакет nftables, а ipset не обязателен.
|
||||||
|
|
||||||
|
Скопировать директорию zapret в /opt или скачать через git :
|
||||||
|
cd /opt
|
||||||
|
git clone --depth 1 https://github.com/bol-van/zapret
|
||||||
|
|
||||||
|
Запустить автоинсталятор бинариков. Он сам определит рабочую архитектуру и настроит все бинарики.
|
||||||
|
/opt/zapret/install_bin.sh
|
||||||
|
АЛЬТЕРНАТИВА : make -C /opt/zapret. Получите динамические бинарики под вашу ось.
|
||||||
|
Для сборки требуются dev пакеты : zlib1g-dev libcap-dev libnetfilter-queue-dev
|
||||||
|
|
||||||
|
Настроить параметры согласно разделу "Выбор параметров".
|
||||||
|
|
||||||
|
Создать ссылку на service unit в systemd :
|
||||||
|
ln -fs /opt/zapret/init.d/systemd/zapret.service /lib/systemd/system
|
||||||
|
|
||||||
|
Удалить старые листы, если они были созданы ранее :
|
||||||
|
/opt/zapret/ipset/clear_lists.sh
|
||||||
|
По желанию прописать в /opt/zapret/ipset/zapret-hosts-user.txt свои домены.
|
||||||
|
Выполнить скрипт обновления листа :
|
||||||
|
/opt/zapret/ipset/get_config.sh
|
||||||
|
Настроить таймер systemd для обновления листа :
|
||||||
|
ln -fs /opt/zapret/init.d/systemd/zapret-list-update.service /lib/systemd/system
|
||||||
|
ln -fs /opt/zapret/init.d/systemd/zapret-list-update.timer /lib/systemd/system
|
||||||
|
|
||||||
|
Принять изменения в systemd :
|
||||||
|
systemctl daemon-reload
|
||||||
|
|
||||||
|
Включить автозапуск службы :
|
||||||
|
systemctl enable zapret
|
||||||
|
|
||||||
|
Включить таймер обновления листа :
|
||||||
|
systemctl enable zapret-list-update.timer
|
||||||
|
|
||||||
|
Запустить службу :
|
||||||
|
systemctl start zapret
|
||||||
|
|
||||||
|
Шпаргалка по управлению службой и таймером :
|
||||||
|
|
||||||
|
enable auto start : systemctl enable zapret
|
||||||
|
disable auto start : systemctl disable zapret
|
||||||
|
start : systemctl start zapret
|
||||||
|
stop : systemctl stop zapret
|
||||||
|
status, output messages : systemctl status zapret
|
||||||
|
timer info : systemctl list-timer
|
||||||
|
delete service : systemctl disable zapret ; rm /lib/systemd/system/zapret.service
|
||||||
|
delete timer : systemctl disable zapret-list-update.timer ; rm /lib/systemd/system/zapret-list-update.*
|
||||||
|
|
||||||
|
Centos 7+, Fedora
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
Centos с 7 версии и более-менее новые федоры построены на systemd.
|
||||||
|
В качестве пакетного менеджера используется yum.
|
||||||
|
|
||||||
|
Установить пакеты :
|
||||||
|
yum install -y curl ipset dnsutils git
|
||||||
|
|
||||||
|
Далее все аналогично debian.
|
||||||
|
|
||||||
|
OpenSUSE
|
||||||
|
--------
|
||||||
|
|
||||||
|
Новые OpenSUSE основаны на systemd и менеджере пакетов zypper.
|
||||||
|
|
||||||
|
Установить пакеты :
|
||||||
|
zypper --non-interactive install curl ipset
|
||||||
|
|
||||||
|
Далее все аналогично debian, кроме расположения systemd.
|
||||||
|
В opensuse он находится не в /lib/systemd, а в /usr/lib/systemd.
|
||||||
|
Правильные команды будут :
|
||||||
|
|
||||||
|
ln -fs /opt/zapret/init.d/systemd/zapret.service /usr/lib/systemd/system
|
||||||
|
ln -fs /opt/zapret/init.d/systemd/zapret-list-update.service /usr/lib/systemd/system
|
||||||
|
ln -fs /opt/zapret/init.d/systemd/zapret-list-update.timer /usr/lib/systemd/system
|
||||||
|
|
||||||
|
Arch linux
|
||||||
|
----------
|
||||||
|
|
||||||
|
Построен на базе systemd.
|
||||||
|
|
||||||
|
Установить пакеты :
|
||||||
|
pacman -Syy
|
||||||
|
pacman --noconfirm -S ipset curl
|
||||||
|
|
||||||
|
Далее все аналогично debian.
|
||||||
|
|
||||||
|
Gentoo
|
||||||
|
------
|
||||||
|
|
||||||
|
Эта система использует OpenRC - улучшенную версию sysvinit.
|
||||||
|
Установка пакетов производится командой : emerge <package_name>
|
||||||
|
Пакеты собираются из исходников.
|
||||||
|
|
||||||
|
Требуются все те же ipset, curl, git для скачивания с github.
|
||||||
|
git и curl по умолчанию могут присутствовать, ipset отсутствует.
|
||||||
|
|
||||||
|
emerge ipset
|
||||||
|
|
||||||
|
Настроить параметры согласно разделу "Выбор параметров".
|
||||||
|
|
||||||
|
Запустить автоинсталятор бинариков. Он сам определит рабочую архитектуру и настроит все бинарики.
|
||||||
|
/opt/zapret/install_bin.sh
|
||||||
|
АЛЬТЕРНАТИВА : make -C /opt/zapret. Получите динамические бинарики под вашу ось.
|
||||||
|
|
||||||
|
Удалить старые листы, если они были созданы ранее :
|
||||||
|
/opt/zapret/ipset/clear_lists.sh
|
||||||
|
По желанию прописать в /opt/zapret/ipset/zapret-hosts-user.txt свои домены.
|
||||||
|
Выполнить скрипт обновления листа :
|
||||||
|
/opt/zapret/ipset/get_config.sh
|
||||||
|
Зашедулить обновление листа :
|
||||||
|
crontab -e
|
||||||
|
Создать строчку "0 12 */2 * * /opt/zapret/ipset/get_config.sh"
|
||||||
|
|
||||||
|
Подключить init скрипт :
|
||||||
|
|
||||||
|
ln -fs /opt/zapret/init.d/openrc/zapret /etc/init.d
|
||||||
|
rc-update add zapret
|
||||||
|
|
||||||
|
Запустить службу :
|
||||||
|
|
||||||
|
rc-service zapret start
|
||||||
|
|
||||||
|
Шпаргалка по управлению службой :
|
||||||
|
|
||||||
|
enable auto start : rc-update add zapret
|
||||||
|
disable auto start : rc-update del zapret
|
||||||
|
start : rc-service zapret start
|
||||||
|
stop : rc-service zapret stop
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Ручная установка на openwrt/LEDE 15.xx-21.xx
|
||||||
|
--------------------------------------------
|
||||||
|
|
||||||
|
!!! Данная инструкция написана для систем, основанных на iptables+firewall3
|
||||||
|
!!! В новых версиях openwrt переходит на nftables+firewall4, инструкция неприменима. Пользуйтесь install_easy.sh
|
||||||
|
|
||||||
|
Установить дополнительные пакеты :
|
||||||
|
opkg update
|
||||||
|
opkg install iptables-mod-extra iptables-mod-nfqueue iptables-mod-filter iptables-mod-ipopt iptables-mod-conntrack-extra ipset curl
|
||||||
|
(ipv6) opkg install ip6tables-mod-nat
|
||||||
|
(опционально) opkg install gzip
|
||||||
|
(опционально) opkg install grep
|
||||||
|
(опционально) opkg install coreutils-sort
|
||||||
|
|
||||||
|
ЭКОНОМИЯ МЕСТА :
|
||||||
|
|
||||||
|
gzip от busybox в разы медленней полноценного варианта. gzip используется скриптами получения листов.
|
||||||
|
sort от busybox медленней полноценного варианта и жрет намного больше памяти. sort используется скриптами получения листов.
|
||||||
|
grep от busybox катастрофически медленный с опцией -f. она применяется в get_reestr_combined.sh. если вы не собираетесь
|
||||||
|
пользоваться этим скриптом, gnu grep можно не устанавливать
|
||||||
|
iptables-mod-nfqueue можно выкинуть, если не будем пользоваться nfqws
|
||||||
|
curl можно выкинуть, если для получения ip листа будет использоваться только get_user.sh
|
||||||
|
|
||||||
|
Самая главная трудность - скомпилировать программы на C. Это можно сделать на linux x64 при помощи SDK, который
|
||||||
|
можно скачать с официального сайта openwrt или LEDE. Но процесс кросс компиляции - это всегда сложности.
|
||||||
|
Недостаточно запустить make как на традиционной linux системе.
|
||||||
|
Поэтому в binaries имеются готовые статические бинарики для всех самых распространенных архитектур.
|
||||||
|
Статическая сборка означает, что бинарик не зависит от типа libc (glibc, uclibc или musl) и наличия установленных so.
|
||||||
|
Его можно использовать сразу. Лишь бы подходил тип CPU. У ARM и MIPS есть несколько версий.
|
||||||
|
Скорее всего найдется рабочий вариант. Если нет - вам придется собирать самостоятельно.
|
||||||
|
Для всех поддерживаемых архитектур бинарики запакованы upx. На текущий момент все, кроме mips64.
|
||||||
|
|
||||||
|
Скопировать директорию "zapret" в /opt на роутер.
|
||||||
|
|
||||||
|
Если места достаточно, самый простой способ :
|
||||||
|
opkg update
|
||||||
|
opkg install git-http
|
||||||
|
mkdir /opt
|
||||||
|
cd /opt
|
||||||
|
git clone --depth 1 https://github.com/bol-van/zapret
|
||||||
|
|
||||||
|
Если места немного :
|
||||||
|
opkg update
|
||||||
|
opkg install openssh-sftp-server unzip
|
||||||
|
ifconfig br-lan
|
||||||
|
Скачать на комп с github zip архив кнопкой "Clone or download"->Download ZIP
|
||||||
|
Скопировать средствами sftp zip архив на роутер в /tmp.
|
||||||
|
mkdir /opt
|
||||||
|
cd /opt
|
||||||
|
unzip /tmp/zapret-master.zip
|
||||||
|
mv zapret-master zapret
|
||||||
|
rm /tmp/zapret-master.zip
|
||||||
|
|
||||||
|
Если места совсем мало :
|
||||||
|
На linux системе скачать и распаковать zapret. Оставить необходимый минимум файлов.
|
||||||
|
Запаковать в архив zapret.tar.gz.
|
||||||
|
nc -l -p 1111 <zapret.tar.gz
|
||||||
|
На роутере
|
||||||
|
cd /tmp
|
||||||
|
nc <linux_system_ip> 1111 >zapret.tar.gz
|
||||||
|
|
||||||
|
Не стоит работать с распакованной версией zapret на windows. Потеряются ссылки и chmod.
|
||||||
|
|
||||||
|
Запустить автоинсталятор бинариков. Он сам определит рабочую архитектуру и настроит все бинарики.
|
||||||
|
/opt/zapret/install_bin.sh
|
||||||
|
|
||||||
|
Создать ссылку на скрипт запуска :
|
||||||
|
ln -fs /opt/zapret/init.d/openwrt/zapret /etc/init.d
|
||||||
|
Создать ссылку на скрипт события поднятия интерфейса :
|
||||||
|
ln -fs /opt/zapret/init.d/openwrt/90-zapret /etc/hotplug.d/iface
|
||||||
|
|
||||||
|
Настроить параметры согласно разделу "Выбор параметров".
|
||||||
|
|
||||||
|
Удалить старые листы, если они были созданы ранее :
|
||||||
|
/opt/zapret/ipset/clear_lists.sh
|
||||||
|
По желанию прописать в /opt/zapret/ipset/zapret-hosts-user.txt свои домены.
|
||||||
|
Выполнить скрипт обновления листа :
|
||||||
|
/opt/zapret/ipset/get_config.sh
|
||||||
|
Зашедулить обновление листа :
|
||||||
|
crontab -e
|
||||||
|
Создать строчку "0 12 */2 * * /opt/zapret/ipset/get_config.sh"
|
||||||
|
|
||||||
|
Включить автозапуск службы и запустить ее :
|
||||||
|
/etc/init.d/zapret enable
|
||||||
|
/etc/init.d/zapret start
|
||||||
|
ПРИМЕЧАНИЕ : на этапе старта системы интерфейсы еще не подняты. в некоторых случаях невозможно правильно
|
||||||
|
сформировать параметры запуска демонов, не зная имя физического интерфейса LAN.
|
||||||
|
Cкрипт из /etc/hotplug.d/iface перезапустит демоны по событию поднятия LAN.
|
||||||
|
|
||||||
|
Создать ссылку на firewall include :
|
||||||
|
ln -fs /opt/zapret/init.d/openwrt/firewall.zapret /etc/firewall.zapret
|
||||||
|
Проверить была ли создана ранее запись о firewall include :
|
||||||
|
uci show firewall | grep firewall.zapret
|
||||||
|
Если firewall.zapret нет, значит добавить :
|
||||||
|
uci add firewall include
|
||||||
|
uci set firewall.@include[-1].path="/etc/firewall.zapret"
|
||||||
|
uci set firewall.@include[-1].reload="1"
|
||||||
|
uci commit firewall
|
||||||
|
Проверить не включен ли flow offload :
|
||||||
|
uci show firewall.@defaults[0]
|
||||||
|
Если flow_offloading=1 или flow_offloading_hw=1 ,
|
||||||
|
uci set firewall.@defaults[0].flow_offloading=0
|
||||||
|
uci set firewall.@defaults[0].flow_offloading_hw=0
|
||||||
|
uci commit firewall
|
||||||
|
Перезапустить фаервол :
|
||||||
|
fw3 restart
|
||||||
|
|
||||||
|
Посмотреть через iptables -nL, ip6tables -nL или через luci вкладку "firewall" появились ли нужные правила.
|
||||||
|
|
||||||
|
ЭКОНОМИЯ МЕСТА : если его мало, то можно оставить в директории zapret лишь подкаталоги
|
||||||
|
ipset, common, файл config, init.d/openwrt.
|
||||||
|
Далее нужно создать подкаталоги с реально используемыми бинариками (ip2net, mdig, tpws, nfq)
|
||||||
|
и скопировать туда из binaries рабочие executables.
|
||||||
|
|
||||||
|
ЕСЛИ ВСЕ ПЛОХО С МЕСТОМ : откажитесь от работы со списком РКН. используйте только get_user.sh
|
||||||
|
|
||||||
|
ЕСЛИ СОВСЕМ ВСЕ УЖАСНО С МЕСТОМ : берете tpws и делаете все своими руками. поднятие iptables, автостарт бинарика.
|
||||||
|
С некоторых версий скрипты запуска zapret без ipset не работают (он требуется для ip exclude)
|
||||||
|
|
||||||
|
СОВЕТ : Покупайте только роутеры с USB. В USB можно воткнуть флэшку и вынести на нее корневую файловую систему
|
||||||
|
или использовать ее в качестве оверлея. Не надо мучать себя, запихивая незапихиваемое в 8 мб встроенной флэшки.
|
||||||
|
Для комфортной работы с zapret нужен роутер с 16 Mb встроенной памяти или USB разъемом и 128+ Mb RAM.
|
||||||
|
На 64 Mb без swap будут проблемы с листами РКН. Если у вас только 64 Mb, и вы хотите листы РКН, подключите swap.
|
||||||
|
32 Mb для современных версий openwrt - конфигурация на грани живучести. Возможны хаотические падения процессов в oom.
|
||||||
|
Работа с листами РКН невозможна в принципе.
|
||||||
|
|
270
docs/readme.txt
270
docs/readme.txt
@ -1097,152 +1097,11 @@ zapret_custom_firewall_nft
|
|||||||
tpws к http и nfqws к https. При этом поддерживаются установки из config.
|
tpws к http и nfqws к https. При этом поддерживаются установки из config.
|
||||||
Его можно использовать как стартовую точку для написания своих скриптов.
|
Его можно использовать как стартовую точку для написания своих скриптов.
|
||||||
|
|
||||||
Пример ручной установки на debian-подобную систему
|
|
||||||
--------------------------------------------------
|
|
||||||
|
|
||||||
На debian основано большое количество дистрибутивов linux, включая ubuntu.
|
|
||||||
Здесь рассматриваются прежде всего Debian 8+ и Ubuntu 16+.
|
|
||||||
Но с большой вероятностью может сработать и на производных от них.
|
|
||||||
Главное условие - наличие systemd, apt и нескольких стандартных пакетов в репозитории.
|
|
||||||
|
|
||||||
Установить пакеты :
|
|
||||||
apt-get update
|
|
||||||
apt-get install ipset curl dnsutils git
|
|
||||||
|
|
||||||
Если хотите использовать nftables, то нужен пакет nftables, а ipset не обязателен.
|
|
||||||
|
|
||||||
Скопировать директорию zapret в /opt или скачать через git :
|
|
||||||
cd /opt
|
|
||||||
git clone --depth 1 https://github.com/bol-van/zapret
|
|
||||||
|
|
||||||
Запустить автоинсталятор бинариков. Он сам определит рабочую архитектуру и настроит все бинарики.
|
|
||||||
/opt/zapret/install_bin.sh
|
|
||||||
АЛЬТЕРНАТИВА : make -C /opt/zapret. Получите динамические бинарики под вашу ось.
|
|
||||||
Для сборки требуются dev пакеты : zlib1g-dev libcap-dev libnetfilter-queue-dev
|
|
||||||
|
|
||||||
Настроить параметры согласно разделу "Выбор параметров".
|
|
||||||
|
|
||||||
Создать ссылку на service unit в systemd :
|
|
||||||
ln -fs /opt/zapret/init.d/systemd/zapret.service /lib/systemd/system
|
|
||||||
|
|
||||||
Удалить старые листы, если они были созданы ранее :
|
|
||||||
/opt/zapret/ipset/clear_lists.sh
|
|
||||||
По желанию прописать в /opt/zapret/ipset/zapret-hosts-user.txt свои домены.
|
|
||||||
Выполнить скрипт обновления листа :
|
|
||||||
/opt/zapret/ipset/get_config.sh
|
|
||||||
Настроить таймер systemd для обновления листа :
|
|
||||||
ln -fs /opt/zapret/init.d/systemd/zapret-list-update.service /lib/systemd/system
|
|
||||||
ln -fs /opt/zapret/init.d/systemd/zapret-list-update.timer /lib/systemd/system
|
|
||||||
|
|
||||||
Принять изменения в systemd :
|
|
||||||
systemctl daemon-reload
|
|
||||||
|
|
||||||
Включить автозапуск службы :
|
|
||||||
systemctl enable zapret
|
|
||||||
|
|
||||||
Включить таймер обновления листа :
|
|
||||||
systemctl enable zapret-list-update.timer
|
|
||||||
|
|
||||||
Запустить службу :
|
|
||||||
systemctl start zapret
|
|
||||||
|
|
||||||
Шпаргалка по управлению службой и таймером :
|
|
||||||
|
|
||||||
enable auto start : systemctl enable zapret
|
|
||||||
disable auto start : systemctl disable zapret
|
|
||||||
start : systemctl start zapret
|
|
||||||
stop : systemctl stop zapret
|
|
||||||
status, output messages : systemctl status zapret
|
|
||||||
timer info : systemctl list-timer
|
|
||||||
delete service : systemctl disable zapret ; rm /lib/systemd/system/zapret.service
|
|
||||||
delete timer : systemctl disable zapret-list-update.timer ; rm /lib/systemd/system/zapret-list-update.*
|
|
||||||
|
|
||||||
Centos 7+, Fedora
|
|
||||||
-----------------
|
|
||||||
|
|
||||||
Centos с 7 версии и более-менее новые федоры построены на systemd.
|
|
||||||
В качестве пакетного менеджера используется yum.
|
|
||||||
|
|
||||||
Установить пакеты :
|
|
||||||
yum install -y curl ipset dnsutils git
|
|
||||||
|
|
||||||
Далее все аналогично debian.
|
|
||||||
|
|
||||||
OpenSUSE
|
|
||||||
--------
|
|
||||||
|
|
||||||
Новые OpenSUSE основаны на systemd и менеджере пакетов zypper.
|
|
||||||
|
|
||||||
Установить пакеты :
|
|
||||||
zypper --non-interactive install curl ipset
|
|
||||||
|
|
||||||
Далее все аналогично debian, кроме расположения systemd.
|
|
||||||
В opensuse он находится не в /lib/systemd, а в /usr/lib/systemd.
|
|
||||||
Правильные команды будут :
|
|
||||||
|
|
||||||
ln -fs /opt/zapret/init.d/systemd/zapret.service /usr/lib/systemd/system
|
|
||||||
ln -fs /opt/zapret/init.d/systemd/zapret-list-update.service /usr/lib/systemd/system
|
|
||||||
ln -fs /opt/zapret/init.d/systemd/zapret-list-update.timer /usr/lib/systemd/system
|
|
||||||
|
|
||||||
Arch linux
|
|
||||||
----------
|
|
||||||
|
|
||||||
Построен на базе systemd.
|
|
||||||
|
|
||||||
Установить пакеты :
|
|
||||||
pacman -Syy
|
|
||||||
pacman --noconfirm -S ipset curl
|
|
||||||
|
|
||||||
Далее все аналогично debian.
|
|
||||||
|
|
||||||
Gentoo
|
|
||||||
------
|
|
||||||
|
|
||||||
Эта система использует OpenRC - улучшенную версию sysvinit.
|
|
||||||
Установка пакетов производится командой : emerge <package_name>
|
|
||||||
Пакеты собираются из исходников.
|
|
||||||
|
|
||||||
Требуются все те же ipset, curl, git для скачивания с github.
|
|
||||||
git и curl по умолчанию могут присутствовать, ipset отсутствует.
|
|
||||||
|
|
||||||
emerge ipset
|
|
||||||
|
|
||||||
Настроить параметры согласно разделу "Выбор параметров".
|
|
||||||
|
|
||||||
Запустить автоинсталятор бинариков. Он сам определит рабочую архитектуру и настроит все бинарики.
|
|
||||||
/opt/zapret/install_bin.sh
|
|
||||||
АЛЬТЕРНАТИВА : make -C /opt/zapret. Получите динамические бинарики под вашу ось.
|
|
||||||
|
|
||||||
Удалить старые листы, если они были созданы ранее :
|
|
||||||
/opt/zapret/ipset/clear_lists.sh
|
|
||||||
По желанию прописать в /opt/zapret/ipset/zapret-hosts-user.txt свои домены.
|
|
||||||
Выполнить скрипт обновления листа :
|
|
||||||
/opt/zapret/ipset/get_config.sh
|
|
||||||
Зашедулить обновление листа :
|
|
||||||
crontab -e
|
|
||||||
Создать строчку "0 12 */2 * * /opt/zapret/ipset/get_config.sh"
|
|
||||||
|
|
||||||
Подключить init скрипт :
|
|
||||||
|
|
||||||
ln -fs /opt/zapret/init.d/openrc/zapret /etc/init.d
|
|
||||||
rc-update add zapret
|
|
||||||
|
|
||||||
Запустить службу :
|
|
||||||
|
|
||||||
rc-service zapret start
|
|
||||||
|
|
||||||
Шпаргалка по управлению службой :
|
|
||||||
|
|
||||||
enable auto start : rc-update add zapret
|
|
||||||
disable auto start : rc-update del zapret
|
|
||||||
start : rc-service zapret start
|
|
||||||
stop : rc-service zapret stop
|
|
||||||
|
|
||||||
|
|
||||||
Простая установка
|
Простая установка
|
||||||
-----------------
|
-----------------
|
||||||
|
|
||||||
install_easy.sh автоматизирует описанные выше ручные варианты процедур установки.
|
install_easy.sh автоматизирует ручные варианты процедур установки (см manual_setup.txt).
|
||||||
Он поддерживает OpenWRT, linux системы на базе systemd или openrc и MacOS.
|
Он поддерживает OpenWRT, linux системы на базе systemd или openrc и MacOS.
|
||||||
|
|
||||||
Для более гибкой настройки перед запуском инсталятора следует выполнить раздел "Выбор параметров".
|
Для более гибкой настройки перед запуском инсталятора следует выполнить раздел "Выбор параметров".
|
||||||
@ -1274,133 +1133,6 @@ install_easy.sh автоматизирует описанные выше руч
|
|||||||
Деинсталяция выполняется через uninstall_easy.sh
|
Деинсталяция выполняется через uninstall_easy.sh
|
||||||
|
|
||||||
|
|
||||||
Ручная установка на openwrt/LEDE 15.xx-21.xx
|
|
||||||
--------------------------------------------
|
|
||||||
|
|
||||||
!!! Данная инструкция написана для систем, основанных на iptables+firewall3
|
|
||||||
!!! В новых версиях openwrt переходит на nftables+firewall4, инструкция неприменима. Пользуйтесь install_easy.sh
|
|
||||||
|
|
||||||
Установить дополнительные пакеты :
|
|
||||||
opkg update
|
|
||||||
opkg install iptables-mod-extra iptables-mod-nfqueue iptables-mod-filter iptables-mod-ipopt iptables-mod-conntrack-extra ipset curl
|
|
||||||
(ipv6) opkg install ip6tables-mod-nat
|
|
||||||
(опционально) opkg install gzip
|
|
||||||
(опционально) opkg install grep
|
|
||||||
(опционально) opkg install coreutils-sort
|
|
||||||
|
|
||||||
ЭКОНОМИЯ МЕСТА :
|
|
||||||
|
|
||||||
gzip от busybox в разы медленней полноценного варианта. gzip используется скриптами получения листов.
|
|
||||||
sort от busybox медленней полноценного варианта и жрет намного больше памяти. sort используется скриптами получения листов.
|
|
||||||
grep от busybox катастрофически медленный с опцией -f. она применяется в get_reestr_combined.sh. если вы не собираетесь
|
|
||||||
пользоваться этим скриптом, gnu grep можно не устанавливать
|
|
||||||
iptables-mod-nfqueue можно выкинуть, если не будем пользоваться nfqws
|
|
||||||
curl можно выкинуть, если для получения ip листа будет использоваться только get_user.sh
|
|
||||||
|
|
||||||
Самая главная трудность - скомпилировать программы на C. Это можно сделать на linux x64 при помощи SDK, который
|
|
||||||
можно скачать с официального сайта openwrt или LEDE. Но процесс кросс компиляции - это всегда сложности.
|
|
||||||
Недостаточно запустить make как на традиционной linux системе.
|
|
||||||
Поэтому в binaries имеются готовые статические бинарики для всех самых распространенных архитектур.
|
|
||||||
Статическая сборка означает, что бинарик не зависит от типа libc (glibc, uclibc или musl) и наличия установленных so.
|
|
||||||
Его можно использовать сразу. Лишь бы подходил тип CPU. У ARM и MIPS есть несколько версий.
|
|
||||||
Скорее всего найдется рабочий вариант. Если нет - вам придется собирать самостоятельно.
|
|
||||||
Для всех поддерживаемых архитектур бинарики запакованы upx. На текущий момент все, кроме mips64.
|
|
||||||
|
|
||||||
Скопировать директорию "zapret" в /opt на роутер.
|
|
||||||
|
|
||||||
Если места достаточно, самый простой способ :
|
|
||||||
opkg update
|
|
||||||
opkg install git-http
|
|
||||||
mkdir /opt
|
|
||||||
cd /opt
|
|
||||||
git clone --depth 1 https://github.com/bol-van/zapret
|
|
||||||
|
|
||||||
Если места немного :
|
|
||||||
opkg update
|
|
||||||
opkg install openssh-sftp-server unzip
|
|
||||||
ifconfig br-lan
|
|
||||||
Скачать на комп с github zip архив кнопкой "Clone or download"->Download ZIP
|
|
||||||
Скопировать средствами sftp zip архив на роутер в /tmp.
|
|
||||||
mkdir /opt
|
|
||||||
cd /opt
|
|
||||||
unzip /tmp/zapret-master.zip
|
|
||||||
mv zapret-master zapret
|
|
||||||
rm /tmp/zapret-master.zip
|
|
||||||
|
|
||||||
Если места совсем мало :
|
|
||||||
На linux системе скачать и распаковать zapret. Оставить необходимый минимум файлов.
|
|
||||||
Запаковать в архив zapret.tar.gz.
|
|
||||||
nc -l -p 1111 <zapret.tar.gz
|
|
||||||
На роутере
|
|
||||||
cd /tmp
|
|
||||||
nc <linux_system_ip> 1111 >zapret.tar.gz
|
|
||||||
|
|
||||||
Не стоит работать с распакованной версией zapret на windows. Потеряются ссылки и chmod.
|
|
||||||
|
|
||||||
Запустить автоинсталятор бинариков. Он сам определит рабочую архитектуру и настроит все бинарики.
|
|
||||||
/opt/zapret/install_bin.sh
|
|
||||||
|
|
||||||
Создать ссылку на скрипт запуска :
|
|
||||||
ln -fs /opt/zapret/init.d/openwrt/zapret /etc/init.d
|
|
||||||
Создать ссылку на скрипт события поднятия интерфейса :
|
|
||||||
ln -fs /opt/zapret/init.d/openwrt/90-zapret /etc/hotplug.d/iface
|
|
||||||
|
|
||||||
Настроить параметры согласно разделу "Выбор параметров".
|
|
||||||
|
|
||||||
Удалить старые листы, если они были созданы ранее :
|
|
||||||
/opt/zapret/ipset/clear_lists.sh
|
|
||||||
По желанию прописать в /opt/zapret/ipset/zapret-hosts-user.txt свои домены.
|
|
||||||
Выполнить скрипт обновления листа :
|
|
||||||
/opt/zapret/ipset/get_config.sh
|
|
||||||
Зашедулить обновление листа :
|
|
||||||
crontab -e
|
|
||||||
Создать строчку "0 12 */2 * * /opt/zapret/ipset/get_config.sh"
|
|
||||||
|
|
||||||
Включить автозапуск службы и запустить ее :
|
|
||||||
/etc/init.d/zapret enable
|
|
||||||
/etc/init.d/zapret start
|
|
||||||
ПРИМЕЧАНИЕ : на этапе старта системы интерфейсы еще не подняты. в некоторых случаях невозможно правильно
|
|
||||||
сформировать параметры запуска демонов, не зная имя физического интерфейса LAN.
|
|
||||||
Cкрипт из /etc/hotplug.d/iface перезапустит демоны по событию поднятия LAN.
|
|
||||||
|
|
||||||
Создать ссылку на firewall include :
|
|
||||||
ln -fs /opt/zapret/init.d/openwrt/firewall.zapret /etc/firewall.zapret
|
|
||||||
Проверить была ли создана ранее запись о firewall include :
|
|
||||||
uci show firewall | grep firewall.zapret
|
|
||||||
Если firewall.zapret нет, значит добавить :
|
|
||||||
uci add firewall include
|
|
||||||
uci set firewall.@include[-1].path="/etc/firewall.zapret"
|
|
||||||
uci set firewall.@include[-1].reload="1"
|
|
||||||
uci commit firewall
|
|
||||||
Проверить не включен ли flow offload :
|
|
||||||
uci show firewall.@defaults[0]
|
|
||||||
Если flow_offloading=1 или flow_offloading_hw=1 ,
|
|
||||||
uci set firewall.@defaults[0].flow_offloading=0
|
|
||||||
uci set firewall.@defaults[0].flow_offloading_hw=0
|
|
||||||
uci commit firewall
|
|
||||||
Перезапустить фаервол :
|
|
||||||
fw3 restart
|
|
||||||
|
|
||||||
Посмотреть через iptables -nL, ip6tables -nL или через luci вкладку "firewall" появились ли нужные правила.
|
|
||||||
|
|
||||||
ЭКОНОМИЯ МЕСТА : если его мало, то можно оставить в директории zapret лишь подкаталоги
|
|
||||||
ipset, common, файл config, init.d/openwrt.
|
|
||||||
Далее нужно создать подкаталоги с реально используемыми бинариками (ip2net, mdig, tpws, nfq)
|
|
||||||
и скопировать туда из binaries рабочие executables.
|
|
||||||
|
|
||||||
ЕСЛИ ВСЕ ПЛОХО С МЕСТОМ : откажитесь от работы со списком РКН. используйте только get_user.sh
|
|
||||||
|
|
||||||
ЕСЛИ СОВСЕМ ВСЕ УЖАСНО С МЕСТОМ : берете tpws и делаете все своими руками. поднятие iptables, автостарт бинарика.
|
|
||||||
С некоторых версий скрипты запуска zapret без ipset не работают (он требуется для ip exclude)
|
|
||||||
|
|
||||||
СОВЕТ : Покупайте только роутеры с USB. В USB можно воткнуть флэшку и вынести на нее корневую файловую систему
|
|
||||||
или использовать ее в качестве оверлея. Не надо мучать себя, запихивая незапихиваемое в 8 мб встроенной флэшки.
|
|
||||||
Для комфортной работы с zapret нужен роутер с 16 Mb встроенной памяти или USB разъемом и 128+ Mb RAM.
|
|
||||||
На 64 Mb без swap будут проблемы с листами РКН. Если у вас только 64 Mb, и вы хотите листы РКН, подключите swap.
|
|
||||||
32 Mb для современных версий openwrt - конфигурация на грани живучести. Возможны хаотические падения процессов в oom.
|
|
||||||
Работа с листами РКН невозможна в принципе.
|
|
||||||
|
|
||||||
|
|
||||||
Простая установка на openwrt
|
Простая установка на openwrt
|
||||||
----------------------------
|
----------------------------
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user