Me preguntaba sobre la semántica deipset(8)
.
¿Es posible agregar una regla que coincida con un conjunto iptables
y luego manipularlo, o solo puedo crear un conjunto e intercambiarlo por un conjunto anterior para aplicarlo a una iptables
regla que coincida con el nombre?Es decir, ¿puedo agregar/eliminar a/desde un conjunto de IP ad hoc, o puedo intercambiar conjuntos completos mientras los conjuntos están en uso activo?
La razón por la que pregunto es la siguiente. Digamos que creo un conjunto
ipset create PCs hash:ip
ipset add PCs 1.1.1.1
ipset add PCs 2.2.2.2
... etcétera. Y una regla que permite el acceso a HTTP:
iptables -A INPUT -p tcp --dport 80 -m set --set PCs src -j ACCEPT
¿Qué sucede cuando corro?
ipset add PCs 3.3.3.3
¿La iptables
regla ahora tendrá efecto inmediato también para IP 3.3.3.3?
Vi que es posible usarlo -j SET --add-set ...
para manipular conjuntos de IP ad hoc desde dentro de iptables
las reglas. Esto me hace pensar que debería funcionar para manipular un conjunto en cualquier punto dado.
Sin embargo, el ipset
sitio del proyecto parece sugerir que cambiar un conjunto nuevo (ajustado) por otro es la mejor alternativa. Ya sea vía ipset swap
o vía ipset restore -!
.
¿Alguien puede arrojar luz sobre esto?
Respuesta1
Puede agregar y eliminar IP a sus conjuntos ya definidos sobre la marcha. Esta es una de las ideas detrás de los IPsets: si esto no fuera posible, toda la set
extensión iptables
no tendría mucho sentido.
El objetivo principal ipset
era permitirle definir (también dinámicamente) clases de coincidencias (por ejemplo, para incluir dinámicamente en la lista negra hosts maliciosos sin la necesidad de agregar mágicamente una regla para cada host).
extracto de lapágina de inicio de ipset
- almacene múltiples direcciones IP o números de puerto y coteje con la colección mediante iptables de una sola vez
- actualizar dinámicamente las reglas de iptables contra direcciones IP o puertos sin penalización en el rendimiento
- exprese conjuntos de reglas complejos basados en direcciones IP y puertos con una única regla de iptables y benefíciese de la velocidad de los conjuntos de IP