Внесите в белый список весь трафик из США, в черный список весь трафик за пределами США. Можно ли это сделать по коду страны, а не по 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. Вот что значит «не очень хорошо».

Другие вопросы по тегам