Внесите в белый список весь трафик из США, в черный список весь трафик за пределами США. Можно ли это сделать по коду страны, а не по IP-адресам?
Я прочитал дюжину руководств по использованиюiptables
,fail2ban
иcsf
. Общность видится в следующем:
1) generate a list of IP rangess for the country you want
2) write a bash/python script to run the allow config for each ip range
3) run a deny all for everything else
Руководство по https://unix.stackexchange.com/questions/478735/blocking-all-traffic-Exception-whitelisted-ip-adresses кажется наиболее простым объяснением.
Мой вопрос: как мне разрешить/запретить трафик для целых стран без необходимости обрабатывать списки IP-адресов?
Спасибо
2 ответа
Короткий ответ - нет.
Более длинный ответ — вроде как, но не очень хорошо.
Ссылка, на которую вы ссылаетесь, может показаться правильной, но почти неактуальной, поскольку она не рассматривает страны.
Существует ряд проблем, с которыми приходится бороться: в частности, iptables не имеет дело с доменными именами, он имеет дело с IP-адресами/подсетями. Тем не менее, я считаю, что это модуль geoIP, который поддерживает сопоставление IP-пространства со страной, которую вы можете использовать.для достижения своей цели.
Обратите внимание, что любая такая блокировка не будет даже близкой к идеальной.
Ответ @davidgo правильный, и вы должны его придерживаться, однако есть важное соображение, которое он не прояснил.
Это не будет одноразовая конфигурация. Списки GeoIP постоянно меняются, компании продают и покупают IP-блоки друг у друга, и я думаю, это происходит и между странами. Таким образом, черный список необходимо будет поддерживать. И поддерживать его будет не легче, чем строить. Вот почему вы часто видите не базу данных GeoIP , а GeoIP API — для запроса текущего состояния базы данных, которая поддерживается кем-то другим, и часто вы платите за это.
И я прошу вас быть очень осторожными с таким подходом. Не повторяйте дело Джойс Фогельман Тейлор против MaxMind. Вот что значит «не очень хорошо».