Einführung
Iptables ist ein Befehlszeilen-Firewall -Dienstprogramm. Das bedeutet, dass es sich um eine Software handelt, mit der Sie eine Firewall auf Ihrem System konfigurieren können. Es ist standardmäßig in der Regel auf Linux-Systemen verfügbar. In dieser Anleitung werden wir einige der gängigen Regeln und Befehle besprechen, die mit der iptables-Firewall einhergehen. Wann immer eine Verbindung versucht, sich mit Ihrem System aufzubauen, greift die Firewall auf diese Regeln zurück, um zu bestimmen, was der nächste Schritt sein soll.
Iptables-Befehle
Diese Anleitung stellt einige der wichtigsten iptables-Befehle vor. Um der Anleitung zu folgen, müssen Sie ein grundlegendes Verständnis davon haben, was iptables ist und wie es funktioniert. Dies wird Ihnen helfen, die Regeln, die Sie mit den folgenden Befehlen implementieren, besser zu verstehen. Denken Sie daran, dass jeder der unten angegebenen Befehle einzeln verwendet werden kann. Andererseits können Sie sie auch nach Ihren spezifischen Bedürfnissen kombinieren.
Dinge, die Sie beachten sollten
Bevor Sie weiterlesen, hier sind einige Dinge, die Sie beachten sollten:
- Die Reihenfolge der Regeln in iptables ist wichtig.
- Um eine neue Regel am Ende einer Kette anzuhängen, muss Ihr
iptables-Befehl die Option-A verwenden. - Wenn Sie die Regel an einer anderen Position einfügen möchten, müssen Sie die Option
-Iverwenden. Diese Option ermöglicht es Ihnen, den genauen Ort der Regel anzugeben. Wenn Sie die Regel am Anfang der Kette platzieren möchten, geben Sie einfach keine Regelnummer an. - Um einen konsistenten Zugriff auf Ihren Server zu gewährleisten, blockieren Sie standardmäßig den SSH-Verkehr auf Port 22.
- Falls Sie dies nicht tun und den Zugriff auf Ihren Server verlieren, können Sie sich über die Konsole wieder verbinden. Erlauben Sie den SSH-Verkehr, um die Firewall-Einstellungen zu ändern.
- Wenn Sie jemals das aktuell aktive Regelwerk überprüfen möchten, verwenden Sie die Befehle
sudo iptables -S und sudo iptables -L.
Darüber hinaus haben wir eine detaillierte Anleitung zum Auflisten und Löschen von iptables-Firewall-Regeln, die Ihnen helfen wird, Ihre iptables-Firewall optimal zu nutzen.
Nachdem wir die Voraussetzungen geklärt haben, lassen Sie uns in einige der gängigen iptables-Befehle eintauchen:
So speichern Sie Ihre Regeln
Wir beginnen damit, wie Sie Ihre Regeln speichern können. Es ist wichtig zu beachten, dass iptables-Regeln flüchtig sind. Das bedeutet, dass sie nach einem Neustart Ihres Systems verloren gehen – es sei denn, Sie speichern sie. Hier erfahren Sie, wie Sie Ihre neuen Regeln manuell auf einem Ubuntu- bzw. CentOS-Server speichern können:
-
Ubuntu
Der einfachste Weg, Ihre neuen Regeln auf einem Ubuntu-Server zu speichern, ist die Verwendung des Pakets iptables-persistent. Sie können ganz einfach einen Ubuntu-Server erstellen, indem Sie dieser Anleitung folgen.
Der erste Schritt zum Speichern Ihrer neuen iptables-Regeln ist die Installation des Pakets iptables-persistent mit apt-get. So können Sie es installieren:
|
1 |
sudo apt-get install iptables-persistent |

Während des Installationsprozesses müssen Sie entscheiden, ob Sie die aktuell aktiven Firewall-Regeln speichern möchten. Um stattdessen die Regeln zu aktualisieren und die Änderungen zu speichern, verwenden Sie diesen Befehl:
|
1 |
sudo netfilter-persistent save |

