Detaillierte Erklärung von / etc / sysconfig / iptables

Inhaltsverzeichnis

Ein Iptables-Konzept

Zwei iptables-Grundlagen

Drei, iptables-Befehlsformat

Befehlsformat

Befehlsoptionen

Zustandsübereinstimmung

Verarbeitungsaktion

Viertens Befehl iptables

Fünf, iptables Instanz

Sechs, CentOS7 keine lösbare Lösung

Verweise:


Ein Iptables-Konzept


Das vom Linux-Kernel integrierte IP-Informationspaket-Filtersystem, die Linux-Paketfilterfunktion, dh die Linux-Firewall, besteht aus zwei Komponenten, netfilter und iptables.
Wenn die Firewall Paketfilterungsentscheidungen trifft, muss sie eine Reihe von Regeln befolgen und zusammenstellen. Diese Regeln werden in einer dedizierten Paketfiltertabelle gespeichert und diese Tabellen werden in den Linux-Kernel integriert. In der Paketfiltertabelle werden Regeln gruppiert und in eine sogenannte Kette eingefügt. Das IP-Paketfiltersystem netfilter / iptables ist ein leistungsstarkes Tool, mit dem Regeln hinzugefügt, bearbeitet und entfernt werden können.
Die Netfilter-Komponente, auch als Kernel-Space bezeichnet, ist Teil des Kernels und besteht aus einigen Paketfiltertabellen. Diese Tabellen enthalten die Regeln, die der Kernel zur Steuerung der Verarbeitung der Paketfilterung verwendet. Die iptables-Komponente ist ein Tool, das auch als Userspace bezeichnet wird und das einfache Einfügen, Ändern und Entfernen von Regeln in die Paketfiltertabelle erleichtert.


Zwei iptables-Grundlagen


Iptables funktioniert gemäß den Regeln. Die Regeln sind tatsächlich vom Netzwerkadministrator vordefinierte Bedingungen. Die Regeln werden im Allgemeinen als "Wenn der Paket-Header solche Bedingungen erfüllt, verarbeiten Sie einfach dieses Paket" definiert. Die Regeln werden in der Paketfiltertabelle im Kernelbereich gespeichert. Diese Regeln geben jeweils die Quelladresse, die Zieladresse, das Übertragungsprotokoll (wie TCP, UDP, ICMP) und den Diensttyp (wie HTTP, FTP und SMTP) an. . Wenn das Datenpaket mit der Regel übereinstimmt, verarbeitet iptables das Datenpaket gemäß der durch die Regel definierten Methode, z. B. Akzeptieren, Ablehnen und Löschen. Die Hauptaufgabe beim Konfigurieren einer Firewall besteht darin, diese Regeln hinzuzufügen, zu ändern und zu löschen.
Wenn der Client auf den Webdienst des Servers zugreift, sendet der Client eine Nachricht an die Netzwerkkarte, und der TCP / IP-Protokollstapel ist Teil des Kernels, sodass die Informationen des Clients über den Kernel an den Webdienst im Benutzerbereich übertragen werden TCP-Protokoll Zu diesem Zeitpunkt ist das Zielende der Clientnachricht der vom Webdienst überwachte Socket (IP: Port). Wenn der Webdienst auf die Clientanforderung antworten muss, das Zielende der vom Web gesendeten Antwortnachricht Service ist Auf der Clientseite sind zu diesem Zeitpunkt die vom Webdienst überwachte IP-Adresse und der Port stattdessen der Ursprung. Wie bereits erwähnt, ist Netfilter die eigentliche Firewall. Sie ist Teil des Kernels. Wenn wir also die Firewall möchten Um "feuerfest" zu sein, müssen Sie Prüfpunkte im Kernel einrichten. Alle eingehenden und ausgehenden Nachrichten müssen diese Prüfpunkte bestehen. Nach der Überprüfung können nur diejenigen freigegeben werden, die die Freigabebedingungen erfüllen, und diejenigen, die die Blockierungsbedingungen erfüllen blockiert werden. Daher werden Eingabeprüfpunkte und Ausgabe angezeigt. Ebenen, und diese Ebenen werden in iptables nicht als "Ebenen" bezeichnet, sondern als "Ketten".
Tatsächlich ist das oben beschriebene Szenario nicht perfekt, da die Zieladresse der vom Client gesendeten Nachricht möglicherweise nicht der lokale Computer, sondern andere Server ist. Wenn der Kernel des Computers IP_FORWARD unterstützt, können wir die Nachricht an andere weiterleiten Server. Server, also werden wir zu diesem Zeitpunkt andere "Ebenen" in iptables erwähnen, dh andere "Ketten".
Mit anderen Worten, wenn wir die Firewall-Funktion aktivieren, muss die Nachricht die folgenden Barrieren passieren, dh abhängig von der tatsächlichen Situation kann die "Kette" der Nachricht unterschiedlich sein. Wenn die Nachricht weitergeleitet werden muss, wird die Nachricht nicht über die Eingabekette an den Benutzerbereich gesendet, sondern über die Weiterleitungskette und die Postrouting-Kette direkt im Kernelbereich weitergeleitet.
Nachrichtenflussrichtung: Nachricht
an einen bestimmten Prozess dieses Computers: PREROUTING -> INPUT
Von diesem Computer weitergeleitete Nachricht: PREROUTING -> FORWARD -> POSTROUTING
Eine von einem Prozess dieses Computers gesendete Nachricht (normalerweise eine Antwortnachricht) Text) : AUSGANG -> POSTROUTING


