GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment ouvrir le port Http (80) dans Iptables sur CentOS

Pare-feu Iptables

Je mettais récemment en place un serveur Web sur centos avec nginx et php. L'installation de nginx s'est bien déroulée, mais le port http du système n'était pas accessible de l'extérieur.

En effet, centOS applique par défaut certaines règles de pare-feu iptables. Seul le port ssh (22) était accessible et le shell distant fonctionnait. Il est donc nécessaire d'ouvrir le port 80 pour que le serveur Web tel que nginx fonctionne.

Iptables est le pare-feu sur Linux qui peut être configuré pour accepter ou rejeter le trafic réseau en fonction de divers types d'ensembles de règles au niveau des paquets. Il est donc nécessaire de configurer ce pare-feu pour permettre les connexions sur les ports réseau.

Vérifier les règles Iptables

Il existe 2 façons de configurer iptables pour ouvrir le port 80. La première consiste à utiliser la commande iptables et la seconde à créer un fichier de configuration. Vérifiez d'abord les règles iptables existantes en vigueur. La commande est assez simple. Voici un exemple de sortie.

[[email protected] ~]# iptables -LChain INPUT (policy ACCEPT)target prot opt ​​source destinationACCEPTER tout -- n'importe où n'importe où état RELATED,ETABLISHEDACCEPT icmp -- n'importe où n'importe oùACCEPTER tout -- n'importe où n'importe oùACCEPTER tcp -- n'importe où n'importe où état NOUVEAU tcp dpt:sshREJECT all -- n'importe où n'importe où rejeter-avec icmp-host-prohibitedChain FORWARD (policy ACCEPT)target prot opt ​​source destinationREJECT all -- n'importe où n'importe où rejeter-avec icmp-host-prohibitedChain OUTPUT (policy ACCEPT)target prot opt ​​source destination[[email protected] ~]#

Comme on peut le voir dans la sortie, il y a une ligne REJECT dans la chaîne INPUT à la fin qui dit, rejeter tout. Cependant, la ligne précédente permet d'accepter les connexions ssh afin que ssh fonctionne. Une liste un peu plus détaillée et numérique peut être vue en utilisant les options v et n avec l'option L

[[email protected] ~]# iptables --line -vnLChain INPUT (policy ACCEPT 0 packets, 0 bytes)num pkts bytes target prot opt ​​in out source destination1 273 22516 ACCEPT all -- * * 0.0.0.0/ 0 0.0.0.0/0 état CONNEXE, ETABLIE2 0 0 ACCEPTER icmp -- * * 0.0.0.0/0 0.0.0.0/03 0 0 ACCEPTER tout -- lo * 0.0.0.0/0 0.0.0.0/04 1 60 ACCEPTER tcp -- * * 0.0.0.0/0 0.0.0.0/0 état NEW tcp dpt:225 271 36456 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 rejeter-avec icmp-host-prohibitedChain FORWARD (politique ACCEPTER 0 paquets, 0 octets)num pkts bytes target prot opt ​​in out source destination1 0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 rejeter avec icmp-host-prohibitedChain OUTPUT (politique ACCEPTER 172 paquet s, 24494 octets)num pkts octets target prot opt ​​in out source destination[[email protected] ~]#

Ouvrir le port 80 dans Iptables

Pour accepter les connexions http, nous devons ajouter une règle à la ligne numéro 5 et appuyer sur la ligne REJECT ci-dessous. Voici la commande pour le faire.

# iptables -I INPUT 5 -i eth0 -p tcp --dport 80 -m state --state NEW,ETABLISHED -j ACCEPT

La commande ci-dessus ajoutera une règle à la ligne 5 indiquant que le pare-feu doit accepter les connexions entrantes sur le port 80. Vérifiez à nouveau les règles iptables.

