/ipset_mtproxy

Цель репозитория - заблокировать прокси-серверы, с которых могут сканироваться публичные MTProxy в России.

Primary LanguageGo

ipset_mtproxy

ipset.up.zip содержит правила для ipset (свыше 1.5М записей), состоит из пяти листов:

badhosts (накопительный) - proxy_all.txt + IP полученные по скрипту + IP публичных прокси + листы firehol;

mikrotik - IP-адреса микротиков смотрящих в Интернет (города);

countryblock - подсети стран: Иран, Китай, Пакистан (потенциальные генераторы нагрузки);

digitalocean - подсети DigitalOcean (возможное использование мощностей РКНом);

rugov - подсети госучреждений причастных к блокировкам (раз, два).


БЫСТРАЯ УСТАНОВКА:

curl -L -o install https://git.io/fjhCo && chmod +x install

./install -badhosts -mikrotik -countryblock -digitalocean -rugov -b

[ключи]:

-b - бэкап перед добавлением правил;

-uninstall - удаление всех правил и листов с сервера.


ФАЙЛЫ:

proxy_all.txt - спарсенные прокси на октябрь 2019 года.


IPSET:

Резервная копия:

ipset save > /etc/backup.ipset.up.rules

Сброс правил:

ipset destroy

Установить правила:

ipset restore < /opt/ipset_mtproxy/badhosts
ipset restore < /opt/ipset_mtproxy/mikrotik
ipset restore < /opt/ipset_mtproxy/countryblock
ipset restore < /opt/ipset_mtproxy/digitalocean
ipset restore < /opt/ipset_mtproxy/rugov

ipset save > /etc/ipset.up.rules

IPTABLES:

iptables -A INPUT -m set --match-set badhosts src -j DROP
iptables -A INPUT -m set --match-set mikrotik src -j DROP
iptables -A INPUT -m set --match-set countryblock src -j DROP
iptables -A INPUT -m set --match-set digitalocean src -j DROP
iptables -A INPUT -m set --match-set rugov src -j DROP

Only RU:

iptables -A INPUT -m set --match-set rugeo src -j ACCEPT
iptables -A INPUT -m set --match-set mikrotik src -j DROP
iptables -A INPUT -m set --match-set badhosts src -j DROP
iptables -A INPUT -m set --match-set rugov src -j DROP
iptables -A INPUT -j DROP
iptables-save > /etc/rules.v4