Comment configurer un pare-feu à l'aide de firewalld sur Rocky Linux 8
Introduction
firewalld est un logiciel de gestion de pare-feu disponible pour de nombreuses distributions Linux, qui agit comme une interface pour les systèmes de filtrage de paquets intégrés au noyau Linux nftables ou iptables.
Dans ce guide, vous découvrirez comment configurer un firewalld
pare-feu pour votre serveur Rocky Linux 8 et couvrez les principes fondamentaux de la gestion du pare-feu avec le firewall-cmd
outil administratif.
Conditions préalables
Pour terminer ce didacticiel, vous aurez besoin d'un serveur exécutant Rocky Linux 8. Vous devez être connecté à ce serveur en tant que non-root, sudo
-utilisateur activé. Pour le configurer, consultez notre guide Configuration initiale du serveur pour Rocky Linux 8.
Étape 1 - Examen des concepts de base dans firewalld
Avant d'examiner comment utiliser réellement le firewall-cmd
pour gérer la configuration de votre pare-feu, vous devez vous familiariser avec quelques concepts introduits par l'outil.
Zones
La firewalld
démon gère des groupes de règles à l'aide d'entités appelées zones. Les zones sont des ensembles de règles qui dictent le trafic à autoriser en fonction du niveau de confiance que vous avez dans le réseau. Les interfaces réseau sont affectées à une zone pour dicter le comportement que le pare-feu doit autoriser.
Pour les ordinateurs susceptibles de se déplacer fréquemment entre les réseaux (comme les ordinateurs portables), ce type de flexibilité offre une bonne méthode pour modifier vos règles en fonction de votre environnement. Vous pouvez avoir mis en place des règles strictes interdisant la plupart du trafic lorsque vous utilisez un réseau Wi-Fi public, tout en autorisant des restrictions plus souples lorsque vous êtes connecté à votre réseau domestique. Pour un serveur, ces zones ne sont souvent pas aussi importantes car l'environnement réseau change rarement, voire jamais.
Quelle que soit la dynamique de votre environnement réseau, il est toujours utile de se familiariser avec l'idée générale derrière chacune des zones prédéfinies pour firewalld
. Les zones prédéfinies dans firewalld
sont, dans l'ordre de le moins fiable à le plus fiable :
- drop : le niveau de confiance le plus bas. Toutes les connexions entrantes sont abandonnées sans réponse et seules les connexions sortantes sont possibles.
- block : similaire à ce qui précède, mais au lieu d'abandonner les connexions, les requêtes entrantes sont rejetées avec un
icmp-host-prohibited
ouicmp6-adm-prohibited
message. - public : représente les réseaux publics non approuvés. Vous ne faites pas confiance aux autres ordinateurs, mais vous pouvez autoriser certaines connexions entrantes au cas par cas.
- external : réseaux externes dans le cas où vous utilisez le pare-feu comme passerelle. Il est configuré pour le masquage NAT afin que votre réseau interne reste privé mais accessible.
- interne : L'autre côté de la zone externe, utilisé pour la partie interne d'une passerelle. Les ordinateurs sont assez fiables et certains services supplémentaires sont disponibles.
- dmz : Utilisé pour les ordinateurs situés dans une DMZ (ordinateurs isolés qui n'auront pas accès au rest de votre réseau). Seules certaines connexions entrantes sont autorisées.
- work : utilisé pour les machines de travail. Faites confiance à la plupart des ordinateurs du réseau. Quelques services supplémentaires pourraient être autorisés.
- home : un environnement domestique. Cela implique généralement que vous faites confiance à la plupart des autres ordinateurs et que quelques services supplémentaires seront acceptés.
- trusted : faites confiance à toutes les machines du réseau. La plus ouverte des options disponibles et doit être utilisée avec parcimonie.
Pour utiliser le pare-feu, vous pouvez créer des règles et modifier les propriétés de vos zones, puis affecter vos interfaces réseau aux zones les plus appropriées.
Permanence de la règle
Dans firewalld, les règles peuvent être appliquées à l'ensemble de règles actuel runtime, ou être rendues permanentes. Lorsqu'une règle est ajoutée ou modifiée, par défaut, seul le pare-feu en cours d'exécution est modifié. Après le prochain redémarrage - ou rechargement du firewalld
service – seules les règles permanentes resteront.
Plus firewall-cmd
les opérations peuvent prendre un --permanent
drapeau pour indiquer que les modifications doivent être appliquées à la configuration permanente. De plus, le pare-feu en cours d'exécution peut être enregistré dans la configuration permanente avec le firewall-cmd --runtime-to-permanent
commande.
Cette séparation entre l'exécution et la configuration permanente signifie que vous pouvez tester en toute sécurité les règles de votre pare-feu actif, puis recharger pour recommencer en cas de problème.
Étape 2 - Installation et activation du pare-feu
firewalld
est installé par défaut sur certaines distributions Linux, y compris de nombreux déploiements de Rocky Linux. Cependant, il peut être nécessaire que vous installiez vous-même un pare-feu. Vous pouvez le faire en utilisant Rocky's dnf
directeur chargé d'emballage:
sudo dnf install firewalld -y
Après avoir installé firewalld
, vous devrez activer le service à l'aide de systemctl
. Gardez à l'esprit que l'activation de firewalld entraînera le démarrage du service au démarrage. Il est préférable de créer vos règles de pare-feu et de profiter de l'occasion pour les tester tout en restant connecté via SSH pour éviter les problèmes potentiels.
sudo systemctl enable firewalld sudo systemctl start firewalld
Vous pouvez vérifier que le service est en cours d'exécution et accessible en tapant :
sudo firewall-cmd --state
Outputrunning
Cela indique que votre pare-feu est opérationnel avec la configuration par défaut. Avant d'apporter d'autres modifications, vous devez vous familiariser avec l'environnement par défaut et les règles fournies par firewalld.
Explorer les valeurs par défaut
Vous pouvez voir quelle zone est actuellement sélectionnée par défaut en exécutant firewall-cmd --get-default-zone
:
firewall-cmd --get-default-zone
Outputpublic
Étant donné que vous n'avez donné aucune commande à firewalld pour dévier de la zone par défaut et qu'aucune de vos interfaces n'est configurée pour se lier à une autre zone, cette zone sera également la seule zone active (la zone qui contrôle le trafic de nos interfaces). Vous pouvez le vérifier en exécutant firewall-cmd --get-active-zones
:
firewall-cmd --get-active-zones
Outputpublic interfaces: eth0 eth1
Ici, vous pouvez voir que votre exemple de serveur a deux interfaces réseau contrôlées par le pare-feu (eth0
et eth1
). Ils sont tous deux actuellement gérés selon les règles définies pour la zone publique.
Vous pouvez imprimer les règles liées à la configuration de la zone par défaut en utilisant firewall-cmd --list-all
:
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:
Vous pouvez dire à partir de la sortie que cette zone est à la fois la valeur par défaut et active, et que la eth0
et eth1
interfaces sont associées à cette zone. Du services:
, vous pouvez également voir que cette zone autorise le trafic pour un client DHCP (pour l'attribution d'adresse IP), SSH (pour l'administration à distance) et Cockpit (une console Web).
Explorer des zones alternatives
Vous pouvez également trouver des informations sur d'autres zones.
Pour obtenir une liste des zones disponibles, exécutez firewall-cmd --get-zones
:
firewall-cmd --get-zones
Outputblock dmz drop external home internal public trusted work
Vous pouvez voir la configuration spécifique associée à une zone en incluant le --zone=
paramètre dans votre --list-all
commande:
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:
Vous pouvez sortir toutes les définitions de zone en utilisant le --list-all-zones
option. Ensuite, vous apprendrez à attribuer des zones aux interfaces réseau.
Étape 3 - Sélection de zones pour vos interfaces
Sauf si vous avez configuré vos interfaces réseau autrement, chaque interface sera placée dans la zone par défaut au démarrage du pare-feu.
Modification de la zone d'une interface
Vous pouvez déplacer une interface entre les zones au cours d'une session en utilisant le --zone=
paramètre en combinaison avec le --change-interface=
paramètre. Comme pour toutes les commandes qui modifient le pare-feu, vous devrez utiliser sudo
.
Par exemple, vous pouvez déplacer votre eth0
interface vers la zone home :
sudo firewall-cmd --zone=home --change-interface=eth0
Outputsuccess
Remarque : Chaque fois que vous déplacez une interface vers une nouvelle zone, sachez que vous modifiez les services qui seront opérationnels. Dans ce cas, vous vous déplacez vers la zone home, qui dispose de SSH. Cela signifie que votre connexion ne devrait pas tomber. Certaines autres zones n'ont pas SSH activé par défaut, et le passage à l'une de ces zones pourrait entraîner l'interruption de votre connexion, vous empêchant de vous reconnecter à votre serveur.
Vous pouvez vérifier que cela a réussi en vérifiant à nouveau les zones actives :
firewall-cmd --get-active-zones
Outputhome interfaces: eth0 public interfaces: eth1
Réglage de la zone par défaut
Si toutes vos interfaces peuvent être bien gérées par une seule zone prédéfinie, vous devez désigner cette zone comme zone par défaut. Vous pouvez modifier la zone par défaut avec le --set-default-zone=
paramètre. Cela changera immédiatement toute interface utilisant la zone par défaut :
sudo firewall-cmd --set-default-zone=home
Outputsuccess
Étape 4 - Définir des règles pour vos applications
Passons en revue les manières de définir les exceptions de pare-feu.
Ajouter un service à vos zones
La méthode la plus simple consiste à ajouter les services ou les ports dont vous avez besoin aux zones que vous utilisez. Vous pouvez obtenir une liste des définitions de service disponibles en utilisant le --get-services
possibilité de firewall-cmd
:
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
Remarque : Vous pouvez trouver plus de détails sur chacun de ces services en consultant leurs .xml
dossier au sein du /usr/lib/firewalld/services
annuaire. Par exemple, le service SSH est défini comme ceci :
/usr/lib/firewalld/services/ssh.xml
<?xml version="1.0" encoding="utf-8"?> <service> <short>SSH</short> <description>Secure 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>
Vous pouvez activer un service pour une zone à l'aide de la --add-service=
paramètre. L'opération ciblera la zone par défaut ou la zone spécifiée par le --zone=
paramètre. Par défaut, cela n'ajustera que la session de pare-feu en cours et ne persistera pas au-delà des redémarrages ou des redémarrages du service. Vous pouvez ajuster la configuration permanente du pare-feu en incluant le --permanent
drapeau.
Par exemple, si vous utilisez un serveur Web servant du trafic HTTP conventionnel, vous pouvez temporairement autoriser ce trafic pour les interfaces de votre zone public :
sudo firewall-cmd --zone=public --add-service=http
Vous pouvez omettre le --zone=
drapeau pour modifier la zone par défaut. Vous pouvez vérifier que l'opération a réussi en utilisant le --list-all
ou --list-services
opérations :
sudo firewall-cmd --zone=public --list-services
Outputcockpit dhcpv6-client http ssh
Une fois que vous avez testé que tout fonctionne comme il se doit, vous pouvez modifier les règles permanentes du pare-feu afin que votre service soit toujours disponible après un redémarrage. Vous pouvez rendre la commande précédente permanente en ajoutant le --permanent
drapeau:
sudo firewall-cmd --zone=public --add-service=http --permanent
Outputsuccess
Alternativement, vous pouvez utiliser le --runtime-to-permanent
drapeau pour enregistrer la configuration du pare-feu en cours d'exécution dans la configuration permanente :
sudo firewall-cmd --runtime-to-permanent
Soyez prudent avec cette option, car toutes les modifications apportées au pare-feu en cours d'exécution seront validées de manière permanente.
Quelle que soit la méthode choisie, vous pouvez vérifier qu'elle a réussi en ajoutant le --permanent
drapeau à la --list-services
opération. Vous devez utiliser sudo
pour toute --permanent
opérations :
sudo firewall-cmd --zone=public --list-services --permanent
Outputcockpit dhcpv6-client http ssh
Votre zone public autorisera désormais le trafic Web HTTP sur le port 80. Si votre serveur Web est configuré pour utiliser SSL/TLS, vous devrez également ajouter le https
service. Vous pouvez ajouter cela à la session en cours et au jeu de règles permanent en tapant :
sudo firewall-cmd --zone=public --add-service=https sudo firewall-cmd --zone=public --add-service=https --permanent
Les services inclus dans l'installation de firewalld représentent la plupart des applications les plus courantes auxquelles vous devrez peut-être autoriser l'accès. Cependant, il y aura probablement des scénarios où ces services ne répondront pas à vos besoins.
Dans cette situation, vous avez deux options.
Ouvrir un port pour vos zones
Le moyen le plus simple d'ajouter la prise en charge de votre application spécifique consiste à ouvrir les ports qu'elle utilise dans la ou les zones appropriées. Cela se fait en spécifiant le port ou la plage de ports, et le protocole associé (TCP ou UDP) pour les ports.
Par exemple, si votre application s'exécute sur le port 5000 et utilise TCP, vous pouvez temporairement l'ajouter au public
zone à l'aide de la --add-port=
paramètre. Les protocoles peuvent être désignés soit comme tcp
ou udp
:
sudo firewall-cmd --zone=public --add-port=5000/tcp
Outputsuccess
Vous pouvez vérifier que cela a réussi en utilisant le --list-ports
opération:
sudo firewall-cmd --zone=public --list-ports
Output5000/tcp
Il est également possible de spécifier une plage séquentielle de ports en séparant le port de début et de fin de la plage par un tiret. Par exemple, si votre application utilise les ports UDP 4990 à 4999, vous pouvez les ouvrir sur public en tapant :
sudo firewall-cmd --zone=public --add-port=4990-4999/udp
Après les tests, vous pouvez les ajouter au pare-feu permanent. Utilisation sudo firewall-cmd --runtime-to-permanent
, ou réexécutez les commandes avec le --permanent
drapeau:
sudo firewall-cmd --zone=public --permanent --add-port=5000/tcp sudo firewall-cmd --zone=public --permanent --add-port=4990-4999/udp sudo firewall-cmd --zone=public --permanent --list-ports
Outputsuccess success 5000/tcp 4990-4999/udp
Définir un service
L'ouverture de ports pour vos zones est une solution simple, mais il peut être difficile de savoir à quoi sert chacun d'eux. Si jamais vous désactivez un service sur votre serveur, vous aurez peut-être du mal à cataloguer les ports qui ont été ouverts et qui sont encore nécessaires. Pour éviter cette situation, vous pouvez définir un nouveau service.
Les services sont des ensembles de ports avec un nom et une description associés. La gestion de votre pare-feu à l'aide de services est généralement plus facile à gérer que le mappage des ports, mais nécessite une configuration initiale. Vous pouvez commencer par copier un script existant dans /usr/lib/firewalld/services
au /etc/firewalld/services
répertoire dans lequel le pare-feu recherche les définitions non standard.
Par exemple, vous pouvez copier la définition de service SSH à utiliser pour votre définition de service exemple comme celle-ci. Le nom du service dans la liste des services de pare-feu sera le nom de ce fichier, moins le .xml
suffixe:
sudo cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/example.xml
Ouvrez le fichier en utilisant vi
ou votre éditeur de texte préféré :
sudo vi /etc/firewalld/services/example.xml
Pour commencer, le fichier contiendra la définition SSH que vous avez copié :
/etc/firewalld/services/example.xml
<?xml version="1.0" encoding="utf-8"?> <service> <short>SSH</short> <description>Secure 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 majorité de cette définition est en fait des métadonnées. Vous devez modifier le nom abrégé du service dans le <short>
Mots clés. Il s'agit d'un nom lisible pour votre service. Vous devez également ajouter une description afin d'avoir plus d'informations si jamais vous avez besoin d'auditer le service. La seule configuration que vous devez effectuer et qui affecte réellement la fonctionnalité du service sera probablement la définition de port dans laquelle vous identifiez le numéro de port et le protocole à ouvrir. Plusieurs <port/>
les balises peuvent être spécifiées.
Pour votre example
service, imaginez que vous devez ouvrir le port 7777 pour TCP et 8888 pour UDP. Vous pouvez modifier la définition existante avec quelque chose comme ceci :
/etc/firewalld/services/example.xml
<?xml version="1.0" encoding="utf-8"?> <service> <short>Example Service</short> <description>This 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>
Enregistrez et fermez le fichier.
Rechargez votre pare-feu pour accéder à votre nouveau service :
sudo firewall-cmd --reload
Vous pouvez voir qu'il fait désormais partie de la liste des services 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
Vous pouvez maintenant utiliser ce service dans vos zones comme vous le feriez normalement.
Étape 5 - Création de vos propres zones
Alors que les zones prédéfinies devraient fonctionner pour la plupart des utilisateurs, il peut être utile de définir vos propres zones qui sont plus descriptives de leur fonction.
Par exemple, vous devrez peut-être créer une zone pour votre serveur Web, appelée publicweb
. Cependant, vous devrez peut-être configurer une autre zone pour le service DNS que vous fournissez sur votre réseau privé. Vous pouvez créer une autre zone appelée privateDNS
pour ça.
Lors de l'ajout d'une zone, vous devez l'ajouter à la configuration permanente du pare-feu. Vous pouvez ensuite recharger pour intégrer la configuration dans votre session en cours d'exécution. Par exemple, vous pouvez créer ces deux zones en utilisant firewall-cmd –new-zone
:
sudo firewall-cmd --permanent --new-zone=publicweb sudo firewall-cmd --permanent --new-zone=privateDNS
Vous pouvez vérifier que ceux-ci sont bien présents dans votre configuration permanente en tapant :
sudo firewall-cmd --permanent --get-zones
Outputblock dmz drop external home internal privateDNS public publicweb trusted work
Rechargez le pare-feu pour intégrer ces nouvelles zones dans la configuration d'exécution active :
sudo firewall-cmd --reload firewall-cmd --get-zones
Outputblock dmz drop external home internal privateDNS public publicweb trusted work
Vous pouvez maintenant commencer à attribuer les services et ports appropriés à vos zones. C'est généralement une bonne idée d'ajuster le pare-feu d'exécution, puis d'enregistrer ces modifications dans la configuration permanente après le test. Par exemple, pour le publicweb
zone, vous pouvez ajouter les services SSH, HTTP et HTTPS :
sudo firewall-cmd --zone=publicweb --add-service=ssh sudo firewall-cmd --zone=publicweb --add-service=http sudo firewall-cmd --zone=publicweb --add-service=https sudo 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:
Ensuite, vous pouvez ajouter le service DNS à votre privateDNS
zone:
sudo firewall-cmd --zone=privateDNS --add-service=dns sudo 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:
Vous pouvez ensuite modifier nos interfaces vers ces nouvelles zones pour les tester :
sudo firewall-cmd --zone=publicweb --change-interface=eth0 sudo firewall-cmd --zone=privateDNS --change-interface=eth1
À ce stade, vous avez la possibilité de tester votre configuration. Si ces valeurs vous conviennent, vous devez ajouter ces règles à la configuration permanente. Vous pouvez le faire en exécutant à nouveau toutes les commandes avec le --permanent
drapeau ajouté, mais dans ce cas, vous utiliserez le --runtime-to-permanent
flag pour enregistrer de manière permanente l'intégralité de votre configuration d'exécution :
sudo firewall-cmd --runtime-to-permanent
Après avoir appliqué ces règles de manière permanente, rechargez le pare-feu pour tester que les modifications sont conservées :
sudo firewall-cmd --reload
Vérifiez que les bonnes zones ont été attribuées :
firewall-cmd --get-active-zones
OutputprivateDNS interfaces: eth1 publicweb interfaces: eth0
Et validez que les services appropriés sont disponibles pour les deux zones :
sudo firewall-cmd --zone=publicweb --list-services
Outputhttp https ssh
sudo firewall-cmd --zone=privateDNS --list-services
Outputdns
Vous avez configuré avec succès vos propres zones ! Pour faire de l'une de ces zones la zone par défaut pour les autres interfaces, n'oubliez pas de configurer ce comportement avec le --set-default-zone=
paramètre:
sudo firewall-cmd --set-default-zone=publicweb
Conclusion
Vous devriez maintenant avoir une compréhension assez approfondie de la façon d'administrer le service firewalld sur votre système Rocky Linux pour une utilisation quotidienne.
Le service firewalld vous permet de configurer des règles et des ensembles de règles maintenables qui tiennent compte de votre environnement réseau. Il vous permet de passer de manière transparente entre différentes politiques de pare-feu grâce à l'utilisation de zones. L'acquisition d'une connaissance pratique de ce système vous permettra de profiter de la flexibilité et de la puissance que cet outil offre.
Pour plus d'informations sur firewalld, veuillez consulter la documentation officielle de firewalld.