ipset: additional lists

This commit is contained in:
bol-van 2022-03-17 09:55:31 +03:00
parent 9be1551f5d
commit 3536dd45d7
5 changed files with 40 additions and 8 deletions

2
config
View File

@ -9,7 +9,7 @@
# options for ipsets # options for ipsets
# maximum number of elements in sets. also used for nft sets # maximum number of elements in sets. also used for nft sets
SET_MAXELEM=262144 SET_MAXELEM=522288
# too low hashsize can cause memory allocation errors on low RAM systems , even if RAM is enough # too low hashsize can cause memory allocation errors on low RAM systems , even if RAM is enough
# too large hashsize will waste lots of RAM # too large hashsize will waste lots of RAM
IPSET_OPT="hashsize 262144 maxelem $SET_MAXELEM" IPSET_OPT="hashsize 262144 maxelem $SET_MAXELEM"

View File

@ -157,8 +157,6 @@ NFQUEUE работает без изменений.
Остальные рассматриваемые здесь функции могут быть перенесены на nftables. Остальные рассматриваемые здесь функции могут быть перенесены на nftables.
Рекомендуется версия nft 1.0.2 или выше. Рекомендуется версия nft 1.0.2 или выше.
Относительно старые версии ядра и/или утилиты nft могут вызывать ошибки.
В частности, на ubuntu 18.04 с ядром 4.15 будут проблемы. В 20.04 - работает.
Когда это работать не будет Когда это работать не будет
@ -688,7 +686,7 @@ Cкрипты с названием get_antifilter_* оперируют спис
5) ipset/get_antifilter_ip.sh. получает лист https://antifilter.network/download/ip.lst. 5) ipset/get_antifilter_ip.sh. получает лист https://antifilter.network/download/ip.lst.
7) ipset/get_antifilter_ipsmart.sh. получает лист https://antifilter.network/download/ipsmart.lst. 6) ipset/get_antifilter_ipsmart.sh. получает лист https://antifilter.network/download/ipsmart.lst.
это умная суммаризация отдельных адресов из ip.lst по маскам от /32 до /22 это умная суммаризация отдельных адресов из ip.lst по маскам от /32 до /22
количество префиксов измеряется всего лишь десятками тысяч, потому это лучшее решение для роутера с 64 Mb RAM количество префиксов измеряется всего лишь десятками тысяч, потому это лучшее решение для роутера с 64 Mb RAM
@ -696,10 +694,18 @@ Cкрипты с названием get_antifilter_* оперируют спис
это суммаризация отдельных адресов из ip.lst по маске /24 это суммаризация отдельных адресов из ip.lst по маске /24
количество префиксов измеряется всего лишь десятками тысяч, потому можно использовать на роутерах с 64 Mb RAM количество префиксов измеряется всего лишь десятками тысяч, потому можно использовать на роутерах с 64 Mb RAM
Все варианты рассмотренных скриптов автоматически создают и заполняют ipset. 8) ipset/get_antifilter_ipresolve.sh. получает лист https://antifilter.download/list/ipresolve.lst.
Варианты 2-7 дополнительно вызывают вариант 1. пре-ресолвленный список, аналогичный получаемый при помощи get_reestr_resolve
сотни тысяч IP, на роутерах с 64 Mb использовать не рекомендуется
8) ipset/get_config.sh. этот скрипт вызывает то, что прописано в переменной GETLIST из файла config 9) ipset/get_antifilter_allyouneed.sh. получает лист https://antifilter.download/list/allyouneed.lst.
Суммарный список префиксов, созданный из ipsum.lst и subnet.lst.
количество префиксов измеряется всего лишь десятками тысяч, потому можно использовать на роутерах с 64 Mb RAM
Все варианты рассмотренных скриптов автоматически создают и заполняют ipset.
Варианты 2-9 дополнительно вызывают вариант 1.
10) ipset/get_config.sh. этот скрипт вызывает то, что прописано в переменной GETLIST из файла config
Если переменная не определена, то ресолвятся лишь листы для ipset nozapret/nozapret6. Если переменная не определена, то ресолвятся лишь листы для ipset nozapret/nozapret6.
Листы РКН все время изменяются. Возникают новые тенденции. Требования к RAM могут меняться. Листы РКН все время изменяются. Возникают новые тенденции. Требования к RAM могут меняться.

View File

@ -8,7 +8,7 @@ get_antifilter()
curl --fail --max-time 150 --connect-timeout 20 --max-filesize 41943040 -k -L "$1" | cut_local >"$ZIPLISTTMP" && curl --fail --max-time 150 --connect-timeout 20 --max-filesize 41943040 -k -L "$1" | cut_local >"$ZIPLISTTMP" &&
{ {
dlsize=$(LANG=C wc -c "$ZIPLISTTMP" | xargs | cut -f 1 -d ' ') dlsize=$(LANG=C wc -c "$ZIPLISTTMP" | xargs | cut -f 1 -d ' ')
if [ $dlsize -lt 204800 ]; then if [ $dlsize -lt 102400 ]; then
echo list file is too small. can be bad. echo list file is too small. can be bad.
exit 2 exit 2
fi fi

View File

@ -0,0 +1,13 @@
#!/bin/sh
IPSET_DIR="$(dirname "$0")"
IPSET_DIR="$(cd "$IPSET_DIR"; pwd)"
. "$IPSET_DIR/def.sh"
getuser && {
. "$IPSET_DIR/antifilter.helper"
get_antifilter https://antifilter.download/list/allyouneed.lst "$ZIPLIST"
}
"$IPSET_DIR/create_ipset.sh"

View File

@ -0,0 +1,13 @@
#!/bin/sh
IPSET_DIR="$(dirname "$0")"
IPSET_DIR="$(cd "$IPSET_DIR"; pwd)"
. "$IPSET_DIR/def.sh"
getuser && {
. "$IPSET_DIR/antifilter.helper"
get_antifilter https://antifilter.download/list/ipresolve.lst "$ZIPLIST"
}
"$IPSET_DIR/create_ipset.sh"