So öffnen Sie den Port für eine bestimmte IP-Adresse in Firewalld

Wie kann ich Datenverkehr von einer bestimmten IP-Adresse in meinem privaten Netzwerk oder Datenverkehr von einem bestimmten privaten Netzwerk über Firewalld zu einem bestimmten Port oder Dienst auf einem Red Hat Enterprise Linux (RHEL) – oder CentOS-Server zulassen?

In diesem kurzen Artikel erfahren Sie, wie Sie einen Port für eine bestimmte IP-Adresse oder einen bestimmten Netzwerkbereich in Ihrem RHEL- oder CentOS-Server öffnen, auf dem eine Firewalld-Firewall ausgeführt wird.

Der geeignetste Weg, dies zu lösen, ist die Verwendung einer Firewalld-Zone. Sie müssen also eine neue Zone erstellen, die die neuen Konfigurationen enthält (oder Sie können eine der verfügbaren sicheren Standardzonen verwenden).

Öffnen Sie den Port für eine bestimmte IP-Adresse in Firewalld

Erstellen Sie zunächst einen geeigneten Zonennamen (in unserem Fall haben wir mariadb-access verwendet, um den Zugriff auf den MySQL-Datenbankserver zu ermöglichen).

# firewall-cmd --new-zone=mariadb_access --permanent

Laden Sie als Nächstes die Firewalld-Einstellungen neu, um die neue Änderung zu übernehmen. Wenn Sie diesen Schritt überspringen, wird möglicherweise eine Fehlermeldung angezeigt, wenn Sie versuchen, den neuen Zonennamen zu verwenden. Dieses Mal sollte die neue Zone in der Liste der Zonen angezeigt werden, wie im folgenden Screenshot hervorgehoben.

# firewall-cmd --reload# firewall-cmd --get-zones
 Überprüfen Sie die Firewalld-Zone
Überprüfen Sie die Firewalld-Zone

Fügen Sie als Nächstes die Quell-IP-Adresse (10.24.96.5 / 20) und den Port (3306) hinzu, den Sie wie gezeigt auf dem lokalen Server öffnen möchten. Laden Sie dann die Firewalld-Einstellungen neu, um die neuen Änderungen zu übernehmen.

# 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
 Port für bestimmte IP in Firewalld öffnen
Port für bestimmte IP in Firewalld öffnen

Alternativ können Sie Datenverkehr vom gesamten Netzwerk (10.24.96.0/20) zu einem Dienst oder Port zulassen.

# 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

Um zu bestätigen, dass die neue Zone die erforderlichen Einstellungen wie oben hinzugefügt hat, überprüfen Sie die Details mit dem folgenden Befehl.

# firewall-cmd --zone=mariadb-access --list-all 
 Firewalld-Zonendetails anzeigen
Firewalld-Zonendetails anzeigen

Port und Zone aus Firewalld entfernen

Sie können die Quell-IP-Adresse oder das Quell-Netzwerk wie gezeigt entfernen.

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

Um den Port aus der Zone zu entfernen, geben Sie den folgenden Befehl ein und laden Sie die Firewalld-Einstellungen neu:

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

Um die Zone zu entfernen, führen Sie den folgenden Befehl aus und laden Sie die Firewalld-Einstellungen neu:

# firewall-cmd --permanent --delete-zone=mariadb_access# firewall-cmd --reload

Last but not least können Sie auch Firewalld-Rich-Regeln verwenden. Hier ist ein Beispiel:

# 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'