J'utilise CentOS 7 et je dois m'assurer que les ports 2888 et 3888 sont ouverts.
J'ai lu cet article mais cela n'a pas fonctionné car sur CentOS 7 OS, il n'y a pas de commande iptables save
.
Quelqu'un m'a dit que l'URL ci-dessus n'est pas valide pour CentOS 7. Je devrais suivre this . Mais cet article ne me dit pas exactement quelle commande je dois exécuter.
J'ai aussi trouvé
firewall-cmd --zone=public --add-port=2888/tcp
mais cela ne survit pas redémarre.
Alors, comment puis-je ouvrir les ports et le faire survivre aux redémarrages?
Utilisez cette commande pour rechercher votre ou vos zones actives:
firewall-cmd --get-active-zones
Il dira public, dmz ou autre chose. Vous ne devriez appliquer que dans les zones requises.
Dans le cas du public, essayez:
firewall-cmd --zone=public --add-port=2888/tcp --permanent
Pensez ensuite à recharger le pare-feu pour que les modifications prennent effet.
firewall-cmd --reload
Sinon, remplacez public par votre zone, par exemple si votre zone est dmz:
firewall-cmd --zone=dmz --add-port=2888/tcp --permanent
La réponse de ganeshragav est correcte, mais il est également utile de savoir que vous pouvez utiliser:
firewall-cmd --permanent --zone=public --add-port=2888/tcp
mais si est un service connu, vous pouvez utiliser:
firewall-cmd --permanent --zone=public --add-service=http
puis rechargez le pare-feu
firewall-cmd --reload
[Réponse modifiée pour refléter le commentaire de Martin Peter, la réponse d'origine avait --permanent
en fin de ligne de commande]
CentOS (RHEL) 7 a modifié le pare-feu pour lui permettre d'utiliser firewall-cmd
, qui comporte une notion de zones qui ressemble à une version Windows des réseaux public, domestique et privé. Vous devriez regarder ici pour savoir lequel vous pensez utiliser. EL7 utilise public
par défaut, c’est ce que mes exemples ci-dessous utilisent.
Vous pouvez vérifier la zone que vous utilisez avec firewall-cmd --list-all
et la changer avec firewall-cmd --set-default-zone=<zone>
.
Vous saurez alors quelle zone autoriser un service (ou port) sur:
firewall-cmd --permanent --zone=<zone> --add-service=http
firewall-cmd --permanent --zone=<zone> --add-port=80/tcp
Vous pouvez vérifier si le port a bien été ouvert en lançant:
firewall-cmd --zone=<zone> --query-port=80/tcp
firewall-cmd --zone=<zone> --query-service=http
Selon la documentation ,
Lorsque vous modifiez les paramètres du pare-feu en mode permanent, votre fichier la sélection ne prend effet que lorsque vous rechargez le pare-feu ou le fichier le système redémarre.
Vous pouvez recharger les paramètres du pare-feu avec: firewall-cmd --reload
.
Fedora, l'a fait via iptables
Sudo iptables -I INPUT -p tcp --dport 3030 -j ACCEPT
Sudo service iptables save
Semble travailler
Pour afficher les ports ouverts, utilisez la commande suivante.
firewall-cmd --list-ports
Nous utilisons ce qui suit pour voir les services dont les ports sont ouverts.
firewall-cmd --list-services
Nous utilisons ce qui suit pour voir les services dont les ports sont ouverts et voir les ports ouverts
firewall-cmd --list-all
Pour ajouter un service au pare-feu, nous utilisons la commande suivante. Dans ce cas, le service utilisera n’importe quel port pour s’ouvrir dans le pare-feu.
firewall-cmd --add-services=ntp
Pour que ce service soit ouvert en permanence, nous utilisons la commande suivante.
firewall-cmd —add-service=ntp --permanent
Pour ajouter un port, utilisez la commande suivante
firewall-cmd --add-port=132/tcp --permanent
Pour exécuter le pare-feu, vous devez recharger à l'aide de la commande suivante.
firewall-cmd --reload
Ya Ali
Bien que ganeshragav et Sotsir fournissent des approches correctes et directement applicables, il est utile de noter que vous pouvez ajouter vos propres services à /etc/firewalld/services
. Inspirez-vous de /usr/lib/firewalld/services/
, où se trouvent les services prédéfinis de firewalld.
L'avantage de cette approche est que vous saurez plus tard pourquoi ces ports sont ouverts, comme vous l'avez décrit dans le fichier de service. En outre, vous pouvez maintenant l'appliquer à n'importe quelle zone sans risque de fautes de frappe. En outre, les modifications apportées au service ne devront pas être appliquées à toutes les zones séparément, mais uniquement au fichier de service.
Par exemple, vous pouvez créer /etc/firewalld/services/foobar.xml
:
<?xml version="1.0" encoding="utf-8"?>
<service>
<short>FooBar</short>
<description>
This option allows you to create FooBar connections between
your computer and mobile device. You need to have FooBar
installed on both sides for this option to be useful.
</description>
<port protocol="tcp" port="2888"/>
<port protocol="tcp" port="3888"/>
</service>
(Pour plus d'informations sur la syntaxe, faites man firewalld.service
.)
Une fois ce fichier créé, vous pouvez firewall-cmd --reload
le rendre disponible, puis l’ajouter définitivement à une zone avec
firewall-cmd --permanent --zone=<zone> --add-service=foobar
suivi de firewall-cmd --reload
pour l'activer immédiatement.
Les principales réponses ici fonctionnent, mais j'ai trouvé quelque chose de plus élégant dans la réponse de Michael Hampton à une question connexe. La "nouvelle" option (firewalld-0.3.9-11 +) --runtime-to-permanent
à firewall-cmd
vous permet de créer des règles d'exécution et de les tester avant de les rendre permanentes:
$ firewall-cmd --zone=<zone> --add-port=2888/tcp
<Test it out>
$ firewall-cmd --runtime-to-permanent
Ou pour annuler les modifications d’exécution seulement:
$ firewall-cmd --reload
Voir aussi le commentaire d'Antony Nguyen . Apparemment, firewall-cmd --reload peut ne pas fonctionner correctement dans certains cas où des règles ont été supprimées. Dans ce cas, il suggère de redémarrer le service firewalld:
$ systemctl restart firewalld
Pour afficher les ports ouverts, utilisez la commande suivante.
firewall-cmd --list-ports Nous utilisons ce qui suit pour voir les services dont les ports sont ouverts.
firewall-cmd --list-services Nous utilisons ce qui suit pour voir les services dont les ports sont ouverts et voir les ports ouverts
firewall-cmd --list-allPour ajouter un service au pare-feu, nous utilisons la commande suivante, auquel cas le service utilisera n’importe quel port pour s’ouvrir dans le pare-feu.
firewall-cmd --add-services = ntp Pour que ce service soit ouvert en permanence, nous utilisons la commande suivante.
firewall-cmd -add-service = ntp --permanent Pour ajouter un port, utilisez la commande suivante
firewall-cmd --add-port = 132/tcp --permanent
Si vous avez plusieurs ports à autoriser dans Centos 7 FIrewalld, vous pouvez utiliser la commande suivante.
#firewall-cmd --add-port={port number/tcp,port number/tcp} --permanent
#firewall-cmd --reload
And check the Port opened or not after reloading the firewall.
#firewall-cmd --list-port
For other configuration [Linuxwindo.com][1]
Firewalld est un peu non intuitif pour le vétéran iptables. Pour ceux qui préfèrent un pare-feu géré par iptables avec une syntaxe semblable à celle d'iptables dans un arbre facilement configurable, essayez de remplacer firewalld par fwtree: https://www.linuxglobal.com/fwtree-flexible-linux-tree-based-firewall/ , puis procédez comme suit:
echo '-p tcp --dport 80 -m conntrack --cstate NEW -j ACCEPT' > /etc/fwtree.d/filter/INPUT/80-allow.rule
systemctl reload fwtree
Si vous connaissez le service iptables, comme dans Centos 6 ou version antérieure, vous pouvez toujours utiliser le service iptables par installation manuelle:
étape 1 => installer le dépôt epel
miam installer epel-release
étape 2 => installer le service iptables
miam installer iptables-services
étape 3 => arrêter le service firewalld
systemctl stop firewalld
étape 4 => désactiver le service firewalld au démarrage
systemctl désactiver pare-feu
étape 5 => démarrer le service iptables
systemctl start iptables
étape 6 => activer iptables au démarrage
systemctl activer iptables
enfin, vous pouvez maintenant éditer votre configuration iptables dans/etc/sysconfig/iptables.
Donc -> éditer la règle -> recharger/redémarrer.
faire comme les vieux centos avec la même fonction que firewalld.