Recherche de site Web

Comment ouvrir un port pour une adresse IP spécifique dans Firewalld


Comment puis-je autoriser le trafic provenant d'une adresse IP spécifique dans mon réseau privé ou autoriser le trafic provenant d'un réseau privé spécifique via un pare-feu, vers un port ou un service spécifique sur un Red Hat Enterprise Linux (RHEL) ou serveur CentOS ?

Dans ce court article, vous apprendrez comment ouvrir un port pour une adresse IP ou une plage réseau spécifique sur votre serveur RHEL ou CentOS exécutant un pare-feu firewalld.

La manière la plus appropriée de résoudre ce problème consiste à utiliser une zone firewalld. Vous devez donc créer une nouvelle zone qui contiendra les nouvelles configurations (ou vous pouvez utiliser l'une des zones sécurisées par défaut disponibles).

Port ouvert pour une adresse IP spécifique dans Firewalld

Créez d'abord un nom de zone approprié (dans notre cas, nous avons utilisé mariadb-access pour autoriser l'accès au serveur de base de données MySQL).

firewall-cmd --new-zone=mariadb-access --permanent

Ensuite, rechargez les paramètres du firewalld pour appliquer la nouvelle modification. Si vous ignorez cette étape, vous risquez d'obtenir une erreur lorsque vous essayez d'utiliser le nouveau nom de zone. Cette fois-ci, la nouvelle zone devrait apparaître dans la liste des zones, comme mis en évidence dans la capture d'écran suivante.

firewall-cmd --reload
firewall-cmd --get-zones

Ensuite, ajoutez l'adresse IP source (10.24.96.5/20) et le port (3306) que vous souhaitez ouvrir sur le serveur local, comme indiqué. Rechargez ensuite les paramètres de firewalld pour appliquer les nouvelles modifications.

firewall-cmd --zone=mariadb-access --add-source=10.24.96.5/20 --permanent
firewall-cmd --zone=mariadb-access --add-port=3306/tcp  --permanent
firewall-cmd --reload

Vous pouvez également autoriser le trafic de l'ensemble du réseau (10.24.96.0/20) vers un service ou un port.

firewall-cmd --zone=mariadb-access --add-source=10.24.96.0/20 --permanent
firewall-cmd --zone=mariadb-access --add-port=3306/tcp --permanent
firewall-cmd --reload

Pour confirmer que la nouvelle zone dispose des paramètres requis ajoutés ci-dessus, vérifiez ses détails avec la commande suivante.

firewall-cmd --zone=mariadb-access --list-all 

Supprimer le port et la zone du pare-feu

Vous pouvez supprimer l'adresse IP ou le réseau source comme indiqué.

firewall-cmd --zone=mariadb-access --remove-source=10.24.96.5/20 --permanent
firewall-cmd --reload

Pour supprimer le port de la zone, exécutez la commande suivante et rechargez les paramètres firewalld :

firewall-cmd --zone=mariadb-access --remove-port=3306/tcp --permanent
firewall-cmd --reload

Pour supprimer la zone, exécutez la commande suivante et rechargez les paramètres de firewalld :

firewall-cmd --permanent --delete-zone=mariadb-access
firewall-cmd --reload

Dernier point mais non répertorié, vous pouvez également utiliser des règles riches en pare-feu. Voici un exemple:

firewall-cmd --permanent –zone=mariadb-access --add-rich-rule='rule family="ipv4" source address="10.24.96.5/20" port protocol="tcp" port="3306" accept'

C'est ça! Nous espérons que les solutions ci-dessus ont fonctionné pour vous. Si oui, faites-le nous savoir via le formulaire de commentaires ci-dessous. Vous pouvez également poser des questions ou partager des commentaires généraux sur ce sujet.