Zum Hauptinhalt springen

Wie konfiguriere ich das Port-Mapping unter Linux

Das Port-Mapping ist eine wichtige Aufgabe, mit der Administratoren von Linux-Systemen konfrontiert werden können. Sie ermöglicht die Weiterleitung von Datenverkehr von einem Port zum anderen, was besonders bei der Konfiguration von Netzwerkdiensten nützlich ist. Das Konfigurieren des Port-Mappings kann zum Erstellen von Webservern, Spieleservern oder Anwendungen nützlich sein, die spezifische Porteinstellungen erfordern.

Für diese Aufgabe wird unter Linux das iptables-Dienstprogramm verwendet, das die Regeln für das Filtern und Umleiten von Paketen steuert. Ihr Hauptziel ist es, die Netzwerksicherheit zu gewährleisten, aber es verfügt auch über leistungsstarke Funktionen zum Konfigurieren des Port-Mappings.

Installieren und aktivieren Sie zunächst iptables, falls es noch nicht installiert ist. Sie müssen dann die IP-Adresse Ihres Servers und die Portnummern kennen, die Sie weiterleiten möchten. Nehmen wir für dieses Beispiel an, dass Sie den Datenverkehr von Port 80 auf Port 8080 umleiten möchten. OpenSSH ist über Port 22 verfügbar, Sie möchten es jedoch in Port 2222 ändern. Führen Sie die folgenden Schritte aus, um das Port-Mapping mit iptables zu konfigurieren:

Port-Mapping unter Linux: Grundlagen und Vorteile

Einer der Hauptvorteile des Port-Mappings unter Linux besteht darin, Ressourcen zu sparen. Anstatt separate Server für jeden Dienst oder jede Anwendung bereitzustellen, können Sie einen einzelnen physischen Computer verwenden und den Datenverkehr an die richtigen Ports umleiten. Dadurch können Sie Geld für die Hardware und die Unterstützung der Serverinfrastruktur sparen.

Ein weiterer Vorteil des Port-Mappings ist die Flexibilität und Skalierbarkeit. Durch die Möglichkeit, die Portweiterleitung zu konfigurieren, können Sie Dienste und Anwendungen schnell und einfach hinzufügen oder ändern, ohne die Netzwerkinfrastruktur ändern zu müssen. Darüber hinaus ermöglicht dieser Ansatz eine effizientere Nutzung der verfügbaren Ressourcen und eine bessere Serverleistung.

Linux verwendet verschiedene Tools wie iptables, firewalld und Nginx, um das Port-Mapping zu konfigurieren. Sie ermöglichen es Ihnen, Regeln für die Umleitung des Datenverkehrs an die richtigen Ports zu erstellen und den Zugriff auf Dienste und Anwendungen zu steuern. Es gibt auch spezielle Programme wie Docker, die das Erstellen und Verwalten von Containern mit Anwendungen und Diensten vereinfachen.

Definition und Wesen des Port-Mappings

Die Ports werden zum Senden und Empfangen von Daten in Computernetzwerken verwendet. Jede Anwendung, die das Netzwerk verwendet, hat ihre eigene eindeutige Portnummer, über die Daten ausgetauscht werden. Ein HTTP-Server verwendet beispielsweise Port 80 und ein SMTP-E-Mail-Server verwendet Port 25.

Mit dem Port-Mapping können Sie externen Datenverkehr, der an einen bestimmten Port gerichtet ist, an eine bestimmte Anwendung oder einen bestimmten Dienst weiterleiten, der auf Ihrem Computer ausgeführt wird. Dies kann nützlich sein, wenn Sie mehrere Anwendungen haben, die denselben Port verwenden, oder wenn Sie Remote-Geräten den Zugriff auf bestimmte Dienste erlauben möchten, die auf Ihrem Computer ausgeführt werden.

Wenn Sie beispielsweise einen Spieleserver auf Ihrem Computer ausführen möchten, der Verbindungen über Port 5555 akzeptiert, können Sie das Port-Mapping so konfigurieren, dass ein externes Gerät über Ihre IP-Adresse und Port 5555 eine Verbindung zu diesem Server herstellen kann. Auf diese Weise leitet das externe Gerät seinen Datenverkehr an den angegebenen Port auf Ihrem Computer weiter, auf dem der Spielserver ausgeführt wird.

