Cómo configurar un firewall usando firewalld en CentOS

Introducción
firewalld es un software de gestión de firewall disponible para muchas distribuciones de Linux, que actúa como interfaz para los sistemas de filtrado de paquetes nftables o iptables dentro del kernel de Linux.
En esta guía, le mostraremos cómo configurar un firewall firewalld para su servidor CentOS y cubriremos los conceptos básicos de la administración del firewall con la firewall-cmd
herramienta administrativa.
Prerrequisitos
Para completar este tutorial, necesitará un servidor que ejecute CentOS. Supondremos que ha iniciado sesión en este servidor como un usuario habilitado que no es root .sudo
Para configurarlo, consulte nuestra guía Configuración inicial del servidor para CentOS.
Conceptos básicos de firewalld
Antes de comenzar a hablar sobre cómo usar realmente la firewall-cmd
utilidad para administrar la configuración del firewall, debemos familiarizarnos con algunos conceptos que presenta la herramienta.
Zonas
El firewalld
demonio administra grupos de reglas mediante entidades llamadas zonas. Las zonas son conjuntos de reglas que dictan qué tráfico se debe permitir según el nivel de confianza que tenga en la red. Las interfaces de red se asignan a una zona para dictar el comportamiento que debe permitir el firewall.
En el caso de los equipos que pueden moverse entre redes con frecuencia (como los portátiles), este tipo de flexibilidad proporciona un buen método para cambiar las reglas en función del entorno. Es posible que tenga reglas estrictas que prohíban la mayor parte del tráfico cuando se opera en una red WiFi pública, pero que permitan restricciones más laxas cuando se conecta a su red doméstica. En el caso de un servidor, estas zonas no suelen ser tan importantes porque el entorno de red rara vez cambia, o nunca.
Independientemente de lo dinámico que pueda ser su entorno de red, sigue siendo útil familiarizarse con la idea general detrás de cada una de las zonas predefinidas para firewalld
. Las zonas predefinidas dentro firewalld
son, en orden de menos confiable a más confiable :
- Drop : el nivel de confianza más bajo. Todas las conexiones entrantes se descartan sin respuesta y solo son posibles las conexiones salientes.
- bloque : similar al anterior, pero en lugar de simplemente descartar las conexiones, las solicitudes entrantes se rechazan con un mensaje
icmp-host-prohibited
oicmp6-adm-prohibited
. - público : representa redes públicas que no son de confianza. No confía en otras computadoras, pero puede permitir conexiones entrantes seleccionadas según cada caso.
- externa : redes externas en caso de que estés usando el firewall como puerta de enlace. Está configurada para enmascaramiento NAT, de modo que tu red interna permanezca privada pero accesible.
- Interno : El otro lado de la zona externa, que se utiliza para la parte interna de una puerta de enlace. Las computadoras son bastante confiables y hay algunos servicios adicionales disponibles.
- dmz : se utiliza para equipos ubicados en una DMZ (equipos aislados que no tendrán acceso al resto de la red). Solo se permiten determinadas conexiones entrantes.
- work : Se utiliza para máquinas de trabajo. Confía en la mayoría de las computadoras de la red. Se pueden permitir algunos servicios más.
- home : Un entorno doméstico. Generalmente implica que confías en la mayoría de las otras computadoras y que se aceptarán algunos servicios más.
- Trusted : Confía en todas las máquinas de la red. Es la opción más abierta de las disponibles y se debe utilizar con moderación.
Para utilizar el firewall, podemos crear reglas y alterar las propiedades de nuestras zonas y luego asignar nuestras interfaces de red a las zonas que sean más apropiadas.
Permanencia de la regla
En firewalld, las reglas se pueden aplicar al conjunto de reglas de tiempo de ejecución actual o se pueden hacer permanentes. Cuando se agrega o modifica una regla, de manera predeterminada, solo se modifica el firewall que se está ejecutando actualmente . Después del siguiente reinicio (o recarga del firewalld
servicio), solo permanecerán las reglas permanentes.
La mayoría de firewall-cmd
las operaciones pueden incluir una --permanent
bandera para indicar que los cambios se deben aplicar a la configuración permanente. Además, el firewall que se está ejecutando actualmente se puede guardar en la configuración permanente con el firewall-cmd --runtime-to-permanent
comando.
Esta separación entre el tiempo de ejecución y la configuración permanente significa que usted puede probar reglas de manera segura en su firewall activo y luego recargarlo para comenzar de nuevo si hay problemas.
Instalación y habilitación de firewalld
firewalld
Se instala de forma predeterminada en algunas distribuciones de Linux, incluidas muchas imágenes de CentOS. Sin embargo, es posible que deba instalarlo firewalld
usted mismo:
sudo dnf install firewalld
Después de instalarlo firewalld
, puede habilitar el servicio y reiniciar el servidor. Tenga en cuenta que habilitar firewalld hará que el servicio se inicie durante el arranque. Se recomienda crear reglas de firewall y probarlas antes de configurar este comportamiento para evitar posibles problemas.
sudo systemctl enable firewalldsudo systemctl start firewalld
Cuando el servidor se reinicie, su firewall debería activarse, sus interfaces de red deberían colocarse en las zonas que configuró (o volver a la zona predeterminada configurada) y cualquier regla asociada con las zonas se aplicará a las interfaces asociadas.
Podemos verificar que el servicio está funcionando y es accesible escribiendo:
sudo firewall-cmd --state
Outputrunning
Esto indica que nuestro firewall está funcionando con la configuración predeterminada.
Familiarizarse con las reglas actuales del firewall
Antes de comenzar a realizar modificaciones, debemos familiarizarnos con el entorno predeterminado y las reglas proporcionadas por firewalld.
Explorando los valores predeterminados
Podemos ver qué zona está seleccionada actualmente como predeterminada escribiendo:
firewall-cmd --get-default-zone
Outputpublic
Dado que no le hemos dado a firewalld ningún comando para desviarse de la zona predeterminada y ninguna de nuestras interfaces está configurada para vincularse a otra zona, esa zona también será la única zona activa (la zona que controla el tráfico de nuestras interfaces). Podemos verificarlo escribiendo:
firewall-cmd --get-active-zones
Outputpublic interfaces: eth0 eth1
Aquí podemos ver que nuestro servidor de ejemplo tiene dos interfaces de red controladas por el firewall ( eth0
y eth1
). Ambas se administran actualmente de acuerdo con las reglas definidas para la zona pública .
¿Pero cómo sabemos qué reglas están asociadas con la zona pública ? Podemos imprimir la configuración de la zona predeterminada escribiendo:
sudo firewall-cmd --list-all
Outputpublic (active) target: default icmp-block-inversion: no interfaces: eth0 eth1 sources: services: cockpit dhcpv6-client ssh ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:
Podemos saber a partir de la salida que esta zona es la predeterminada y la activa, y que las interfaces eth0
y eth1
están asociadas con esta zona (todo esto ya lo sabíamos de nuestras consultas anteriores). Sin embargo, también podemos ver que esta zona permite el tráfico para un cliente DHCP (para la asignación de direcciones IP), SSH (para administración remota) y Cockpit (una consola basada en web).
Explorando zonas alternativas
Ahora tenemos una buena idea de la configuración de la zona predeterminada y activa. También podemos obtener información sobre otras zonas.
Para obtener una lista de las zonas disponibles, escriba:
firewall-cmd --get-zones
Outputblock dmz drop external home internal public trusted work
Podemos ver la configuración específica asociada a una zona incluyendo el --zone=
parámetro en nuestro --list-all
comando:
sudo firewall-cmd --zone=home --list-all
Outputhome target: default icmp-block-inversion: no interfaces: sources: services: cockpit dhcpv6-client mdns samba-client ssh ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:
Puede generar todas las definiciones de zona mediante la --list-all-zones
opción. Probablemente desee enviar la salida a un buscapersonas para que sea más fácil de ver:
sudo firewall-cmd --list-all-zones | less
A continuación aprenderemos cómo asignar zonas a las interfaces de red.
Selección de zonas para sus interfaces
A menos que haya configurado sus interfaces de red de otra manera, cada interfaz se colocará en la zona predeterminada cuando se inicie el firewall.
Cambiar la zona de una interfaz
Puede mover una interfaz entre zonas durante una sesión utilizando el --zone=
parámetro en combinación con el --change-interface=
parámetro . Al igual que con todos los comandos que modifican el firewall, deberá utilizar sudo
.
Por ejemplo, podemos mover nuestra eth0
interfaz a la zona de inicio escribiendo esto:
sudo firewall-cmd --zone=home --change-interface=eth0
Outputsuccess
Nota: Siempre que mueva una interfaz a una nueva zona, tenga en cuenta que probablemente esté modificando los servicios que estarán operativos. Por ejemplo, aquí nos estamos moviendo a la zona de inicio , que tiene SSH disponible. Esto significa que nuestra conexión no debería interrumpirse. Algunas otras zonas no tienen SSH habilitado de manera predeterminada y cambiar a una de estas zonas podría provocar que su conexión se interrumpa, lo que le impediría volver a iniciar sesión en su servidor.
Podemos verificar que esto fue exitoso preguntando nuevamente por las zonas activas:
firewall-cmd --get-active-zones
Outputhome interfaces: eth0public interfaces: eth1
Ajuste de la zona predeterminada
Si todas sus interfaces pueden manejarse bien mediante una sola zona, probablemente sea más fácil simplemente designar la mejor zona como predeterminada y luego usarla para su configuración.
Puede cambiar la zona predeterminada con el --set-default-zone=
parámetro. Esto cambiará inmediatamente cualquier interfaz que utilice la zona predeterminada:
sudo firewall-cmd --set-default-zone=home
Outputsuccess
Establecer reglas para sus aplicaciones
Repasemos la forma básica de definir excepciones de firewall para los servicios que desea que estén disponibles.
Cómo agregar un servicio a sus zonas
El método más sencillo es agregar los servicios o puertos que necesita a las zonas que está utilizando. Puede obtener una lista de las definiciones de servicios disponibles con la --get-services
opción:
firewall-cmd --get-services
OutputRH-Satellite-6 amanda-client amanda-k5-client amqp amqps apcupsd audit bacula bacula-client bb bgp bitcoin bitcoin-rpc bitcoin-testnet bitcoin-testnet-rpc bittorrent-lsd ceph ceph-mon cfengine cockpit condor-collector ctdb dhcp dhcpv6 dhcpv6-client distcc dns dns-over-tls docker-registry docker-swarm dropbox-lansync elasticsearch etcd-client etcd-server finger freeipa-4 freeipa-ldap freeipa-ldaps freeipa-replication freeipa-trust ftp ganglia-client ganglia-master git grafana gre high-availability http https imap imaps ipp ipp-client ipsec irc ircs iscsi-target isns jenkins kadmin kdeconnect kerberos kibana klogin kpasswd kprop kshell ldap ldaps libvirt libvirt-tls lightning-network llmnr managesieve matrix mdns memcache minidlna mongodb mosh mountd mqtt mqtt-tls ms-wbt mssql murmur mysql nfs nfs3 nmea-0183 nrpe ntp nut openvpn ovirt-imageio ovirt-storageconsole ovirt-vmconsole plex pmcd pmproxy pmwebapi pmwebapis pop3 pop3s postgresql privoxy prometheus proxy-dhcp ptp pulseaudio puppetmaster quassel radius rdp redis redis-sentinel rpc-bind rsh rsyncd rtsp salt-master samba samba-client samba-dc sane sip sips slp smtp smtp-submission smtps snmp snmptrap spideroak-lansync spotify-sync squid ssdp ssh steam-streaming svdrp svn syncthing syncthing-gui synergy syslog syslog-tls telnet tentacle tftp tftp-client tile38 tinc tor-socks transmission-client upnp-client vdsm vnc-server wbem-http wbem-https wsman wsmans xdmcp xmpp-bosh xmpp-client xmpp-local xmpp-server zabbix-agent zabbix-server
Nota: Puede obtener más detalles sobre cada uno de estos servicios consultando el .xml
archivo asociado dentro del /usr/lib/firewalld/services
directorio. Por ejemplo, el servicio SSH se define de la siguiente manera:
/usr/lib/firewalld/services/ssh.xml
?xml version="1.0" encoding="utf-8"?service shortSSH/short descriptionSecure Shell (SSH) is a protocol for logging into and executing commands on remote machines. It provides secure encrypted communications. If you plan on accessing your machine remotely via SSH over a firewalled interface, enable this option. You need the openssh-server package installed for this option to be useful./description port protocol="tcp" port="22"//service
Puede habilitar un servicio para una zona mediante el --add-service=
parámetro. La operación se dirigirá a la zona predeterminada o a cualquier zona especificada por el --zone=
parámetro. De manera predeterminada, esto solo ajustará la sesión de firewall actual. Puede ajustar la configuración permanente del firewall incluyendo el --permanent
indicador.
Por ejemplo, si estamos ejecutando un servidor web que atiende tráfico HTTP convencional, podemos permitir temporalmente este tráfico para las interfaces en nuestra zona pública escribiendo:
sudo firewall-cmd --zone=public --add-service=http
Puede omitir la --zone=
bandera si desea modificar la zona predeterminada. Podemos verificar que la operación se realizó correctamente mediante las operaciones --list-all
o :--list-services
sudo firewall-cmd --zone=public --list-services
Outputcockpit dhcpv6-client http ssh
Una vez que hayas comprobado que todo funciona como debería, probablemente quieras modificar las reglas de firewall permanentes para que tu servicio siga estando disponible después de reiniciar. Podemos hacer que nuestro cambio anterior sea permanente si lo volvemos a escribir y añadimos la --permanent
bandera:
sudo firewall-cmd --zone=public --add-service=http --permanent
Outputsuccess
Alternativamente, puede utilizar la --runtime-to-permanent
bandera para guardar la configuración del firewall que se está ejecutando actualmente en la configuración permanente:
sudo firewall-cmd --runtime-to-permanent
Tenga cuidado con esto, ya que todos los cambios realizados en el firewall en ejecución se confirmarán de forma permanente.
Independientemente del método que haya elegido, puede comprobar que se ha realizado correctamente añadiendo la --permanent
bandera a la --list-services
operación. Debe utilizar sudo
para cualquier --permanent
operación:
sudo firewall-cmd --zone=public --list-services --permanent
Outputcockpit dhcpv6-client http ssh
Su zona pública ahora permitirá el tráfico web HTTP en el puerto 80. Si su servidor web está configurado para usar SSL/TLS, también querrá agregar el https
servicio. Podemos agregarlo a la sesión actual y al conjunto de reglas permanentes escribiendo:
sudo firewall-cmd --zone=public --add-service=httpssudo firewall-cmd --zone=public --add-service=https --permanent
¿Qué pasa si no hay ningún servicio adecuado disponible?
Los servicios que se incluyen con la instalación de firewalld representan muchas de las aplicaciones más comunes a las que quizás desee permitir el acceso. Sin embargo, es probable que haya situaciones en las que estos servicios no se ajusten a sus requisitos.
En esta situación, tienes dos opciones.
Abrir un puerto para tus zonas
La forma más sencilla de agregar compatibilidad para su aplicación específica es abrir los puertos que utiliza en las zonas correspondientes. Esto se hace especificando el puerto o el rango de puertos y el protocolo asociado (TCP o UDP) para los puertos.
Por ejemplo, si nuestra aplicación se ejecuta en el puerto 5000 y utiliza TCP, podríamos agregarlo temporalmente a la zona pública--add-port=
mediante el parámetro . Los protocolos se pueden designar como tcp
o udp
:
sudo firewall-cmd --zone=public --add-port=5000/tcp
Outputsuccess
Podemos verificar que esto fue exitoso mediante la --list-ports
operación:
sudo firewall-cmd --zone=public --list-ports
Output5000/tcp
También es posible especificar un rango secuencial de puertos separando el puerto inicial y final del rango con un guión. Por ejemplo, si nuestra aplicación utiliza los puertos UDP 4990 a 4999, podríamos abrirlos en público escribiendo:
sudo firewall-cmd --zone=public --add-port=4990-4999/udp
Después de realizar la prueba, es probable que queramos agregarlos al firewall permanente. sudo firewall-cmd --runtime-to-permanent
Para ello, use o vuelva a ejecutar los comandos con la --permanent
bandera:
sudo firewall-cmd --zone=public --permanent --add-port=5000/tcpsudo firewall-cmd --zone=public --permanent --add-port=4990-4999/udpsudo firewall-cmd --zone=public --permanent --list-ports
Outputsuccesssuccess5000/tcp 4990-4999/udp
Definición de un servicio
Abrir puertos para las zonas es una solución sencilla, pero puede resultar difícil hacer un seguimiento de la función de cada uno de ellos. Si alguna vez desactiva un servicio en su servidor, es posible que le resulte difícil recordar qué puertos abiertos siguen siendo necesarios. Para evitar esta situación, es posible definir un nuevo servicio.
Los servicios son conjuntos de puertos con un nombre y una descripción asociados. El uso de servicios es más fácil de administrar que el de puertos, pero requiere un poco de trabajo previo. La forma más sencilla de empezar es copiar un script existente (que se encuentra en /usr/lib/firewalld/services
) al /etc/firewalld/services
directorio donde el firewall busca definiciones no estándar.
Por ejemplo, podríamos copiar la definición del servicio SSH para usarla en nuestro ejemplo de definición de servicio de la siguiente manera. El nombre del archivo menos el .xml
sufijo determinará el nombre del servicio dentro de la lista de servicios del firewall:
sudo cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/example.xml
Ahora, puedes ajustar la definición que se encuentra en el archivo que copiaste. Primero, ábrelo en tu editor de texto favorito. Usaremos vi
aquí:
sudo vi /etc/firewalld/services/example.xml
Para comenzar, el archivo contendrá la definición SSH que copiaste:
/etc/firewalld/services/example.xml
?xml version="1.0" encoding="utf-8"?service shortSSH/short descriptionSecure Shell (SSH) is a protocol for logging into and executing commands on remote machines. It provides secure encrypted communications. If you plan on accessing your machine remotely via SSH over a firewalled interface, enable this option. You need the openssh-server package installed for this option to be useful./description port protocol="tcp" port="22"//service
La mayor parte de esta definición son metadatos. Deberá cambiar el nombre corto del servicio dentro de las short
etiquetas. Este es un nombre legible para el servicio. También debe agregar una descripción para tener más información si alguna vez necesita auditar el servicio. La única configuración que necesita realizar y que realmente afecta la funcionalidad del servicio probablemente será la definición del puerto donde identifica el número de puerto y el protocolo que desea abrir. port/
Se pueden especificar varias etiquetas.
Para nuestro servicio de ejemplo , imaginemos que necesitamos abrir el puerto 7777 para TCP y el 8888 para UDP. Podemos modificar la definición existente con algo como esto:
/etc/firewalld/services/example.xml
?xml version="1.0" encoding="utf-8"?service shortExample Service/short descriptionThis is just an example service. It probably shouldn't be used on a real system./description port protocol="tcp" port="7777"/ port protocol="udp" port="8888"//service
Guarde y cierre el archivo.
Recargue su firewall para obtener acceso a su nuevo servicio:
sudo firewall-cmd --reload
Puedes ver que ahora está entre la lista de servicios disponibles:
firewall-cmd --get-services
OutputRH-Satellite-6 amanda-client amanda-k5-client amqp amqps apcupsd audit bacula bacula-client bb bgp bitcoin bitcoin-rpc bitcoin-testnet bitcoin-testnet-rpc bittorrent-lsd ceph ceph-mon cfengine cockpit condor-collector ctdb dhcp dhcpv6 dhcpv6-client distcc dns dns-over-tls docker-registry docker-swarm dropbox-lansync elasticsearch etcd-client etcd-server example finger freeipa-4 freeipa-ldap freeipa-ldaps freeipa-replication freeipa-trust ftp ganglia-client ganglia-master git grafana gre high-availability http https imap imaps ipp ipp-client ipsec irc ircs iscsi-target isns jenkins kadmin kdeconnect kerberos kibana klogin kpasswd kprop kshell ldap ldaps libvirt libvirt-tls lightning-network llmnr managesieve matrix mdns memcache minidlna mongodb mosh mountd mqtt mqtt-tls ms-wbt mssql murmur mysql nfs nfs3 nmea-0183 nrpe ntp nut openvpn ovirt-imageio ovirt-storageconsole ovirt-vmconsole plex pmcd pmproxy pmwebapi pmwebapis pop3 pop3s postgresql privoxy prometheus proxy-dhcp ptp pulseaudio puppetmaster quassel radius rdp redis redis-sentinel rpc-bind rsh rsyncd rtsp salt-master samba samba-client samba-dc sane sip sips slp smtp smtp-submission smtps snmp snmptrap spideroak-lansync spotify-sync squid ssdp ssh steam-streaming svdrp svn syncthing syncthing-gui synergy syslog syslog-tls telnet tentacle tftp tftp-client tile38 tinc tor-socks transmission-client upnp-client vdsm vnc-server wbem-http wbem-https wsman wsmans xdmcp xmpp-bosh xmpp-client xmpp-local xmpp-server zabbix-agent zabbix-server
Ahora puedes utilizar este servicio en tus zonas como lo harías normalmente.
Creando tus propias zonas
Si bien las zonas predefinidas probablemente serán más que suficientes para la mayoría de los usuarios, puede ser útil definir sus propias zonas que sean más descriptivas de su función.
Por ejemplo, es posible que desee crear una zona para su servidor web, denominada publicweb . Sin embargo, es posible que desee tener otra zona configurada para el servicio DNS que proporciona en su red privada. Es posible que desee una zona denominada "privateDNS" para ello.
Al agregar una zona, debe agregarla a la configuración permanente del firewall. Luego, puede volver a cargarla para incorporar la configuración a su sesión en ejecución. Por ejemplo, podríamos crear las dos zonas que analizamos anteriormente escribiendo:
sudo firewall-cmd --permanent --new-zone=publicwebsudo firewall-cmd --permanent --new-zone=privateDNS
Puede verificar que estén presentes en su configuración permanente escribiendo:
sudo firewall-cmd --permanent --get-zones
Outputblock dmz drop external home internal privateDNS public publicweb trusted work
Como se indicó anteriormente, estos aún no estarán disponibles en el firewall en tiempo de ejecución:
firewall-cmd --get-zones
Outputblock dmz drop external home internal public trusted work
Recargue el firewall para incorporar estas nuevas zonas a la configuración de tiempo de ejecución activa:
sudo firewall-cmd --reloadfirewall-cmd --get-zones
Outputblock dmz drop external home internal privateDNS public publicweb trusted work
Ahora, puede comenzar a asignar los servicios y puertos adecuados a sus zonas. Por lo general, es una buena idea ajustar el firewall en tiempo de ejecución y luego guardar esos cambios en la configuración permanente después de la prueba. Por ejemplo, para la zona web pública , es posible que desee agregar los servicios SSH, HTTP y HTTPS:
sudo firewall-cmd --zone=publicweb --add-service=sshsudo firewall-cmd --zone=publicweb --add-service=httpsudo firewall-cmd --zone=publicweb --add-service=httpssudo firewall-cmd --zone=publicweb --list-all
Outputpublicweb target: default icmp-block-inversion: no interfaces: sources: services: http https ssh ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:
Del mismo modo, podemos añadir el servicio DNS a nuestra zona DNS privada :
sudo firewall-cmd --zone=privateDNS --add-service=dnssudo firewall-cmd --zone=privateDNS --list-all
OutputprivateDNS target: default icmp-block-inversion: no interfaces: sources: services: dns ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:
Luego podríamos cambiar nuestras interfaces a estas nuevas zonas para probarlas:
sudo firewall-cmd --zone=publicweb --change-interface=eth0sudo firewall-cmd --zone=privateDNS --change-interface=eth1
En este punto, tienes la oportunidad de probar tu configuración. Si estos valores funcionan para ti, querrás agregar estas reglas a la configuración permanente. Puedes hacerlo ejecutando todos los comandos nuevamente con la --permanent
bandera adjunta, pero en este caso usaremos la --runtime-to-permanent
bandera para guardar toda nuestra configuración de tiempo de ejecución de forma permanente:
sudo firewall-cmd --runtime-to-permanent
Después de aplicar permanentemente estas reglas, vuelva a cargar el firewall para comprobar que los cambios permanecen:
sudo firewall-cmd --reload
Validar que se hayan asignado las zonas correctas:
firewall-cmd --get-active-zones
OutputprivateDNS interfaces: eth1publicweb interfaces: eth0
Y validar que los servicios adecuados estén disponibles para ambas zonas:
sudo firewall-cmd --zone=publicweb --list-services
Outputhttp https ssh
sudo firewall-cmd --zone=privateDNS --list-services
Outputdns
¡Ha configurado correctamente sus propias zonas! Si desea que una de estas zonas sea la predeterminada para otras interfaces, recuerde configurar ese comportamiento con el --set-default-zone=
parámetro:
sudo firewall-cmd --set-default-zone=publicweb
Conclusión
Ahora debería tener una comprensión bastante completa de cómo administrar el servicio firewalld en su sistema CentOS para el uso diario.
El servicio firewalld le permite configurar reglas y conjuntos de reglas que se puedan mantener y que tengan en cuenta su entorno de red. Le permite realizar transiciones sin inconvenientes entre diferentes políticas de firewall mediante el uso de zonas y brinda a los administradores la capacidad de abstraer la administración de puertos en definiciones de servicios más amigables. Adquirir un conocimiento práctico de este sistema le permitirá aprovechar la flexibilidad y la potencia que brinda esta herramienta.
Para obtener más información sobre firewalld, consulte la documentación oficial de firewalld.
Deja una respuesta