Ich verwende CentOS 7 und muss sicherstellen, dass die Ports 2888 und 3888 geöffnet sind.
Ich habe diesen Artikel gelesen, aber das hat nicht funktioniert, da unter CentOS 7 kein iptables save
Befehl vorhanden ist.
Jemand sagte mir, dass die obige URL für CentOS 7 nicht gültig ist und ich sollte dieser folgen . In diesem Artikel ist mir jedoch nicht klar, welchen Befehl ich genau ausführen muss.
Ich habe auch gefunden
firewall-cmd --zone=public --add-port=2888/tcp
Dies überlebt jedoch Neustarts nicht.
Wie kann ich die Ports öffnen und einen Neustart überstehen?
Antworten:
Verwenden Sie diesen Befehl, um Ihre aktiven Zonen zu finden:
Es wird entweder public, dmz oder etwas anderes sagen. Sie sollten sich nur für die erforderlichen Zonen bewerben.
Im Falle eines öffentlichen Versuchs:
Denken Sie dann daran, die Firewall neu zu laden, damit die Änderungen wirksam werden.
Andernfalls ersetzen Sie Ihre Zone durch public, z. B. wenn Ihre Zone dmz ist:
quelle
--zone=dmz
in--zone=public
--permanent
sie tun, sie sagen nur, dass sie es tun sollen. Beides wären vollständigere und nützlichere Antworten, wenn erklärt würde, wie die Antwort funktioniert. Aus einer der OP-Ressourcen: "Die Regeln können durch Hinzufügen der Option --permanent [...] permanent gemacht werden. Wenn die Regeln nicht permanent gemacht werden, müssen sie jedes Mal nach dem Empfang der Nachricht zum Starten, Neustarten oder erneuten Laden angewendet werden von der Firewall mit D-BUS. "firewall-cmd --get-active-zones
Sie diese Option , um herauszufinden, welche Zone auf Ihrem System verwendet wird. Auch man firewall-cmd.The --permanent option needs to be the first option for all permanent calls
. Ich habe mit den oben genannten Informationen keine Fehler erhalten, bin mir jedoch nicht sicher, ob dies zu Problemen bei anderen führen kann.Die Antwort von ganeshragav ist richtig, aber es ist auch nützlich zu wissen, dass Sie Folgendes verwenden können:
Wenn es sich jedoch um einen bekannten Dienst handelt, können Sie Folgendes verwenden:
und laden Sie dann die Firewall neu
[Antwort geändert, um Martin Peters Kommentar widerzuspiegeln, ursprüngliche Antwort
--permanent
am Ende der Befehlszeile]quelle
--permanent
Option am Ende der Anweisung zu verwenden. In der Dokumentation wird ausdrücklich darauf hingewiesen, dass dies die erste Option sein sollte.man firewall-cmd
gibt auf meinem Computer (Fedora 21) keinen solchen Hinweis.The --permanent option needs to be the first option for all permanent calls.
CentOS (RHEL) 7 hat die Firewall so geändert, dass sie
firewall-cmd
Zonen verwendet, die einer Windows-Version von öffentlichen, privaten und privaten Netzwerken ähneln. Sie sollten hier nachsehen , welche Sie Ihrer Meinung nach verwenden sollten. EL7public
wird standardmäßig verwendet, so wie es in den folgenden Beispielen verwendet wird.Sie können überprüfen, mit welcher Zone Sie arbeiten,
firewall-cmd --list-all
und diese ändernfirewall-cmd --set-default-zone=<zone>
.Sie wissen dann, in welcher Zone ein Dienst (oder Port) zugelassen werden soll:
firewall-cmd --permanent --zone=<zone> --add-service=http
firewall-cmd --permanent --zone=<zone> --add-port=80/tcp
Sie können überprüfen, ob der Port tatsächlich geöffnet wurde, indem Sie Folgendes ausführen:
firewall-cmd --zone=<zone> --query-port=80/tcp
firewall-cmd --zone=<zone> --query-service=http
Laut Dokumentation ,
Sie können die Firewall-Einstellungen neu laden mit :
firewall-cmd --reload
.quelle
Fedora, hat es über gemacht
iptables
Scheint zu funktionieren
quelle
Verwenden Sie den folgenden Befehl, um offene Ports anzuzeigen.
Wir verwenden Folgendes, um Dienste anzuzeigen, deren Ports geöffnet sind.
Wir verwenden Folgendes, um Dienste anzuzeigen, deren Ports geöffnet sind, und um offene Ports anzuzeigen
Um der Firewall einen Dienst hinzuzufügen, verwenden wir den folgenden Befehl. In diesem Fall verwendet der Dienst einen beliebigen Port zum Öffnen in der Firewall.
Damit dieser Dienst dauerhaft geöffnet ist, verwenden wir den folgenden Befehl.
Verwenden Sie den folgenden Befehl, um einen Port hinzuzufügen
Um die Firewall auszuführen, muss sie mit dem folgenden Befehl neu geladen werden.
Ya Ali
quelle
Während Ganeshragav und Sotsir korrekte und direkt anwendbare Ansätze bieten, ist es nützlich zu beachten, dass Sie Ihre eigenen Dienste hinzufügen können
/etc/firewalld/services
. Schauen Sie sich an/usr/lib/firewalld/services/
, wo sich die vordefinierten Dienste von firewalld befinden.Der Vorteil dieses Ansatzes besteht darin, dass Sie später wissen, warum diese Ports geöffnet sind, wie Sie es in der Servicedatei beschrieben haben. Sie können es jetzt auch auf jede Zone anwenden, ohne das Risiko von Tippfehlern. Darüber hinaus müssen Änderungen am Dienst nicht auf alle Zonen separat angewendet werden, sondern nur auf die Dienstdatei.
Sie können beispielsweise Folgendes erstellen
/etc/firewalld/services/foobar.xml
:(Informationen zur Syntax finden Sie hier
man firewalld.service
.)Sobald diese Datei erstellt wurde, können
firewall-cmd --reload
Sie sie verfügbar machen und sie dann dauerhaft einer Zone mit hinzufügengefolgt von
firewall-cmd --reload
, um es sofort aktiv zu machen.quelle
Verwenden Sie den folgenden Befehl, um offene Ports anzuzeigen:
Wir verwenden Folgendes, um Dienste anzuzeigen, deren Ports geöffnet sind:
Wir verwenden Folgendes, um Dienste anzuzeigen, deren Ports geöffnet sind, und um offene Ports anzuzeigen:
Um der Firewall einen Dienst hinzuzufügen, verwenden wir den folgenden Befehl. In diesem Fall verwendet der Dienst einen beliebigen Port zum Öffnen in der Firewall:
Damit dieser Dienst dauerhaft geöffnet ist, verwenden wir den folgenden Befehl:
Verwenden Sie den folgenden Befehl, um einen Port hinzuzufügen:
quelle
Die besten Antworten hier funktionieren, aber ich fand etwas eleganteres in Michael Hamptons Antwort auf eine verwandte Frage. Mit der
--runtime-to-permanent
Option "new" (firewalld-0.3.9-11 +)firewall-cmd
können Sie Laufzeitregeln erstellen und testen, bevor Sie sie dauerhaft machen:Oder um die Nur-Laufzeit-Änderungen rückgängig zu machen:
Siehe auch den Kommentar von Antony Nguyen . Anscheinend funktioniert firewall-cmd --reload in einigen Fällen, in denen Regeln entfernt wurden, möglicherweise nicht richtig. In diesem Fall schlägt er vor, den Firewall-Dienst neu zu starten:
quelle
Wenn Sie in Centos 7 FIrewalld mehrere Ports zulassen, können wir den folgenden Befehl verwenden.
quelle
Wenn Sie mit dem iptables-Dienst wie in Centos 6 oder früher vertraut sind, können Sie den iptables-Dienst weiterhin durch manuelle Installation verwenden:
Schritt 1 => Epel Repo installieren
Schritt 2 => Iptables-Dienst installieren
Schritt 3 => Firewall-Dienst beenden
Schritt 4 => Firewall-Dienst beim Start deaktivieren
Schritt 5 => Starten Sie den iptables-Dienst
Schritt 6 => iptables beim Start aktivieren
Endlich können Sie Ihre iptables-Konfiguration unter / etc / sysconfig / iptables bearbeiten.
Also -> Regel bearbeiten -> neu laden / neu starten.
mag ältere Centos mit der gleichen Funktion wie Firewalld.
quelle
Firewalld ist für den iptables-Veteranen etwas nicht intuitiv. Wenn Sie eine iptables-gesteuerte Firewall mit iptables-ähnlicher Syntax in einem einfach konfigurierbaren Baum bevorzugen, ersetzen Sie firewalld durch fwtree: https://www.linuxglobal.com/fwtree-flexible-linux-tree-based-firewall/ und dann Mach Folgendes:
quelle
Hallo in Centos 7 Firewall-Cmd. Ja, richtig, wenn Sie firewall-cmd --zone = public --add-port = 2888 / tcp verwenden, aber wenn Sie firewal firewall-cmd --reload neu laden
Ihre Konfiguration wird nicht gespeichert
Sie müssen einen Schlüssel hinzufügen
firewall-cmd --permanent --zone = public --add-port = 2888 / tcp
quelle