Mit Port-Mapping können Sie den Netzwerkverkehr effektiv verwalten und den Zugriff auf verschiedene Dienste und Anwendungen steuern, die auf Ihrem Computer ausgeführt werden. Mit dieser Technologie können Sie die Sicherheit konfigurieren und die Zugriffsebene für Ihre Dienste im Netzwerk verwalten.

Vorteile der Verwendung von Port-Mapping

  • Verbesserung der Sicherheit: Port-Mapping ermöglicht es Ihnen, echte Ports, die innerhalb eines Computers verwendet werden, vor der Außenwelt zu verbergen. Dies verhindert den unbefugten Zugriff auf Dienste und Geräte, die an diesen Ports ausgeführt werden.
  • Trennung von Diensten: Das Port-Mapping ermöglicht die Verwendung einer einzelnen öffentlichen IP-Adresse für die Arbeit mit verschiedenen Diensten und Geräten innerhalb eines Netzwerks. Dies führt zu Einsparungen bei IP-Adressen und erleichtert die Netzwerkverwaltung.
  • Leistungsverbesserung: Port-Mapping ermöglicht es Ihnen, die Umleitung und die Reihenfolge der Verarbeitung von Anforderungen an verschiedene Geräte und Dienste innerhalb des Netzwerks zu konfigurieren. Dies verbessert die Leistung und Effizienz des Netzwerks.
  • Vereinfachte Einrichtung: Das Port-Mapping macht die Konfiguration und Konfiguration des Netzwerks flexibler, da Sie genau bestimmen können, welche Ports und Geräte für eine externe Verbindung verfügbar sein müssen. Dies vereinfacht die Unterstützung und Wartung des Netzwerks.
  • Unterstützung für den Fernzugriff: Mit dem Port-Mapping können Sie den Remote-Zugriff auf Dienste und Geräte innerhalb eines Netzwerks von überall mit der Weltspinne aus konfigurieren. Dies ist nützlich für die Fernsteuerung und Überwachung des Netzwerks.

Installieren und Konfigurieren von iptables

So installieren Sie iptables führen Sie den folgenden Befehl im Terminal aus:

sudo apt-get install iptables

Nach der Installation müssen Sie die Firewall-Regeln konfigurieren. Verwenden Sie dazu den Befehl iptables.

Beispiele zum Konfigurieren von iptables-Regeln:

1. Alle eingehenden und ausgehenden Verbindungen verbieten:

iptables -P INPUT DROP

iptables -P OUTPUT DROP

2. Verbindungen an bestimmten Ports zulassen:

iptables -A INPUT -p tcp --dport 80 -j ACCEPT

In diesem Beispiel sind eingehende TCP-Verbindungen an Port 80 (HTTP) zulässig.

3. Pakete überspringen, die einer bereits installierten Verbindung entsprechen:

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

Mit dieser Regel können Sie Pakete überspringen, die bereits installierten Verbindungen entsprechen.

4. Eine bestimmte IP-Adresse blockieren:

iptables -A INPUT -s 192.168.1.100 -j DROP

In diesem Beispiel wird eingehender Datenverkehr von der IP-Adresse 192.168.1.100 blockiert.

Denken Sie nach dem Einrichten der iptables-Regeln daran, sie zu speichern, damit sie bei jedem Systemstart angewendet werden. Verwenden Sie den Befehl, um die Regeln zu speichern:

sudo iptables-save > /etc/iptables/rules.v4

Jetzt lädt iptables beim Booten automatisch die gespeicherten Regeln.

In diesem Artikel haben wir die Grundlagen für die Installation und Konfiguration von iptables untersucht. Denken Sie daran, dass eine falsche Konfiguration der Firewall zu Netzwerkstörungen oder möglichen Sicherheitslücken führen kann. Seien Sie daher vorsichtig und vorsichtig beim Einrichten von iptables.

Konfigurieren der Portweiterleitung mit iptables

1. Öffnen Sie ein Terminal und geben Sie den Befehl ein, um die iptables-Regeln zu öffnen:

  • sudo iptables -t nat -A PREROUTING -p tcp --dport -j DNAT --to-destination

