5.15. Ajuste y control de los conjuntos IP mediante firewalld
Para ver la lista de tipos de conjuntos de IP soportados por firewalld
, introduzca el siguiente comando como root.
~]# firewall-cmd --get-ipset-types hash:ip hash:ip,mark hash:ip,port hash:ip,port,ip hash:ip,port,net hash:mac hash:net hash:net,iface hash:net,net hash:net,port hash:net,port,net
5.15.1. Configuración de las opciones del conjunto IP mediante la CLI
Los conjuntos de IP se pueden utilizar en las zonas de firewalld
como fuentes y también como fuentes en reglas ricas. En Red Hat Enterprise Linux, el método preferido es utilizar los conjuntos de IP creados con firewalld
en una regla directa.
Para listar los conjuntos de IP conocidos por
firewalld
en el entorno permanente, utilice el siguiente comando comoroot
:# firewall-cmd --permanent --get-ipsets
Para añadir un nuevo conjunto de IP, utilice el siguiente comando utilizando el entorno permanente como
root
:# firewall-cmd --permanent --new-ipset=test --type=hash:net success
El comando anterior crea un nuevo conjunto IP con el nombre test y el tipo
hash:net
paraIPv4
. Para crear un conjunto de IP para usar conIPv6
, añada la opción--option=family=inet6
. Para que la nueva configuración sea efectiva en el entorno de ejecución, vuelva a cargarfirewalld
.Enumere el nuevo conjunto de IP con el siguiente comando como
root
:# firewall-cmd --permanent --get-ipsets test
Para obtener más información sobre el conjunto de IP, utilice el siguiente comando como
root
:# firewall-cmd --permanent --info-ipset=test test type: hash:net options: entries:
Tenga en cuenta que el conjunto de IP no tiene ninguna entrada en este momento.
Para añadir una entrada al conjunto de IP de test, utilice el siguiente comando como
root
:# firewall-cmd --permanent --ipset=test --add-entry=192.168.0.1 success
El comando anterior añade la dirección IP 192.168.0.1 al conjunto de IP.
Para obtener la lista de entradas actuales en el conjunto de IP, utilice el siguiente comando como
root
:# firewall-cmd --permanent --ipset=test --get-entries 192.168.0.1
Generar un archivo con una lista de direcciones IP, por ejemplo:
# cat > iplist.txt <<EOL 192.168.0.2 192.168.0.3 192.168.1.0/24 192.168.2.254 EOL
El archivo con la lista de direcciones IP para un conjunto de IP debe contener una entrada por línea. Las líneas que comienzan con una almohadilla, un punto y coma o líneas vacías se ignoran.
Para añadir las direcciones del archivo iplist.txt, utilice el siguiente comando como
root
:# firewall-cmd --permanent --ipset=test --add-entries-from-file=iplist.txt success
Para ver la lista de entradas extendidas del conjunto de IP, utilice el siguiente comando como
root
:# firewall-cmd --permanent --ipset=test --get-entries 192.168.0.1 192.168.0.2 192.168.0.3 192.168.1.0/24 192.168.2.254
Para eliminar las direcciones del conjunto de IP y comprobar la lista de entradas actualizada, utilice los siguientes comandos como
root
:# firewall-cmd --permanent --ipset=test --remove-entries-from-file=iplist.txt success # firewall-cmd --permanent --ipset=test --get-entries 192.168.0.1
Puede añadir el conjunto de IPs como origen a una zona para gestionar todo el tráfico procedente de cualquiera de las direcciones listadas en el conjunto de IPs con una zona. Por ejemplo, para añadir el conjunto de IPs test como origen a la zona drop para descartar todos los paquetes procedentes de todas las entradas listadas en el conjunto de IPs test, utilice el siguiente comando como
root
:# firewall-cmd --permanent --zone=drop --add-source=ipset:test success
El prefijo
ipset:
en el origen muestra afirewalld
que el origen es un conjunto de IP y no una dirección IP o un rango de direcciones.
Sólo la creación y eliminación de conjuntos de IP está limitada al entorno permanente, todas las demás opciones de conjuntos de IP pueden utilizarse también en el entorno de ejecución sin la opción --permanent
.
Red Hat no recomienda el uso de conjuntos de IP que no sean gestionados a través de firewalld
. Para usar tales conjuntos de IP, se requiere una regla directa permanente para referenciar el conjunto, y se debe agregar un servicio personalizado para crear estos conjuntos de IP. Este servicio debe iniciarse antes de que se inicie firewalld, de lo contrario firewalld
no podrá añadir las reglas directas que utilizan estos conjuntos. Puede añadir reglas directas permanentes con el archivo /etc/firewalld/direct.xml
.