Drei, iptables-Befehlsformat


Befehlsformat


Befehlsoption iptables [-t Tabellenname] [Kettenname] [Bedingte Übereinstimmung] [-j Prozessaktion oder Sprung]
-t Verbindung zum Tabellennamen herstellen. Wenn Sie -t nicht hinzufügen, ist der Standardfilter -t


Befehlsoptionen


-L Listen Sie die Regeln einer oder aller Ketten auf.
-V Zeigen Sie detaillierte Informationen an, einschließlich der Anzahl der übereinstimmenden Sätze und der Anzahl der übereinstimmenden Bytes in jeder Regel.
-X Aufgrund von v ist die automatische Konvertierungseinheit (K, M) verboten.
- n zeigt nur die IP-Adresse und die Portnummer an, der Domänenname und der Dienstname werden nicht angezeigt. -
Ich werde in die Firewall eingefügt und der erste wird wirksam.
- Der letzten wird eine Kette hinzugefügt. - -
Eine bestimmte Regel in der angegebenen Kette wird gelöscht. Entsprechend der Regelnummer oder dem Inhalt zum Bestätigen des Löschvorgangs
löscht Regel- F alle Regeln in der angegebenen Kette. Standardmäßig wird der Inhalt aller Ketten in der
Tabelle gelöscht. -X löscht die benutzerdefinierte Regelkette in der angegebenen Tabelle


Zustandsübereinstimmung


-i Schnittstelle für eingehende Anforderungen
-o Schnittstelle für ausgehende Anforderungen
-s eingehende Quelladresse
-d Zieladresse
-p gibt das Regelprotokoll an, z. B. tcp, udp, icmp usw. Sie können alle verwenden, um alle Protokolle anzugeben
-dport Zielport, Daten Paket Die Zieladresse (dport) lautet 80, dh für den Zugriff auf meinen lokalen 80-
Port. Der Quellport des Sportquellport- Datenpakets ist (sport) 80, dh das Datenpaket der anderen Partei wird von Port 80 gesendet.


Verarbeitungsaktion


AKZEPTIEREN: Datenpakete passieren lassen.
DROP: Verwerfen Sie das Datenpaket direkt, ohne Antwortinformationen zu geben. Zu diesem Zeitpunkt hat der Client das Gefühl, dass seine Anfrage ins Meer gelangt ist, und antwortet nach Ablauf der Zeitüberschreitung.
ABLEHNEN: Das Datenpaket ablehnen, um es zu übergeben. Falls erforderlich, wird eine Antwortnachricht an den Datenabsender gesendet, und der Client erhält die Ablehnungsnachricht, sobald er sie anfordert.
SNAT: Übersetzung der Quelladresse, um das Problem zu lösen, dass Intranetbenutzer dieselbe öffentliche Netzwerkadresse für den Zugriff auf das Internet verwenden.
MASQUERADE: Es handelt sich um eine spezielle Form von SNAT, die für dynamische und vorübergehend wechselnde IP-Adressen geeignet ist.
DNAT: Zieladressübersetzung.
REDIRECT: Führen Sie auf diesem Computer eine Portzuordnung durch.
LOG: Zeichnen Sie die Protokollinformationen in der Datei / var / log / messages auf und übergeben Sie das Paket an die nächste Regel. Führen Sie also keine anderen Vorgänge für das Paket aus, außer für die Aufzeichnung, und lassen Sie die nächste Regel weiterhin zu Spiel im
allgemeinen keine Verwendung REJECT (Rejection) Verhalten. REJECT Sicherheitsrisiken bringen