2. Ersetzen Sie in diesem Befehl den Port, an den der externe Datenverkehr gesendet werden soll, und die IP-Adresse und den Port des internen Servers, an den der Datenverkehr weitergeleitet werden soll. Wenn beispielsweise externer Datenverkehr an Port 80 ankommt und der interne Server die IP-Adresse 192.168.0 hat.100 und Port 8080, wird der Befehl wie folgt aussehen:

  • sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.0.100:8080

3. Fügen Sie eine Regel hinzu, um den Antwortverkehr umzuleiten:

  • sudo iptables -t nat -A POSTROUTING -p tcp -d --dport -j SNAT --to-source

4. Ersetzen Sie sowohl die IP-Adresse und den Port des internen Servers als auch Ihre externe IP-Adresse. Zum Beispiel:

  • sudo iptables -t nat -A POSTROUTING -p tcp -d 192.168.0.100 --dport 8080 -j SNAT --to-source 10.0.0.1

5. Speichern Sie die iptables-Änderungen:

  • sudo iptables-save | sudo tee /etc/iptables.conf

6. Port-Test aktivieren:

Nachdem Sie diese Schritte ausgeführt haben, werden Sie mit iptables konfiguriert, um die Ports zu durchforsten. Beachten Sie, dass Sie eine externe IP-Adresse und einen externen Port verwenden müssen, um von anderen Geräten in Ihrem Netzwerk auf den internen Server zuzugreifen.

Permanente Port-Mapping-Regeln hinzufügen

Wenn Sie mit dem Port-Mapping unter Linux arbeiten, müssen Sie möglicherweise dauerhafte Regeln erstellen, damit die Einstellungen bei jedem Systemstart automatisch angewendet werden. Dazu können Sie verschiedene Tools wie iptables oder firewalld verwenden. Abhängig von Ihrer Linux-Distribution gibt es verschiedene Möglichkeiten, dauerhafte Port-Mapping-Regeln zu konfigurieren.

Eine der häufigsten Methoden ist die Verwendung von iptables. Um persistente Port-Mapping-Regeln mithilfe von iptables hinzuzufügen, müssen Sie die Datei öffnen /etc/sysconfig/iptables verwenden Sie den Texteditor Ihrer Wahl. In dieser Datei können Sie Port-Mapping-Regeln im folgenden Format angeben:

-A INPUT -p tcp --dport -j ACCEPT

Hier ist die Portnummer, die Sie öffnen möchten. Sie können viele Regeln angeben, jeweils in einer neuen Zeile, und die Datei speichern. Danach müssen Sie den iptables-Dienst neu starten, damit die Änderungen wirksam werden.

Eine weitere Möglichkeit, persistente Port-Mapping-Regeln zu Linux hinzuzufügen, ist die Verwendung von firewalld. Firewalld ist ein praktisches Tool für die Arbeit mit einer Firewall unter Linux. Um Port-Mapping-Regeln mithilfe von firewalld hinzuzufügen, müssen Sie den Befehl verwenden firewall-cmd.

Der folgende Befehl öffnet beispielsweise Port 80:

firewall-cmd --permanent --add-port=80/tcp

Hier 80 - die Portnummer, die Sie öffnen möchten, ist tcp – Protokoll.

Nachdem Sie die Regeln hinzugefügt haben, müssen Sie firewalld neu starten, um die Änderungen anzuwenden:

systemctl restart firewalld

Ihre permanenten Port-Mapping-Regeln werden nun bei jedem Systemstart angewendet.

Konfigurieren der Portweiterleitung in der Firewalld-Firewall

Sie können die Portweiterleitung verwenden, um eingehende Anforderungen an einen bestimmten Port an einen anderen Port oder eine andere IP-Adresse umzuleiten. Dies ist nützlich, wenn Sie beispielsweise einen Webserver in einem internen Netzwerk hosten und eingehende Anforderungen von Port 80 an diesen Webserver weiterleiten möchten.

Befolgen Sie die folgenden Schritte, um die Portweiterleitung in Firewalld zu konfigurieren:

Schritt 1: Überprüfen Sie, ob firewalld auf Ihrem System installiert ist. Wenn es nicht installiert ist, führen Sie den folgenden Befehl aus:

sudo apt-get install firewalld

Schritt 2: Starten Sie firewalld mit dem folgenden Befehl:

sudo systemctl start firewalld

Schritt 3: Aktivieren Sie firewalld, damit es beim Systemstart automatisch neu gestartet wird:

sudo systemctl enable firewalld

Schritt 4: Überprüfen Sie den Status von firewalld, um sicherzustellen, dass es erfolgreich gestartet wurde:

sudo systemctl status firewalld

Jetzt, da firewalld ausgeführt wird, können Sie die Portweiterleitung konfigurieren. Führen Sie dazu die folgenden Befehle aus:

Schritt 5: Fügen Sie mithilfe des folgenden Befehls eine Portweiterleitungsregel hinzu:

sudo firewall-cmd --zone=public --add-forward-port=port=80:proto=tcp:toport=8080

In diesem Team 80 - es ist ein externer Port, 8080 - dies ist der interne Port, an den eingehende Anfragen weitergeleitet werden, und tcp - das ist ein Umleitungsprotokoll.

Der eingehende Datenverkehr, der jetzt an Port 80 ankommt, wird an Port 8080 auf Ihrem Server weitergeleitet.

Sie können andere Portweiterleitungsregeln hinzufügen, indem Sie die Werte in diesem Befehl ändern.

Schritt 6: Speichern Sie die Änderungen, damit sie nach dem Neustart des Systems erhalten bleiben:

sudo firewall-cmd --runtime-to-permanent

Die Portweiterleitung ist jetzt konfiguriert und wird beim Booten von firewalld verwendet.

In diesem Artikel haben wir untersucht, wie die Portweiterleitung in der Firewall von firewalld konfiguriert wird. Jetzt können Sie diese Informationen verwenden, um Netzwerkverbindungen effektiv zu verwalten und Ihr System vor unerwünschtem Datenverkehr zu schützen.

Zusätzliche Tools und Tools zur Verwaltung des Port-Mappings

Neben den Standardtools des Linux-Betriebssystems zur Verwaltung des Port-Mappings gibt es auch verschiedene zusätzliche Tools, die die Bedienung erheblich vereinfachen und die Anpassungsflexibilität verbessern können.

Ein solches Werkzeug - iptables. Es ist ein leistungsfähiges Netzwerksicherheitsframework, mit dem Sie verschiedene Regeln zum Filtern und Routing von Datenpaketen festlegen können. Mit iptables können Sie Port-Mapping-Regeln erstellen und konfigurieren, Zugriffsbeschränkungen festlegen und Netzwerkressourcen schützen.

Ein weiteres nützliches Werkzeug ist netfilter, das Teil des Linux-Kernels ist und Mechanismen zum Filtern, Routing und Übertragen von Netzwerkpaketen bereitstellt. Mit Netfilter können Sie Port-Mapping-Regeln erstellen, den Zugriff auf Netzwerkressourcen steuern und Pakete nach verschiedenen Kriterien wie IP-Adresse, Protokoll oder Port filtern.

Ein weiteres nützliches Tool zum Verwalten des Port-Mappings - Docker. Docker ist ein Containerisierungstool, mit dem Sie Anwendungen und ihre Abhängigkeiten in isolierte Container verpacken können. Mit Docker können Sie Container mit konfiguriertem Port-Mapping erstellen, was eine bequeme und flexible Verwaltung des Datenverkehrs zu Ihren Anwendungen ermöglicht.

Darüber hinaus gibt es andere Tools und Bibliotheken wie ngrok, sshd und sshuttle, die auch verschiedene Möglichkeiten zur Verwaltung des Port-Mappings und zur Gewährleistung der Sicherheit von Netzwerkverbindungen bieten. Sie ermöglichen es Ihnen, sichere Tunnel zu erstellen, den Datenverkehr umzuleiten und eine Remote-Verbindung zu Remoteservern herzustellen.

Mit diesen zusätzlichen Tools und Tools können Sie das Port-Mapping unter Linux effizienter verwalten, die Sicherheit und Flexibilität bei der Konfiguration von Netzwerkverbindungen erhöhen.