vitich.kiev.ua was created on Dec 15, 1999

Блокуємо доступ з Криму, Донецької та Луганської області

Розділи: 

Однострочный скрипт, блокирующий доступ к ресурсу с диапазонов IP адресов Крыма, Донецкой и Луганской области.
Запускать из-под рута:

wget `curl -s https://db-ip.com/db/download/ip-to-city-lite | grep -E -o 'https://download.db-ip.com/free/dbip-city-lite-20[0-9]{2}-[0-9]{2}.csv.gz'`&& gunzip dbip-city-lite-*.csv.gz && mv dbip-city-lite-* dbip-city-lite-csv && for IP in $(cat dbip-city-lite-csv | grep -E -i "'Crimea|Lugansk|Luhans|Donetsk|Донецьк|Донецк|Крим|Крым|Луганс'" | sed 's/","/-/' | cut -d ',' -f 1 | sed 's/"//' | grep -E -o '(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)' | uniq | sort -n); do iptables -A INPUT -m iprange --src-range $IP -j DROP; done && rm -f dbip-city-lite-csv*

Ну и, если надо, по частям:

Скачиваем базу
wget `curl -s https://db-ip.com/db/download/ip-to-city-lite | grep -E -o 'https://download.db-ip.com/free/dbip-city-lite-20[0-9]{2}-[0-9]{2}.csv.gz'`

Распаковываем
gunzip dbip-city-lite-*.csv.gz

Переименовываем
mv dbip-city-lite-* dbip-city-lite-csv

Читаем список и блокируем с помощью iptables
for IP in $(cat dbip-city-lite-csv | grep -E -i "'Crimea|Lugansk|Luhans|Donetsk|Донецьк|Донецк|Крим|Крым|Луганс'" | sed 's/","/-/' | cut -d ',' -f 1 | sed 's/"//' | grep -E -o '(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)' | uniq | sort -n); do iptables -A INPUT -m iprange --src-range $IP -j DROP; done

Чистим за собой

rm -f dbip-city-lite-csv*