Comment ouvrir un port pour une adresse IP spécifique dans Firewalld
Comment puis-je autoriser le trafic d’une adresse IP spécifique sur mon réseau privé ou autoriser le trafic d’un réseau privé spécifique via firewalld, vers un port ou un service spécifique sur un serveur Red Hat Enterprise Linux (RHEL) ou CentOS ?
Dans ce court article, vous apprendrez à ouvrir un port pour une adresse IP ou une plage de réseau spécifique dans votre serveur RHEL ou CentOS exécutant un pare-feu firewalld.
Le moyen le plus approprié 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).
Ouvrir le port 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 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 indiqué 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 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 a les 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 de Firewalld
Vous pouvez supprimer l’adresse IP source ou le réseau 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 firewalld:
# firewall-cmd --permanent --delete-zone=mariadb_access# firewall-cmd --reload
Last but not list, vous pouvez également utiliser des règles enrichies firewalld. 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'