So öffnen Sie Ports unter Linux
Linux Ubuntu Ubuntu Grundlagen Held / / March 02, 2022
Zuletzt aktualisiert am
Wenn Sie externe Verbindungen zu einem PC oder Server zulassen möchten, müssen Sie den richtigen Port öffnen. Linux-Benutzer können mit dieser hilfreichen Anleitung Ports öffnen.
Müssen Sie eine Verbindung zu einem externen PC oder Server herstellen – oder benötigen Sie einen anderen PC oder Server, um eine Verbindung zu Ihnen herzustellen? Wenn Sie Linux ausführen, müssen Sie sicherstellen, dass der richtige Port geöffnet ist.
Während andere Betriebssysteme normalerweise ein grafisches Tool dafür haben, ist Linux nicht so einfach. Wir werden Sie unten durch das Öffnen von Ports in Linux führen.
Was ist ein Port und warum sollte ich ihn öffnen?
Ein Port ist ein Endpunkt im Netzwerk. Stellen Sie es sich wie eine Tür vor, die zu einem bestimmten Raum oder zur Außenwelt führt, aber auf Ihrem Computer. Alles, was Sie im Internet tun, verwendet einen bestimmten Port oder eine Reihe von Ports.
Nehmen wir zum Beispiel an, Sie möchten Ihren eigenen Minecraft-Server betreiben. Dazu müssen Sie einen Port öffnen, über den Benutzer eine Verbindung herstellen können. Das Gleiche gilt für den Betrieb Ihres eigenen Web-, Mail- oder FTP-Servers.
Häfen sind standardisiert über alle Netzwerk-Angeschlossenen Geräte. Die ersten 1.024 Ports (von 0 bis 1023) werden als bezeichnet Bekannte Portnummern. Sie sind für die am häufigsten verwendeten Dienste wie HTTP und HTTP (Port 80 bzw. 443) und SSH (Port 22) reserviert.
Portnummern über 1024 werden als bezeichnet vergängliche Häfen, und stehen Ihnen in der Regel für Ihre Online-Spiele, privaten Webserver usw. zur Verfügung. Es werden die Portnummern 1024 bis 49151 aufgerufen Eingetragen oder Benutzerports, während die von 49152 bis 65535 als bekannt sind dynamisch oder private Häfen.
Offene Ports unter Linux auflisten
Bevor Sie versuchen, einen Port unter Linux zu öffnen, sollten Sie sicherstellen, dass er nicht bereits verwendet wird. Sie können dies mit dem erreichen Nettostat Befehl, der in den meisten Linux-Distributionen enthalten ist. Wenn Ihre Distribution dies nicht hat Nettostat, können Sie verwenden ss stattdessen.
netstat -lntu.
Dadurch werden alle lauschenden Sockets gedruckt (-l) zusammen mit der Portnummer (-n). Es enthält TCP-Ports (-T) sowie UDP (-u). Wenn Ihr System dies nicht hat Nettostat, benutz einfach ss mit den gleichen Parametern.
ss-lntu.
So öffnen Sie Ports unter Linux
Für dieses Beispiel gehen wir davon aus, dass wir Port 4000 für TCP-Verbindungen öffnen möchten. Wir müssen zuerst sicherstellen, dass der Port nicht bereits verwendet wird. Wir machen das durch Nettostat oder ss.
netstat -na | grep: 4000. ss-na | grep: 4000.
Angenommen, die Ausgabe ist leer, können wir die entsprechenden Portregeln zur Firewall des Systems hinzufügen. Die Methoden dafür hängen von Ihrer Distribution ab und davon, ob sie die neuere verwendet ufw Firewall bzw Firewalld. Ubuntu begünstigtufw, während CentOS verwendet normalerweiseFirewalld stattdessen. Natürlich gibt es noch einige Linux-Distributionen, die die ältere verwenden iptables Firewall.
Für Ubuntu-Benutzer und andere ufw-Firewall-basierte Systeme
Anstatt die ältere zu verwenden iptables Firewall, Ubuntu und einige andere Distributionen verwenden ufw. Unter diesen Systemen öffnet der folgende Befehl den Port.
sudo ufw erlauben 4000.
Überspringen Sie die nächsten Schritte und testen Sie Ihren neu geöffneten Port, um sicherzustellen, dass er funktioniert.
So öffnen Sie Ports in Linux mit CentOS und anderen Firewall-basierten Systemen
Wenn Ihr System verwendet Firewalld, verwenden Sie am besten die Firewall-cmd Befehl zum Aktualisieren der Regeln.
sudo firewall-cmd --add-port=4000/tcp.
Dies wird keine dauerhafte Änderung sein, aber wir werden behandeln, wie die Regeln nach dem Neustart bestehen bleiben, sobald wir den Port getestet haben.
Für andere Linux-Distributionen
Wenn Ihr Linux-System dies nicht hat ufw oder Firewalld, müssen Sie verwenden iptables. Wenn es nicht installiert ist, können Sie es mit dem Paketmanager Ihrer Wahl herunterladen. Nach der Installation öffnen diese Befehle Port 4000:
sudo iptables -A INPUT -p tcp --dport 4000 -j ACCEPT. sudo-Dienst iptables neu starten.
Wenn Ihr System verwendet systemctl, ersetzen Sie den zweiten Befehl durch:
sudo systemctl startet iptables neu.
Testen neu geöffneter Ports auf Verbindungen
Als nächstes sollten wir den Port testen, um sicherzustellen, dass er Verbindungen akzeptiert. Wir tun dies, indem wir netcat (nc), um den Port abzuhören, und dann versuchen, eine Telnet-Verbindung herzustellen.
Öffnen Sie zunächst ein Terminalfenster und geben Sie diesen Befehl ein:
sudo-ls | nc -l -p 4000.
Lassen Sie es laufen (lauschen) und öffnen Sie ein zweites Terminalfenster. In diesem Fenster verwenden Sie Telnet, um die Konnektivität zu testen. Wenn Telnet nicht installiert ist, tun Sie dies mit Ihrem Paketmanager.
telnet [Hostname/IP-Adresse] [Portnummer]
Ersetzen [Hostname/IP-Adresse] mit der IP-Adresse Ihres Systems und [Port-Nummer] mit der von Ihnen geöffneten Portnummer.
telnet localhost 4000.
Sie sollten eine Ausgabe wie die folgende sehen, die auf eine offene Verbindung mit hinweist nc.
Wir können auch anzeigen, dass der Port geöffnet ist, indem wir verwenden nmap. Wenn der Befehl noch nicht installiert ist, verwenden Sie erneut Ihren Paketmanager, um ihn abzurufen.
nmap localhost -p 4000.
Beachten Sie, dass nmap listet nur offene Ports auf, die auf Verbindungen lauschen. Deshalb verwenden wir netcat zum Testen, um diesen Port abzuhören. Andernfalls wird der Port nicht als offen registriert.
Ich kann mich nicht mit dem Port verbinden, den ich gerade geöffnet habe, was nun?
Wenn Sie alle oben genannten Schritte durchlaufen und keine Verbindung zum Port herstellen können, überprüfen Sie Ihre Eingabe. Wenn Sie sicher sind, dass Sie alles richtig eingegeben haben, müssen Sie wahrscheinlich Ihren Netzwerkrouter neu konfigurieren, um den Datenverkehr zuzulassen.
Da jeder Netzwerkrouter unterschiedliche Konfigurationsbildschirme hat, sollten Sie die Support-Seiten oder das Benutzerhandbuch für Ihr spezielles Gerät konsultieren. Sie müssen nach Portweiterleitungs- oder Portzuordnungseinstellungen sowie nach allen integrierten Firewalls suchen, die der Router möglicherweise verwendet.
So öffnen Sie einen Port dauerhaft unter Linux
Sobald Sie Ihren offenen Port getestet und sichergestellt haben, dass er funktioniert, möchten Sie die Änderung wahrscheinlich dauerhaft vornehmen. Andernfalls bleiben die Änderungen nach einem Neustart möglicherweise nicht erhalten. Wenn Sie ein Ubuntu-Benutzer sind oder anderweitig die verwenden ufw Firewall, Sie müssen sich darüber keine Gedanken machen. Die ufw Regeln werden beim Neustart nicht zurückgesetzt.
Für Firewalld-Benutzer
Es ist einfach, eine Portregel nach einem Neustart beizubehalten Firewalld. Fügen Sie einfach die hinzu – dauerhaft Flag zu Ihrem ersten Befehl hinzu, und es wird beim Start in die Firewall-Regeln Ihres Linux-Systems aufgenommen.
sudo firewall-cmd --add-port=4000/tcp --permanent.
Wenn Sie immer noch iptables verwenden
Die iptables Firewall ist viel problematischer (vielleicht ein guter Grund für ein Upgrade auf Firewalld oder ufw). Um einen Port „dauerhaft“ zu öffnen in iptables, können Sie die installieren iptables-persistent Paket zu helfen.
Bei der Erstinstallation iptables-persistent Auf einem Debian-basierten System werden Ihre aktuellen Regeln in einem von beiden gespeichert /etc/iptables/rules.v4 oder /etc/iptables/rules.v6. Um neue Regeln hinzuzufügen, geben Sie den folgenden Befehl ein:
sudo iptables-save > /etc/iptables/rules.v4.
ODER
sudo iptables-save > /etc/iptables/rules.v6.
Für diejenigen, die RPM-basierte Linux-Distributionen ausführen, ist es etwas anders. Das Paket wird aufgerufen iptables-Dienste, und die gespeicherten Dateien sind /etc/sysconfig/iptables und /etc/sysconfig/ip6tables.
Bei RPM-basierten Distributionen gibt es auch einen anderen Befehl, der für IPv6-Ports verwendet wird. Das Speichern Ihrer Regeln erfolgt mit einem dieser beiden Befehle:
sudo iptables-save > /etc/sysconfig/iptables. sudo ip6tables-save > /etc/sysconfig/iptables.
Stellen Sie sicher, dass Sie Ihre Port-Nutzung überwachen
Im Laufe der Zeit können sich Ihre Serveranforderungen ändern. So wie Sie es sollten halten Sie sich über die Benutzerkonten auf dem Laufenden Auf Ihrem Linux-Rechner sollten Sie außerdem regelmäßig Ihre offenen Ports prüfen. Schließen Sie alle offenen Ports, die nicht mehr benötigt werden. Zusammen mit regelmäßig dein Passwort ändern, dies ist eine bewährte Sicherheitspraxis, die Ihnen hilft, Systemangriffe und Sicherheitslücken zu vermeiden.