[[email protected] ~]# iptables --line -vnLChain INPUT (policy ACCEPT 0 packets, 0 bytes)num pkts bytes target prot opt ​​in out source destination1 291 23868 ACCEPT all -- * * 0.0.0.0/ 0 0.0.0.0/0 état CONNEXE, ETABLIE2 0 0 ACCEPTER icmp -- * * 0.0.0.0/0 0.0.0.0/03 0 0 ACCEPTER tout -- lo * 0.0.0.0/0 0.0.0.0/04 1 60 ACCEPTER tcp -- * * 0.0.0.0/0 0.0.0.0/0 état NOUVEAU tcp dpt:225 0 0 ACCEPTER tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 état NOUVEAU,ETABLI6 286 38524 REJETER tout -- * * 0.0.0.0/0 0.0.0.0/0 rejet-avec icmp-host-prohibitedChain FORWARD (policy ACCEPT 0 packets, 0 bytes)num pkts bytes target prot opt ​​in out source destination1 0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 rejet-avec icmp-host-prohibitedChain OUTPUT (policy ACCEPT 4 packets, 608 bytes)num pkts bytes target prot opt ​​in out source destination[[email protected] ~]# 

Nous avons maintenant la nouvelle règle du port tcp 80 à la ligne 5 et donc maintenant le port http est accessible depuis le réseau externe.

Enregistrer les règles iptables

Avec les nouvelles règles, le port 80 est maintenant ouvert, mais ce changement est temporaire et iptables reviendrait aux règles précédentes si le serveur était redémarré.

Pour le rendre permanent, lancez la commande iptables save.

[[email protected] ~]# service iptables saveiptables :Enregistrement des règles de pare-feu dans /etc/sysconfig/iptables :[ OK ]

Les nouvelles règles sont enregistrées dans le fichier /etc/sysconfig/iptables .

Voici à quoi ressemble le fichier :

# Généré par iptables-save v1.4.7 le ven. 25 oct. 10:33:46 2013*filter:INPUT ACCEPT [0:0]:FORWARD ACCEPT [0:0]:OUTPUT ACCEPT [39:6956]-A INPUT -m state --state RELATED,ETABLISHED -j ACCEPT-A INPUT -p icmp -j ACCEPT-A INPUT -i lo -j ACCEPT-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPTER-A ENTRÉE -i eth0 -p tcp -m tcp --dport 80 -m état --état NOUVEAU, ÉTABLI -j ACCEPTER-A ENTRÉE -j REJETER --rejeter-avec icmp-hôte-interdit-A FORWARD -j REJECT --reject-with icmp-host-prohibitedCOMMIT# Terminé le vendredi 25 octobre 10:33:46 2013

Maintenant, le changement est permanent.

Vous pouvez également modifier directement le fichier de configuration d'iptables et redémarrer iptables et la même modification prendrait effet.

[[email protected] ~]# service iptables restartiptables :vidage des règles de pare-feu :[ OK ]iptables :définition des chaînes à la stratégie ACCEPT :filtre [ OK ]iptables :déchargement des modules :[ OK ]iptables :application des règles de pare-feu :[ OK ][[email protected] ~]#

Conclusion

C'était un exemple rapide de la façon d'ouvrir un certain port dans iptables pour le rendre accessible. Pour en savoir plus sur iptables, consultez les pages de manuel en exécutant la commande "man iptables" dans votre terminal, ou consultez-la en ligne ici :

https://linux.die.net/man/8/iptables
Cent OS
  1. Guide pour ouvrir les ports dans CentOS

  2. Comment ouvrir des ports sur Iptables dans un serveur Linux

  3. Comment ouvrir des ports dans Ubuntu et CentOS à l'aide d'IPtables

  4. CentOS / RHEL :Comment savoir si un port réseau est ouvert ou non ?

  5. Comment ouvrir le port 2195 dans iptables CentOS 6 pour activer l'APNS

Comment ouvrir le port http 80 dans Redhat Linux à l'aide de firewall-cmd

Comment ouvrir et fermer des ports sur RHEL 8 / CentOS 8 Linux

Comment installer Iptables sur CentOS 7

Comment activer SSH sur CentOS

Comment configurer le pare-feu Iptables sur CentOS

Comment installer Open Web Analytics sur CentOS 7