Preciso trocar conjuntos de IP ou posso adicionar/remover imediatamente?

Preciso trocar conjuntos de IP ou posso adicionar/remover imediatamente?

Eu queria saber sobre a semântica deipset(8).

É possível adicionar uma regra que corresponda a um conjunto iptablese depois manipular o conjunto, ou posso apenas criar um conjunto e trocá-lo por um conjunto mais antigo para aplicá-lo a uma iptablesregra que corresponda ao nome?Ou seja, posso adicionar/remover de/para um conjunto de IP ad hoc ou posso trocar conjuntos inteiros enquanto os conjuntos estão em uso ativo?


A razão pela qual pergunto é a seguinte. Digamos que eu crie um conjunto

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

... etc. E uma regra que permite acesso ao HTTP:

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

O que acontece quando corro:

ipset add PCs 3.3.3.3

a iptablesregra agora terá efeito imediato também para IP 3.3.3.3?

Eu vi que é possível manipular -j SET --add-set ...conjuntos de IP ad hoc dentro das iptablesregras. Isso me faz pensar que deveria funcionar manipular um conjunto em qualquer ponto.

Contudo, o ipsetlocal do projeto parece sugerir que trocar um conjunto novo (ajustado) por outro é a melhor alternativa. Seja via ipset swapou via ipset restore -!.

Alguém pode esclarecer isto?

Responder1

Você pode adicionar e remover IPs de seus conjuntos já definidos instantaneamente. Esta é uma das ideias por trás dos IPsets: se isto não fosse possível, toda a setextensão de iptablesnão faria muito sentido.

O objetivo principal ipsetera permitir que você definisse (também dinamicamente) classes de correspondências (por exemplo, para colocar hosts maliciosos na lista negra dinamicamente, sem a necessidade de adicionar magicamente uma regra para cada host).

trecho dopágina inicial do ipset

  • armazene vários endereços IP ou números de porta e compare com a coleção do iptables de uma só vez
  • atualizar dinamicamente as regras do iptables em endereços IP ou portas sem perda de desempenho
  • expresse conjuntos de regras complexos baseados em portas e endereços IP com uma única regra iptables e se beneficie da velocidade dos conjuntos de IP

informação relacionada