Der obige Befehl funktioniert in der Regel für Ubuntu-Versionen nach 16.04. Wenn Sie eine ältere Version verwenden, nutzen Sie stattdessen diesen Befehl:
|
1 |
sudo invoke-rc.d iptables-persistent save |
-
CentOS
Sie können Ihre Firewall mit iptables auf CentOS 6 oder älteren Versionen konfigurieren. CentOS 7 verwendet stattdessen FirewallD. Folgen Sie dieser Anleitung, um zu erfahren, wie Sie FirewallD auf CentOS 7 einrichten.
Sie können Ihre neuen Regeln auf CentOS mit dem iptables-Init-Skript speichern. Siehe folgenden Befehl:
|
1 |
sudo service iptables save |
Dieser Befehl speichert Ihre neuen Regeln für die iptables-Firewall. Die aktuell aktiven iptables-Regeln finden Sie in der /etc/sysconfig/iptables -Datei.
Nützliche iptables-Befehle
Kommen wir nun zu einigen sehr nützlichen iptables-Firewall-Befehlen, die Sie möglicherweise auf Ihrem Server verwenden müssen.
-
Loopback-Verbindungen
Zuerst werden wir untersuchen, wie Sie Loopback-Verbindungen zulassen können. Ihr System verwendet eine Loopback-Schnittstelle, um Verbindungen an sich selbst zu senden. Stellen Sie sich beispielsweise vor, Sie haben diesen Befehl ausgeführt: ping localhost oder ping 127.0.0.1. Ihr Server verwendet eine Loopback-Schnittstelle oder ein lo, um sich im Wesentlichen selbst anzupingen. In anderen Fällen verwendet der Server sie, wenn Ihr Anwendungsserver so konfiguriert ist, dass er eine Verbindung zur „localhost“-Adresse herstellt.
Unabhängig von der Situation müssen Sie sicherstellen, dass Ihre iptables-Firewall diese Verbindungen nicht blockiert. Daher müssen Sie Loopback-Verbindungen zulassen, damit diese Funktionen ausgeführt werden können.
Hier sind die Befehle, die Sie ausführen müssen, um den gesamten Datenverkehr auf der Loopback-Schnittstelle zuzulassen:
|
1 2 |
sudo iptables -A INPUT -i lo -j ACCEPT sudo iptables -A OUTPUT -o lo -j ACCEPT |

-
Bestehende und verwandte eingehende Verbindungen
Eine andere Art von Verbindung, die Sie möglicherweise zulassen müssen, ist die ausgehende Verbindung. Um sicherzustellen, dass Ihr Server eingehenden bzw. ausgehenden Datenverkehr empfängt und sendet, müssen Sie bestehende und verwandte eingehende Verbindungen zulassen. Dies ermöglicht es dem Server, Antwortdatenverkehr an ausgehende Verbindungen zu senden. Verwenden Sie diesen Befehl, um sowohl bestehende als auch verwandte eingehende Verbindungen zuzulassen:
|
1 |
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT |
![]()
-
Bestehende ausgehende Verbindungen
Der Server sendet in der Regel Antworten auf eingehende Verbindungen in Form von ausgehendem Datenverkehr bestehender Verbindungen. Um diese zuzulassen, verwenden Sie den folgenden Befehl:
|
1 |
sudo iptables -A OUTPUT -m conntrack --ctstate ESTABLISHED -j ACCEPT |
![]()
-
Intern zu Extern
Manchmal müssen Sie Ihre Firewall sogar so konfigurieren, dass sie dem internen Netzwerk Zugriff auf das externe gewährt. Standardmäßig sollte Ihr externes Netzwerk eth0 und eth1 Ihr internes Netzwerk sein. Wenn dies der Fall ist, verwenden Sie diesen Befehl, um den Zugriff zu aktivieren:
|
1 |
sudo iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT |

