Oft müssen wir nach der Installation einer Anwendung oder dem Zugriff auf einen integrierten Dienst außerhalb des Systems mit einigen anderen Geräten einen Netzwerkport öffnen. Es ist ein Kommunikationsendpunkt, der von einer Softwareschicht definiert wird, um einen bestimmten Prozess oder eine Art von Netzwerkdienst zu identifizieren und darauf zuzugreifen. Zum Beispiel ist der SSH-Dienst (Secure Shell Protocol) der Standardport dafür 22, mit dem wir auf jeden bestimmten Computer zugreifen können, um ihn fernzusteuern. Auf die gleiche Weise haben CPanel, NextCloud, Apache und andere verschiedene Tools und Software ihre eigene Portnummer. Wenn Sie jedoch eine Firewall installiert haben, werden die meisten Ports standardmäßig blockiert, und um mit ihnen zu kommunizieren, müssen wir sie zuerst öffnen.
Angenommen, Sie möchten einen Port 80 oder 443 in AlmaLinux 8 öffnen, wie geht das dann? Um Ihnen dabei zu helfen, ist hier das Tutorial.
Lernen:
- So installieren Sie firewalld in Almalinux 8 oder Rocky Linux einschließlich CentOS &RHEL 8
- Öffnen und schließen Sie Ports wie 80, 443, 3603, 22 usw. auf Almalinux mit Firewalld.
- Firewall-Konfiguration neu laden.
- Wie man offene Ports oder Dienste auflistet
Befehl zum Öffnen von Ports in AlmaLinux 8 oder Rocky
Überprüfen Sie, ob Firewalld läuft oder nicht
Das einzige, was wir sicherstellen müssen, ist, dass sich firewalld auf unserem AlmaLinux befindet und ordnungsgemäß läuft, bevor wir irgendeinen Port auf dem System öffnen und schließen.
Status prüfen:
sudo systemctl status firewalld
Wenn es nicht läuft, verwenden Sie die folgenden Befehle:
sudo systemctl start firewalld sudo systemctl enable firewalld
Nun, diejenigen, die Firewalld nicht installiert haben und möchten, können Folgendes ausführen:
sudo dnf update sudo dnf install firewalld
Alle geöffneten Ports und Dienste auflisten
Bevor wir einen bestimmten Port öffnen, lassen Sie uns bestätigen, dass er nicht bereits in Firewalld aktiv ist und nicht über öffentliche Verbindungen zugreifen darf, für diesen Lauf-
sudo firewall-cmd --list-all
Im folgenden Screenshot können wir also deutlich sehen, dass Port 443 oder 3602 nicht nach außen kommunizieren darf.
FirewallD bringt auch einige vorkonfigurierte Dienste mit, für die und deren Ports die Firewall standardmäßig öffentliche Kommunikation zulässt. Und SSH, Plex, Cockpit usw. sind einige davon. Sie können die Liste aller dieser Dienste mit dem Befehl-
überprüfenfirewall-cmd --get-services
Ausgabe: Dies sind die Dienste, die als Firewalld vorkonfiguriert verfügbar sind und einfach unter Verwendung ihres Namens mit der in späteren Schritten dieses Tutorials angegebenen Befehlssyntax geöffnet werden können.
RH-Satellite-6 amanda-client amanda-k5-client amqp amqps apcupsd audit bacula bacula-client bb bgp bitcoin bitcoin-rpc bitcoin-testnet bitcoin-testnet-rpc bittorrent-lsd ceph ceph-mon cfengine cockpit condor-collector ctdb dhcp dhcpv6 dhcpv6-client distcc dns dns-over-tls docker-registry docker-swarm dropbox-lansync elasticsearch etcd-client etcd-server finger freeipa-4 freeipa-ldap freeipa-ldaps freeipa-replication freeipa-trust ftp ganglia-client ganglia-master git grafana gre high-availability http https imap imaps ipp ipp-client ipsec irc ircs iscsi-target isns jenkins kadmin kdeconnect kerberos kibana klogin kpasswd kprop kshell kube-apiserver ldap ldaps libvirt libvirt-tls lightning-network llmnr managesieve matrix mdns memcache minidlna mongodb mosh mountd mqtt mqtt-tls ms-wbt mssql murmur mysql nfs nfs3 nmea-0183 nrpe ntp nut openvpn ovirt-imageio ovirt-storageconsole ovirt-vmconsole plex pmcd pmproxy pmwebapi pmwebapis pop3 pop3s postgresql privoxy prometheus proxy-dhcp ptp pulseaudio puppetmaster quassel radius rdp redis redis-sentinel rpc-bind rsh rsyncd rtsp salt-master samba samba-client samba-dc sane sip sips slp smtp smtp-submission smtps snmp snmptrap spideroak-lansync spotify-sync squid ssdp ssh steam-streaming svdrp svn syncthing syncthing-gui synergy syslog syslog-tls telnet tentacle tftp tftp-client tile38 tinc tor-socks transmission-client upnp-client vdsm vnc-server wbem-http wbem-https wsman wsmans xdmcp xmpp-bosh xmpp-client xmpp-local xmpp-server zabbix-agent zabbix-server
Liste der Zonen
Um auf einen Dienst zuzugreifen, müssen wir den Dienst jedoch nur öffentlich zulassen Zone, aber nur zu Informationszwecken können Sie auch andere verfügbare Zonen überprüfen, falls Sie eine davon verwenden möchten.
firewall-cmd --get-zones
Ausgabe-
block dmz drop external home internal nm-shared public trusted work
Verwenden Sie den Befehl firewalld, um den Port oder Dienst zu öffnen
Jetzt ist die Standardzone für den Zugriff auf den Dienst vom externen Netzwerk öffentlich , und mit Hilfe der folgenden Befehlssyntax , können Sie jeden Port oder Dienst auf Ihrem AlmaLinux- oder Rocky-Server öffnen.
Zum Öffnen eines beliebigen Dienstes, der in firewalld
vordefiniert ist wie HTTP oder OpenVPN , müssen Sie den Dienstnamen ersetzen in der folgenden Befehlssyntax-
sudo firewall-cmd --zone=public --permanent --add-service=service-name
Angenommen, Sie möchten http
öffnen oder openvpn
, dann kann die gleiche obige Syntax als
sudo firewall-cmd --zone=public --permanent --add-service=openvpn
Ebenso sind die Ports dieser Dienste nicht vordefiniert, sodass Benutzer sie mit diesem Befehl manuell öffnen können. Ersetzen Sie Typ-Port-Nummer in der folgenden Syntax mit dem Port, den Sie öffnen möchten. Sie können gemäß den Anforderungen auch TCP in UDP ändern.
sudo firewall-cmd --zone=public --permanent --add-port type-port-number/tcp
Beispiel – Angenommen, Sie möchten 3602 öffnen
sudo firewall-cmd --zone=public --permanent --add-port 3602/tcp
Firewall neu laden
Es ist zwar nicht erforderlich, die Firewall neu zu laden, aber um sicherzustellen, dass sie die vorherigen Einstellungen erfolgreich geleert hat und den neu hinzugefügten Dienst oder Port für die öffentliche Zone erkennt, lassen Sie den Dienst neu laden.
sudo firewall-cmd --reload
Sie können überprüfen, ob der Port oder Dienst erfolgreich aktiv ist oder nicht, indem Sie sie auflisten.
firewall-cmd --list-all
Schritte zum Blockieren oder Schließen von Ports/Diensten in AlmaLinux oder Rocky Linux 8
Schritt 1: Um bereits geöffnete Dienste oder Ports zu blockieren, können wir denselben Befehl verwenden, den wir oben zum Öffnen verwendet haben. Wenn Sie sich jedoch nicht sicher sind, was die aktiven sind, können Sie erneut den Befehl verwenden, um sie alle aufzulisten-
sudo firewall-cmd --list-all
Schritt 2: Angenommen, Sie möchten die Portnummer 443 schließen oder blockieren Sie den Dienst ssh in der Firewall. Die Syntax ist dieselbe, die wir verwendet haben, um sie zu öffnen, jedoch anstatt die Option hinzufügen zu verwenden wir verwenden das remove diesmal.
Syntax zum Entfernen einiger Dienste-
firewall-cmd --zone=public --permanent --remove-service service-name
Zum Beispiel – Wenn wir den Dienst ssh blockieren wollen
firewall-cmd --zone=public --permanent --remove-service ssh
Syntax zum Blockieren einiger Portnummern:
firewall-cmd --zone=public --permanent --remove-port type-number
Beispiel – Blockieren wir Port 443
sudo firewall-cmd --zone=public --permanent --remove-port 443
Firewall neu laden:
sudo firewall-cmd --reload
Abschlussgedanken:
Auf diese Weise können wir nicht nur die offenen Ports und Dienste überprüfen, sondern ihnen auch erlauben und blockieren, von außerhalb unseres Almalinux-Linux einschließlich Rocky, CetnOS oder RHEL 8 zu kommunizieren.