Я не утверждаю, что это лучший вариант, но если вы не можете найти другого работающего варианта, вы можете «свернуть свой собственный», используя загружаемую базу данных GeoIP и инструмент ipset .
Например, загрузите базу данных Geolite2 Country в формате CSV. Скачайте и разархивируйте файлы:
wget https://geolite.maxmind.com/download/geoip/database/GeoLite2-Country-CSV.zip
unzip GeoLite2-Country-CSV.zip
cd GeoLite2-Country-CSV_20190430
Найдите идентификатор для Франции и отфильтруйте все записи для французских сетей:
grep France GeoLite2-Country-Locations-en.csv
3017382,en,EU,Europe,FR,France,1
awk -F, '$2 == 3017382 {print $1}' > french_networks.txt
Создайте ipset, содержащий французские сети под названиемfrance
:
ipset create france hash:net
while read network ; do
ipset add france $network;
done < french_networks.txt
Используйте ipset для создания правила iptables
, которое отбрасывает все, что не из Франции. Обратите внимание, что вам может потребоваться добавить дополнительные правила, гарантирующие, что локальные сети не будут удалены :
.
iptables -A INPUT -m set ! --match-set france src -j DROP
Я полагаю, что это, возможно, спрашивали раньше. Вот ссылка на пост, надеюсь будет полезно. ошибка grub :сначала нужно загрузить ядро .
Довольно простое решение. Он включает использование grub-rescue
, вставку модуля insmod
для загрузки ядра. Надеюсь, это полезно.