2480889e5f7ccc621b60e212f77e3f6afc3.jpg

(Bildquelle: https://my.oschina.net/u/1253780/blog/2050514 )

Viertens Befehl iptables

Überprüfen Sie den Firewall-Status:
[root @ localhost ~] # service iptables status
Stoppen Sie die Firewall:
[root @ localhost ~] # service iptables stop
Starten Sie die Firewall:
[root @ localhost ~] # service iptables start Starten Sie
die Firewall neu:
[root @ localhost ~] # service iptables restart
dauerhaft die Firewall ausschalten:
[root @ localhost ~] # chkconfig iptables off
nach dauerhaftem Herunterfahren aktivieren:
[root @ localhost ~] # chkconfig iptables on

Fünf, iptables Instanz

#Die ersten beiden Zeilen sind Kommentaranweisungen.
# Die von der Systemkonfigurations-Firewall geschriebene Firewall-Konfiguration.
# Die manuelle Anpassung dieser Datei wird nicht empfohlen.
#Filter 表
* Filter
#Die folgenden drei Elemente definieren den integrierten INPUT, FORWAARD und ACCEPT Ketten
: INPUT ACCEPT [0: 0]
: FORWARD ACCEPT [0: 0]
: OUTPUT ACCEPT [0: 0]

-A INPUT -m state --state ESTABLISHED, RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT

#Beachten Sie, dass der Standardport 22 nicht gelöscht werden sollte. Dies ist der Port von ssh

-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT


#Nur XXX.XXX.XXX.XXX eine bestimmte IP für den Zugriff auf Port 6379 -A INPUT -s XXX.XXX.XXX.XXX -m Status --Status NEU -m TCP -p TCP --dport 6379 -j AKZEPTIEREN

#Nur XXX.XXX.XXX.XXX ein bestimmtes Netzwerksegment für den Zugriff auf Port 6379

-A INPUT -s XXX.XXX.XXX.XXX/24 -m Status --Status NEU -m TCP -p TCP --dport 6379 -j AKZEPTIEREN

# Beschränken Sie den Zugriff auf Port 6379 von einem bestimmten Bereich von Netzwerksegmenten aus

-A INPUT -m iprange --src-range XXX.XXX.XXX.XXX-XXX.XXX.XXX.XXX -m state --state NEW -m tcp -p tcp --dport 6379 -j ACCEPT

 


#Erlauben Sie den Zugriff auf Port 8080, damit Port 8080 externe Dienste bereitstellen kann. -A INPUT -m Status - Status NEU -m TCP -p TCP --dport 8080 -j AKZEPTIEREN
-A INPUT -m Status - Status NEU -m tcp -p tcp --dport 8081 -j
AKZEPTIEREN - EIN EINGABE -m Status - Status NEU -m tcp -p tcp --dport 8082 -j AKZEPTIEREN - EIN EINGANG
-m Status - Status NEU -m tcp -p tcp --dport 8083 -j AKZEPTIEREN

-A INPUT -j REJECT - ablehnen mit icmp-host-verboten
-A FORWARD -j REJECT - ablehnen-mit icmp-host-verboten
COMMIT

Sechs, CentOS7 keine lösbare Lösung

CentOS7 verfügt nicht über iptables, und Firewalld wird standardmäßig verwendet. Iptables können standardmäßig nicht von systemctl gesteuert werden, und zwei Abhängigkeitspakete, iptables-services und iptables-devel, müssen installiert werden.

1. Stoppen und deaktivieren Sie firewalld

systemctl stop firewald.service && systemctl deaktiviere firewald.service

2. pt iptables-services 、 iptables-devel

yum installiere iptables-services iptables-devel

3. Aktivieren und starten Sie iptables

systemctl enable iptables.service && systemctl starte iptables.service

Status anzeigen systemctl status iptables.service

4. Zeigen Sie die iptables-Konfigurationsdatei vim / etc / sysconfig / iptables an


Verweise:


1 、 https: //baike.baidu.com/item/IPTABLES/9139339? Fr = aladdin
2 、 https: //www.cnblogs.com/shuaixf/archive/2011/11/29/2268345.html
3 、 https: //www.cnblogs.com/dulongly/p/10506499.html

Ich denke du magst

Origin blog.csdn.net/xlyrh/article/details/104871458
Empfohlen
Rangfolge