В связи с начавшимися посадками осуждениями по статье УК 242 решил заблокировать торрент-клиенты из этой страны, и теперь делюсь манулом для Gentoo.
Делай раз: включаем в ядре следующие опции. Если нужно, пересобираем и загружаемся с новым ядром.
CONFIG_NETFILTER_ADVANCED
CONFIG_NETFILTER_XT_SET
CONFIG_IP_SET_HASH_NETPORT
CONFIG_NETFILTER_XT_MATCH_STATE
Делай два: устанавливаем ipset.
# echo "net-firewall/ipset -modules" >> /etc/portage/package.use/ipset
# emerge net-firewall/ipset
Делай три: загружаем и сохраняем список IP-адресов зоны RU. Мой торрент-клиент использует для входящих соединений порт 6881.
# ipset create geoblock hash:net,port
# for net in $(wget -O- http://www.ipdeny.com/ipblocks/data/countries/ru.zone); do
ipset add geoblock $net,6881
done
# rc-service ipset save
Делай четыре: добавляем правило iptables.
# iptables -I INPUT -m state --state NEW -m set --match-set geoblock src -j REJECT
# rc-service iptables save
Делай пять: загружаем правила при загрузке.
# rc-update ipset add boot
# rc-update iptables add default
ПРОФИТ!