|
|
@ -1,4 +1,4 @@ |
|
|
|
zapret v.5 |
|
|
|
zapret v.6 |
|
|
|
|
|
|
|
Для чего это надо |
|
|
|
----------------- |
|
|
@ -131,6 +131,33 @@ tkt : помогает разделение http запроса на сегме |
|
|
|
iptables -t raw -I PREROUTING -p tcp --sport 80 -m string --hex-string "|0D0A|Location: http://95.167.13.50" --algo bm -j DROP --from 40 --to 200 |
|
|
|
Ростелеком : см tkt |
|
|
|
|
|
|
|
Способы получения списка заблокированных IP |
|
|
|
------------------------------------------- |
|
|
|
|
|
|
|
1) Внесите заблокирванные домены в ipset/zapret-hosts-user.txt и запустите ipset/get_user.sh |
|
|
|
На выходе получите ipset/zapret-ip-user.txt с IP адресами. |
|
|
|
|
|
|
|
2) ipset/get_reestr.sh получает список доменов от rublacklist и дальше их ресолвит в ip адреса |
|
|
|
в файл ipset/zapret-ip.txt. В этом списке есть готовые IP адреса, но судя во всему они там в точности в том виде, |
|
|
|
что вносит в реестр РосКомПозор. Адреса могут меняться, позор не успевает их обновлять, а провайдеры редко |
|
|
|
банят по IP : вместо этого они банят http запросы с "нехорошим" заголовком "Host:" вне зависимости |
|
|
|
от IP адреса. Поэтому скрипт ресолвит все сам, хотя это и занимает много времени. |
|
|
|
Дополнительное требование - объем памяти в /tmp для сохранения туда скачанного файла, размер которого |
|
|
|
несколько Мб и продолжает расти. На роутерах openwrt /tmp представляет собой tmpfs , то есть ramdisk. |
|
|
|
В случае роутера с 32 мб памяти ее может не хватить, и будут проблемы. В этом случае используйте |
|
|
|
следующий скрипт. |
|
|
|
Скрипт автоматически вызывает ipset/get_user.sh и обновляет ipset |
|
|
|
|
|
|
|
3) ipset/get_anizapret.sh. быстро и без нагрузки на роутер получает лист с http://antizapret.prostovpn.org. |
|
|
|
Скрипт автоматически вызывает ipset/get_user.sh и обновляет ipset |
|
|
|
|
|
|
|
На роутерах не рекомендуется вызывать эти скрипты чаще раза за 2 суток, поскольку сохранение идет |
|
|
|
либо во внутреннюю флэш память роутера, либо в случае extroot - на флэшку. |
|
|
|
В обоих случаях слишком частая запись может убить флэшку, но если это произойдет с внутренней |
|
|
|
флэш памятью, то вы просто убьете роутер. |
|
|
|
|
|
|
|
Обновление ipset выполняет скрипт ipset/create_ipset.sh |
|
|
|
|
|
|
|
Пример установки на debian 7 |
|
|
|
---------------------------- |
|
|
|
Debian 7 изначально содержит ядро 3.2. Оно не умеет делать DNAT на localhost. |
|
|
@ -152,10 +179,10 @@ Debian 7 изначально содержит ядро 3.2. Оно не уме |
|
|
|
В /etc/init.d/zapret выбрать пераметр "ISP". В зависимости от него будут применены нужные правила. |
|
|
|
Там же выбрать параметр SLAVE_ETH, соответствующий названию внутреннего сетевого интерфейса. |
|
|
|
Включить автостарт : chkconfig zapret on |
|
|
|
(опционально) Вручную первый раз получить новый список ip адресов : /opt/zapret/ipset/get_reestr.sh |
|
|
|
(опционально) Вручную первый раз получить новый список ip адресов : /opt/zapret/ipset/get_antizapret.sh |
|
|
|
Зашедулить задание обновления листа : |
|
|
|
crontab -e |
|
|
|
Создать строчку "0 12 * * */2 /opt/zapret/ipset/get_reestr.sh". Это значит в 12:00 каждые 2 дня обновлять список. |
|
|
|
Создать строчку "0 12 * * */2 /opt/zapret/ipset/get_antizapret.sh". Это значит в 12:00 каждые 2 дня обновлять список. |
|
|
|
Запустить службу : service zapret start |
|
|
|
Попробовать зайти куда-нибудь : http://ej.ru, http://kinozal.tv, http://grani.ru. |
|
|
|
Если не работает, то остановить службу zapret, добавить правило в iptables вручную, |
|
|
@ -171,7 +198,6 @@ Debian 7 изначально содержит ядро 3.2. Оно не уме |
|
|
|
ubuntu 12,14 |
|
|
|
------------ |
|
|
|
|
|
|
|
Для ubuntu 12 рекомендую обновить ядро до linux-image-generic-lts-trusty по причинам, аналогичным debian 7. |
|
|
|
Имеется готовый конфиг для upstart : zapret.conf. Его нужно скопировать в /etc/init и настроить по аналогии с debian. |
|
|
|
Запуск службы : "start zapret" |
|
|
|
Останов службы : "stop zapret" |
|
|
@ -219,7 +245,7 @@ opkg install iptables-mod-extra iptables-mod-nfqueue iptables-mod-filter iptable |
|
|
|
Посмотреть через iptables -L или через luci вкладку "firewall" появились ли нужные правила. |
|
|
|
Зашедулить задание обновления листа : |
|
|
|
crontab -e |
|
|
|
Создать строчку "0 12 * * */2 /opt/zapret/ipset/get_reestr.sh". Это значит в 12:00 каждые 2 дня обновлять список. |
|
|
|
Создать строчку "0 12 * * */2 /opt/zapret/ipset/get_antizapret.sh". Это значит в 12:00 каждые 2 дня обновлять список. |
|
|
|
|
|
|
|
Если у вас linux x64, то вместо компиляции toolchain можно использовать пре-компилированный SDK от разработчиков openwrt. |
|
|
|
https://downloads.openwrt.org/ |
|
|
|