Detaillierte Erläuterung der erzwungenen Freigabe belegter Ports unter Linux und der Methode zum Öffnen von Ports in der Linux-Firewall

Detaillierte Erläuterung der erzwungenen Freigabe belegter Ports unter Linux und der Methode zum Öffnen von Ports in der Linux-Firewall

Bei der Installation von Nginx, MySQL, Tomcat und anderen Diensten kann es vorkommen, dass die benötigten Ports unerklärlicherweise belegt sind. So lösen Sie dieses Problem.

Wenn wir von Ports sprechen, müssen wir Firewalls erwähnen. Dieser Artikel stellt auch kurz vor, wie man Firewall-Entwicklungsports konfiguriert.

Verschiedene Methoden zum Anzeigen des Portstatus in Linux

Die Zuordnungsbeziehungen aller Ports befinden sich in der Datei /etc/services.

Eine kurze Einführung in Linux-Ports. Die Portnummern reichen von 0 bis 65536. Die Verwendung jedes nummerierten Ports ist wie folgt:

0-1023: Bekannte Ports, an gängige Dienste gebunden (FTP, SSH)

1024-49151: registrierter Port, wird zur Bindung an einige Dienste verwendet

49152-65535: Dynamische oder private Ports, können für jede Netzwerkverbindung verwendet werden

Ports werden in die Übertragungsprotokolle TCP und UDP unterteilt.

Linux-Befehl „Portstatus anzeigen“

Mit dem folgenden Befehl können Sie den Portstatus überprüfen. Klicken Sie auf den Befehl, um die Nutzungsdetails jedes Befehls anzupassen:

nmap -Befehl, Port-Scanning verwenden

netstat erkennt den Entwicklungsport

lsof prüft Portdeskriptoren

# Zeigen Sie den an diese Maschine gebundenen Port an nmap 127.0.0.1

# Überprüfen Sie Port 3306 netstat -anlp | grep 3306

# Überprüfen Sie die Schnittstelle 3306 lsof -i:3306

So geben Sie belegte Ports in Linux frei

Die Lösungsschritte sind wie folgt:

Suchen Sie den Prozess, der den Port belegt

Beenden Sie den Prozess

Verwenden Sie den folgenden Befehl:

# Kann als Befehl geschrieben werden

netstat -anp|grep 8080|awk '{print $7}'|awk -F '/' '{print $1}'|xargs kill -s 9

Die Bedeutung der einzelnen Befehle ist wie folgt:

netstat -anp zeigt die gesamte Netzwerknutzung an und zeigt die Programme an, die sie verwenden

grep 8080 gleicht die Datensätze von Port 8080 ab (kann 18080 enthalten)

awk '{print $7}' gibt den Prozess in der 7. Spalte im folgenden Format aus: 18989/nginx

awk -F '/' '{print $1}' fängt den Prozess PID ab: 18989

xargs kill -s 9 verwendet die Ausgabe des vorherigen Befehls als Parameter, um den Prozess zu beenden

Schrittweise Lösung zur Freigabe belegter Ports

Prüfen Sie, ob der Port belegt ist

Wenn Sie beispielsweise überprüfen müssen, ob Port 8080 belegt ist, können Sie den folgenden Befehl verwenden

netstat -an | grep 8080

Abfrage des Prozesses, der den Port belegt

Mit dem Befehl lsof können Sie

lsof -i:8080

Sie können auch netstat und grep verwenden, um

netstat -anp|grep 8080

Die letzte Zeile des Befehls ist die PID und der Name des Prozesses, der Port 8080 belegt.

Beenden Sie den Prozess, der den Port belegt

Mit dem Kill-Befehl können Sie den im vorherigen Schritt ermittelten Prozess direkt beenden.

kill -9 19664

Linux-Firewall gibt Ports frei

Starten und Herunterfahren der Linux-Firewall

Die unten vorgestellte Firewall ist iptable und nicht auf Firewalld anwendbar.

Firewall einschalten (dauerhaft nach Neustart): chkconfig iptables on
Firewall ausschalten (dauerhaft nach Neustart): chkconfig iptables off
Aktivieren Sie die Firewall (wird sofort wirksam und ist nach einem Neustart ungültig): service iptables start
Deaktivieren der Firewall (sofort wirksam, ungültig nach Neustart): service iptables stop
Starten Sie die Firewall neu: service iptables restart

