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

HTML-Code für Multiheader-Tabellen

1. Code der Multiheader-Tabelle Code kopieren Der ...

Analyse der MySQL-Transaktionsmerkmale und Ebenenprinzipien

1. Was ist eine Transaktion? Eine Datenbanktransa...

Interaktive Erlebnistrends, die 2015-2016 zum Mainstream werden

Der wichtigste Artikel zum interaktiven Design im...

MySQL Server IO 100 % Analyse- und Optimierungslösung

Vorwort Während des Stresstests besteht das unmit...

Beispielcode zur Umsetzung des „Pluszeichen“-Effektes mit CSS

So erzielen Sie den unten gezeigten Pluszeichen-E...

Mehrere Möglichkeiten, Python-Programme im Linux-Hintergrund auszuführen

1. Die erste Methode besteht darin, den Befehl un...

So stellen Sie War-Pakete manuell über Tomcat9 unter Windows und Linux bereit

Die Ergebnisse sind in Windows- und Linux-Umgebun...

Detaillierte Erläuterung der Wissenspunkte zum MySQL Strict Mode

I. Erläuterung des strikten Modus Gemäß den Einsc...

Detaillierte Erläuterung der MySQL-Lösung zur USE DB-Überlastung

Wenn wir auf einen Fehler stoßen, denken wir oft ...

Tools zur Bildoptimierung für Webseiten und Tipps zur Verwendung

Als grundlegendes Element einer Webseite sind Bil...

Webdesign-Erfahrung: Das Navigationssystem schlank machen

<br />Bei Diskussionen mit meinen Freunden h...