Нужно ли мне менять наборы IP-адресов или я могу добавлять/удалять их «на лету»?

Нужно ли мне менять наборы IP-адресов или я могу добавлять/удалять их «на лету»?

Я задавался вопросом о семантикеipset(8).

Можно ли добавить правило, соответствующее набору iptables, а затем манипулировать этим набором, или я могу только создать набор и заменить его на более старый набор, чтобы применить его к iptablesправилу, соответствующему имени?Т.е. могу ли я добавлять/удалять IP-адреса из набора IP-адресов ad hoc или могу ли я обмениваться целыми наборами, пока они активно используются?


Причина, по которой я спрашиваю, заключается в следующем. Допустим, я создаю набор

ipset create PCs hash:ip
ipset add PCs 1.1.1.1
ipset add PCs 2.2.2.2

... и т. д. И правило, разрешающее доступ к HTTP:

iptables -A INPUT -p tcp --dport 80 -m set --set PCs src -j ACCEPT

Что происходит, когда я бегу:

ipset add PCs 3.3.3.3

вступит ли это iptablesправило в силу немедленно и для IP 3.3.3.3?

Я видел, что можно использовать -j SET --add-set ...для манипуляции наборами IP ad hoc из iptablesправил. Это заставляет меня думать, что это должно работать для манипулирования набором в любой заданной точке.

Однако ipsetсайт проекта, похоже, предполагает, что замена нового (отрегулированного) набора на другой — лучшая альтернатива. Будь то через ipset swapили через ipset restore -!.

Может ли кто-нибудь пролить свет на этот вопрос?

решение1

Вы можете добавлять и удалять IP-адреса в уже определенные вами наборы на лету. Это одна из идей, стоящих за IPsets: если бы это было невозможно, все setрасширение iptablesне имело бы особого смысла.

Основная цель ipsetсостояла в том, чтобы дать вам возможность определять (также динамически) классы совпадений (например, для динамического занесения в черный список вредоносных хостов без необходимости магическим образом добавлять по одному правилу для каждого отдельного хоста).

выдержка издомашняя страница ipset

  • хранить несколько IP-адресов или номеров портов и сопоставлять их с коллекцией iptables одним махом
  • динамически обновлять правила iptables для IP-адресов или портов без потери производительности
  • выражайте сложные наборы правил на основе IP-адресов и портов с помощью одного правила iptables и пользуйтесь скоростью наборов IP-адресов

Связанный контент