-
Verwerfen ungültiger Pakete
Manchmal werden einige Netzwerkdatenpakete als ungültig gekennzeichnet. Meistens können Sie diese ungültigen Pakete einfach verwerfen. Verwenden Sie dazu den folgenden Befehl:
|
1 |
sudo iptables -A INPUT -m conntrack --ctstate INVALID -j DROP |
Regeln zum Blockieren von IP-Adressen
Als Nächstes sehen wir uns einige Befehle an, mit denen Sie Verbindungen von bestimmten IP-Adressen blockieren können. Um die Sache zu vereinfachen, verwenden wir die 15.15.15.51 IP-Adresse als Beispiel in unseren Befehlen. Sie können diesen Wert durch Ihre spezifische IP-Adresse ersetzen.
|
1 |
sudo iptables -A INPUT -s 15.15.15.51 -j DROP |
In -s 15.15.15.51, steht das -s für Source (Quelle). Der Befehl gibt also die Quell-IP-Adresse „15.15.15.51“ an. Auf ähnliche Weise können Sie die Quell-IP-Adresse in jeder Firewall-Regel angeben. Dies schließt die Erlaubnis- und die Ablehnungsregel ein.
Wenn Sie die Verbindung ablehnen möchten, verwenden Sie im Befehl REJECT anstelle von DROP, und zwar so:
|
1 |
sudo iptables -A INPUT -s 15.15.15.51 -j REJECT |
Infolgedessen gibt Ihr Server die Fehlermeldung „Verbindung verweigert“ (connection refused) aus, wann immer diese bestimmte IP-Adresse eine Verbindungsanfrage sendet.
-
Blockieren von Verbindungen zu einer bestimmten Schnittstelle
Es ist möglich, alle Verbindungsanfragen von einer bestimmten IP-Adresse an eine bestimmte Netzwerkschnittstelle zu blockieren. In unserem Beispiel ist die IP-Adresse 15.15.15.51 und die Netzwerkschnittstelle ist eth0. Verwenden Sie diesen Befehl, um die Verbindungen zu blockieren:
|
1 |
iptables -A INPUT -i eth0 -s 15.15.15.51 -j DROP |
Das Tolle daran ist, dass Sie die Netzwerkschnittstelle in jeder Regel angeben können. Dies bedeutet, dass jede Regel angewendet und auf ein bestimmtes Netzwerk beschränkt werden kann.
Regeln für den Dienst: SSH
SSH wird relevant, wenn Sie einen Cloud-Server verwenden. In diesem Fall müssen Sie eingehende SSH-Verbindungen auf Port 22 zulassen. Durch das Aktivieren dieser Verbindungen können Sie eine Verbindung zu Ihrem Server herstellen und diesen verwalten. Hier werden wir eine Reihe gängiger Regeln für SSH besprechen.
-
Zulassen aller eingehenden SSH-Verbindungen
Die folgenden Befehle aktivieren alle eingehenden SSH-Verbindungen:
|
1 2 |
sudo iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT sudo iptables -A OUTPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT |
In der obigen Gruppe müssen Sie den zweiten Befehl nur verwenden, wenn die OUTPUT-Richtlinie nicht auf ACCEPT eingestellt ist. Er erlaubt den ausgehenden Datenverkehr von hergestellten SSH-Verbindungen.
-
Eingehende SSH-Verbindungen aus einem Subnetz zulassen
Der vorherige Befehl erlaubt alle eingehenden Verbindungen. Sie können die folgenden Befehle verwenden, um nur eingehende Verbindungen von einer bestimmten IP-Adresse oder einem bestimmten Subnetz zuzulassen. Nehmen wir an, Sie möchten nur eingehende Verbindungen aus dem 15.15.15.0/24 Subnetz:
|
1 2 |
sudo iptables -A INPUT -p tcp -s 15.15.0/24 --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT sudo iptables -A OUTPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT |
Wie zuvor müssen Sie den zweiten Befehl nur verwenden, wenn die OUTPUT-Richtlinie nicht auf ACCEPT eingestellt ist. Er erlaubt den ausgehenden Datenverkehr von hergestellten SSH-Verbindungen.
-
Ausgehende SSH-Verbindungen zulassen
Verwenden Sie diese Befehle, wenn die Firewall-OUTPUT-Richtlinie nicht auf ACCEPT eingestellt ist und Sie SSH-Verbindungen aktivieren möchten. Dies ermöglicht es Ihrem Server, SSH-Verbindungen zu anderen Servern zu initiieren:
|
1 2 |
sudo iptables -A OUTPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT sudo iptables -A INPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT |
Um SSH auf Ihren Cloud-Servern weiter zu nutzen, werfen Sie einen Blick auf unsere Tutorials über wie Sie SSH verwenden, um eine Verbindung zu einem Remote-Server in Ubuntu herzustellen und wie Sie Ihren Linux-Server für die Verwendung der SSH-schlüsselbasierten Authentifizierung konfigurieren.
-
Eingehende Rsync-Verbindungen aus einem Subnetz zulassen
Rsync ist eine Funktion, mit der Sie Dateien von einem System auf ein anderes übertragen können. Sie läuft auf Port 873. Wenn Sie also eingehende Rsync-Verbindungen auf Port 873 von einer bestimmten IP-Adresse oder einem bestimmten Subnetz zulassen möchten, verwenden Sie die folgenden Befehle:
|
1 2 |
sudo iptables -A INPUT -p tcp -s 15.15.0/24 --dport 873 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT sudo iptables -A OUTPUT -p tcp --sport 873 -m conntrack --ctstate ESTABLISHED -j ACCEPT |
Wie Sie sehen können, haben wir die Quell-IP-Adresse zusammen mit dem Zielport angegeben. Sie verwenden den zweiten Befehl nur, wenn die Firewall-OUTPUT-Richtlinie nicht auf ACCEPT eingestellt ist. Er erlaubt den ausgehenden Datenverkehr von hergestellten Rsync-Verbindungen. Darüber hinaus können Sie einen Blick auf unser Tutorial zur Nutzung von Rsync zur Synchronisierung lokaler und entfernter Verzeichnisse auf einem VPS werfen.
Regeln für den Dienst: Webserver
HTTP-Verbindungen werden typischerweise auf Port 80 empfangen. Ebenso erfolgt HTTPS normalerweise auf Port 443. Webserver wie Apache und Nginx lauschen auf diesen Ports, um Verbindungsanfragen abzufangen. Manchmal führen die Standardeinstellungen dazu, dass Ihr Server diese eingehenden Anfragen ablehnt oder verwirft. Aus diesem Grund müssen Sie neue Regeln festlegen, um den Datenverkehr dennoch zuzulassen.
-
Alle eingehenden HTTP-Verbindungen zulassen
Sie können alle eingehenden HTTP-Verbindungen auf Port 80 mit diesen Befehlen zulassen:
|
1 2 |
sudo iptables -A INPUT -p tcp --dport 80 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT sudo iptables -A OUTPUT -p tcp --sport 80 -m conntrack --ctstate ESTABLISHED -j ACCEPT |
Sie verwenden den zweiten Befehl nur, wenn die Firewall-OUTPUT -Richtlinie nicht auf ACCEPT eingestellt ist. Er erlaubt den ausgehenden Datenverkehr von hergestellten HTTP-Verbindungen.
-
Zulassen aller eingehenden HTTPS-Verbindungen
Verwenden Sie diese Befehle, um alle eingehenden HTTPS-Verbindungsanfragen auf Port 443 zuzulassen:
|
1 2 |
sudo iptables -A INPUT -p tcp --dport 443 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT sudo iptables -A OUTPUT -p tcp --sport 443 -m conntrack --ctstate ESTABLISHED -j ACCEPT |
Sie verwenden den zweiten Befehl nur, wenn die iptables-Firewall-OUTPUT-Richtlinie nicht auf ACCEPT festgelegt ist. Sie lässt den ausgehenden Datenverkehr etablierter HTTP-Verbindungen zu.
-
Zulassen aller eingehenden Verbindungen von HTTP und HTTPS
Sie können das Multiport-Modul verwenden, wenn Sie Datenverkehr sowohl von HTTP- als auch von HTTPS-Ports zulassen möchten. Verwenden Sie in diesem Fall diese Befehle:
|
1 2 |
sudo iptables -A INPUT -p tcp -m multiport --dports 80,443 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT sudo iptables -A OUTPUT -p tcp -m multiport --dports 80,443 -m conntrack --ctstate ESTABLISHED -j ACCEPT |
Sie verwenden den zweiten Befehl nur, wenn die Firewall-OUTPUT-Richtlinie nicht auf ACCEPT festgelegt ist. Sie lässt den ausgehenden Datenverkehr etablierter HTTP- und HTTPS-Verbindungen zu.
Regeln für den Dienst: MySQL
Manchmal verwendet ein Client einen Remote-Server, um auf Ihren MySQL-Datenbankserver zuzugreifen. In diesem Fall müssen Sie den eingehenden Datenverkehr vom entsprechenden Port manuell zulassen. MySQL lauscht auf Verbindungsanfragen von Port 3306.
-
Zulassen eingehender MySQL-Verbindungen aus einem Subnetz
Sie müssen die Quelle angeben, wenn Sie MySQL-Verbindungen aus einem bestimmten Subnetz zulassen möchten. In unserem Beispiel lassen wir eingehenden Datenverkehr aus dem 15.15.15.0/24-Subnetz mit diesen Befehlen zu:
|
1 2 |
sudo iptables -A INPUT -p tcp -s 15.15.0/24 --dport 3306 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT sudo iptables -A OUTPUT -p tcp --sport 3306 -m conntrack --ctstate ESTABLISHED -j ACCEPT |
Sie verwenden den zweiten Befehl nur, wenn die Firewall-OUTPUT-Richtlinie nicht auf ACCEPT festgelegt ist. Sie lässt den ausgehenden Datenverkehr etablierter MySQL-Verbindungen zu.
-
Aktivieren von MySQL-Verbindungen zu einer Schnittstelle
Wenn Sie auch angeben möchten, welche Netzwerkschnittstelle die MySQL-Verbindungen empfangen soll, können Sie diese Befehle verwenden:
|
1 2 |
sudo iptables -A INPUT -i eth1 -p tcp --dport 3306 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT sudo iptables -A OUTPUT -o eth1 -p tcp --sport 3306 -m conntrack --ctstate ESTABLISHED -j ACCEPT |
In diesem Fall lassen wir die Verbindungen zu einer privaten Netzwerkschnittstelle namens eth1.
zu. Sie verwenden den zweiten Befehl nur, wenn die Firewall OUTPUT-Richtlinie nicht auf ACCEPT festgelegt ist. Sie lässt den ausgehenden Datenverkehr etablierter MySQL-Verbindungen zu.
Sie können unserer Anleitung für eine einfache Einrichtung von MySQL auf Ihrem Server folgen.
Regeln für den Dienst: PostgreSQL
Ihr Client verwendet möglicherweise einen Remote-Server, um auf Ihren PostgreSQL-Datenbankserver zuzugreifen. In diesem Fall müssen Sie diese eingehenden Verbindungen zulassen. Diese Verbindungen erfolgen über Port 5432.
-
Zulassen eingehender PostgreSQL-Verbindungen aus einem Subnetz
Sie können die folgenden Befehle verwenden, um eingehende PostgreSQL-Verbindungen aus einem bestimmten Subnetz oder einer bestimmten IP-Adresse zuzulassen. Wie Sie sehen können, haben wir die Quelle angegeben, bei der es sich um das 15.15.15.0/24 -Subnetz handelt.
|
1 2 |
sudo iptables -A INPUT -p tcp -s 15.15.0/24 --dport 5432 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT sudo iptables -A OUTPUT -p tcp --sport 5432 -m conntrack --ctstate ESTABLISHED -j ACCEPT |
Sie verwenden den zweiten Befehl nur, wenn die Firewall OUTPUT-Richtlinie nicht auf ACCEPT festgelegt ist.. Es erlaubt den ausgehenden Datenverkehr von hergestellten PostgreSQL-Verbindungen.
-
PostgreSQL-Verbindungen für eine bestimmte Schnittstelle aktivieren
Wenn Sie PostgreSQL-Verbindungen nur für eine bestimmte Netzwerkschnittstelle zulassen möchten, verwenden Sie diese Befehle:
|
1 2 |
sudo iptables -A INPUT -i eth1 -p tcp --dport 5432 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT sudo iptables -A OUTPUT -o eth1 -p tcp --sport 5432 -m conntrack --ctstate ESTABLISHED -j ACCEPT |
In diesem Fall erlauben wir die Verbindungen zu einer privaten Netzwerkschnittstelle namens eth1. Sie verwenden den zweiten Befehl nur, wenn die Firewall-Richtlinie für OUTPUT nicht auf ACCEPT festgelegt ist. Es erlaubt den ausgehenden Datenverkehr von hergestellten PostgreSQL-Verbindungen.
Folgen Sie dieser Anleitung, um PostgreSQL auf Ihrem Ubuntu-Server zu installieren.
Regeln für den Dienst: Mail
Möglicherweise müssen Sie Ihre Firewall auch entsprechend dem von Ihnen verwendeten Mailserver konfigurieren. Beispielsweise können Sendmail und Postfix Verbindungen auf einer Reihe verschiedener Ports empfangen. Dies hängt von dem Protokoll ab, das Sie für die E-Mail-Zustellung verwenden. Um bestimmte E-Mail-Verbindungen zu blockieren und zuzulassen, müssen Sie wissen, welches Protokoll Sie verwenden.
-
Eingehende SMTP-Verbindungen zulassen
SMTP-Verbindungen gehen normalerweise über Port 25 ein. Obwohl SMTP üblicherweise auch Port 587 für ausgehende E-Mails verwendet. Verwenden Sie die folgenden Befehle, um Ihrem Server zu erlauben, auf diese Verbindungen zu antworten:
|
1 2 |
sudo iptables -A INPUT -p tcp --dport 25 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT sudo iptables -A OUTPUT -p tcp --sport 25 -m conntrack --ctstate ESTABLISHED -j ACCEPT |
Sie verwenden den zweiten Befehl nur, wenn die Firewall-Richtlinie für OUTPUT nicht auf ACCEPT festgelegt ist. Es erlaubt den ausgehenden Datenverkehr von hergestellten SMTP-Verbindungen.
-
Alle eingehenden IMAP-Verbindungen zulassen
Um Ihrem Server zu erlauben, auf alle eingehenden IMAP-Verbindungen auf Port 143 zu antworten, geben Sie einfach Folgendes ein und führen Sie es aus:
|
1 2 |
sudo iptables -A INPUT -p tcp --dport 143 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT sudo iptables -A OUTPUT -p tcp --sport 143 -m conntrack --ctstate ESTABLISHED -j ACCEPT |
Sie verwenden den zweiten Befehl nur, wenn die Firewall OUTPUT Richtlinie nicht auf ACCEPT festgelegt ist. Es erlaubt den ausgehenden Datenverkehr von hergestellten IMAP-Verbindungen.
-
Alle eingehenden IMAPS-Verbindungen zulassen
Verwenden Sie diese Befehle, um Ihrem Server zu erlauben, auf IMAPS-Verbindungen auf Port 993 zu antworten:
|
1 2 |
sudo iptables -A INPUT -p tcp --dport 993 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT sudo iptables -A OUTPUT -p tcp --sport 993 -m conntrack --ctstate ESTABLISHED -j ACCEPT |
Sie verwenden den zweiten Befehl nur, wenn die Firewall-Richtlinie für OUTPUT nicht auf ACCEPT festgelegt ist. Es erlaubt den ausgehenden Datenverkehr von hergestellten IMAPS-Verbindungen.
-
Alle eingehenden POP3-Verbindungen zulassen
Diese Verbindungen gehen über Port 993 ein. Wenn Sie möchten, dass Ihr Server auf IMAPS-Verbindungsanfragen antwortet, verwenden Sie die folgenden Befehle:
|
1 2 |
sudo iptables -A INPUT -p tcp --dport 110 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT sudo iptables -A OUTPUT -p tcp --sport 110 -m conntrack --ctstate ESTABLISHED -j ACCEPT |
Sie verwenden den zweiten Befehl nur, wenn die Firewall-Richtlinie für OUTPUT nicht auf ACCEPT festgelegt ist. Es erlaubt den ausgehenden Datenverkehr von hergestellten POP3-Verbindungen.
-
Alle eingehenden POP3S-Verbindungen zulassen
Verwenden Sie diese Befehle, um Ihrem Server zu erlauben, Verbindungen mit POP3S-Anfragen herzustellen, die auf Port 995 eingehen:
|
1 2 |
sudo iptables -A INPUT -p tcp --dport 995 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT sudo iptables -A OUTPUT -p tcp --sport 995 -m conntrack --ctstate ESTABLISHED -j ACCEPT |
Sie verwenden den zweiten Befehl nur, wenn die Firewall-OUTPUT -Richtlinie nicht auf ACCEPT eingestellt ist. Er erlaubt den ausgehenden Datenverkehr von aufgebauten POP3S-Verbindungen.
-
So blockieren Sie ausgehende SMTP-E-Mails
Anstatt eingehende Verbindungen zuzulassen und die Serverantwort zu aktivieren, möchten Sie ausgehende E-Mails möglicherweise komplett blockieren. Sie können alle ausgehenden SMTP-E-Mails auf Port 25 mit diesem Befehl blockieren:
|
1 |
sudo iptables -A OUTPUT -p tcp --dport 25 -j REJECT |
Infolgedessen wird der gesamte ausgehende Datenverkehr auf Port 25 von der iptables-Firewall abgewiesen. Sie können dieselbe Befehlsstruktur verwenden, wenn Sie einen anderen Dienst abweisen möchten. Sie müssen lediglich Port 25 durch die entsprechende Portnummer ersetzen.
Fazit
Diese Anleitung deckt die wichtigsten iptables-Firewall-Befehle ab. Sie bietet Ihnen die grundlegenden Werkzeuge, die Sie benötigen, um Ihre iptables-Firewall effektiv zu konfigurieren. Denken Sie daran, dass es keine Universallösung gibt. Diese Befehle sind äußerst flexibel. Das bedeutet, dass Sie sie so verwenden können, wie es für Sie und Ihre Anforderungen am besten passt.
Viel Spaß beim Computing!

Kommentare
Noch keine Kommentare. Schreiben Sie den ersten.