fix manual_setup.txt, change to utf8

This commit is contained in:
bol-van 2023-07-02 18:49:28 +03:00
parent 9a87e617e4
commit d900bd2797

View File

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