Überprüfen Sie den Firewall-Status in Linux

Zum Anzeigen können Sie den folgenden Befehl verwenden:

/etc/init.d/iptables Status

# Oder einfach iptables status
iptables -L

# Sie können auch direkt die Konfigurationsdatei vim /etc/sysconfig/iptables anzeigen 

Öffnen Sie einen Port in der Linux-Firewall

Um beispielsweise Port 8080 zu öffnen, verwenden Sie den folgenden Befehl:

iptables -A INPUT -p tcp --dport 8080 -j AKZEPTIEREN
# Sie müssen auch den Dienst service iptables restart neu starten

# Sie können auch direkt die Konfigurationsdatei vim /etc/sysconfig/iptables bearbeiten
# Fügen Sie dann am Ende der Datei eine Zeile hinzu, um alle Ports zwischen 8080 und 8181 zu öffnen: iptables -A INPUT -p tcp --dport 8080:8181 -j ACCEPT

In

Der Parameter –A dient zum Hinzufügen einer Regel
–p gibt das Protokoll an, normalerweise verwenden wir das TCP-Protokoll, natürlich gibt es auch UDP
–dport ist der Zielport. Wenn Daten von außen auf den Server gelangen, ist dies der Zielport.
–sport gehen vom Server aus, daher wird dieser als Datenquellenport verwendet.
–j gibt ACCEPT - Empfangen oder DROP nicht Empfangen an

Oben geht es um die erzwungene Freigabe belegter Ports unter Linux und die Methode zum Öffnen von Ports in der Linux-Firewall. Weitere Artikel zu Linux-Ports finden Sie in den entsprechenden Artikeln unten.

Das könnte Sie auch interessieren:
  • So gehen Sie mit dem Problem um, dass die Datei gelöscht wird, der Speicherplatz in Linux jedoch nicht freigegeben wird
  • Manuelles Freigeben des Linux-Serverspeichers (bestimmte Schritte)
  • CCKiller: Ein leichtes CC-Angriffsabwehrtool für Linux, das Ziele in Sekundenschnelle prüft, automatisch blockiert und freigibt
  • Zusammenfassung der Linux-Befehle zum Bereinigen/Freigeben des Speichers
  • Detaillierte Erläuterung des Linux-Befehls zur Speicherfreigabe
  • Detaillierte Erklärung zum manuellen Freigeben des Caches in Linux
  • Detaillierte Erläuterung des Problems, dass der Speicherplatz nach dem Löschen der Linux-Datei nicht freigegeben wird

<<:  Detaillierte Beispiele zur Konvertierung von Zeilen in Spalten und Spalten in Zeilen in MySQL

>>:  Mehrere Möglichkeiten zum Generieren eindeutiger IDs in JavaScript

Artikel empfehlen

So verwenden Sie Binlog zur Datenwiederherstellung in MySQL

Vorwort Kürzlich wurden Daten online falsch bearb...

Vorteile und Probleme des XHTML CSS Website Designs

XHTML ist die derzeit international verbreitete S...

Detaillierte Erklärung der Datentypen und Schemaoptimierung in MySQL

Ich lerne derzeit etwas über MySQL-Optimierung. D...

Analysieren Sie mehrere gängige Lösungen für MySQL-Ausnahmen

Inhaltsverzeichnis Vorwort 1. Der vom Code konfig...

Detaillierte Erklärung zum Anpassen des Linux-Befehlsverlaufs

Der Befehl „Bash History“ im Linux-System hilft d...

Lösungen für Probleme bei der Leistungsoptimierung von MySQL-Indizes

Die von MySQL erstellte Optimierung besteht im Hi...

So zeigen Sie die Netzwerkroutingtabelle in Ubuntu an

Was sind Routing und Routing-Tabellen in Linux? U...

So optimieren Sie Bilder, um die Website-Leistung zu verbessern

Inhaltsverzeichnis Überblick Was ist Bildkomprimi...

Detailliertes Tutorial zur Tomcat-Installation und -Bereitstellung in Windows 10

Inhaltsverzeichnis 1 Konfiguration der Java-Umgeb...

Verwenden von JS zum Implementieren eines einfachen Rechners

Verwenden Sie JS, um einen einfachen Rechner für ...

IE6/7 wird ein Chaos: Problem mit der Höhe leerer Textknoten

Vorwort: Verwenden Sie die Debugleiste, um den Dok...