1: Vorwort
Firewalls werden, um es ganz klar auszudrücken, zur Implementierung von Zugriffskontrollfunktionen unter Linux verwendet. Sie werden in zwei Typen unterteilt: Hardware- oder Software-Firewalls. Egal in welchem Netzwerk Sie sich befinden, der Ort, an dem die Firewall funktioniert, muss am Rande des Netzwerks liegen. Unsere Aufgabe besteht darin, die Funktionsweise der Firewall zu definieren. Dies ist die Strategie und die Regeln der Firewall, damit sie IP-Adressen und Daten erkennen kann, die in das Netzwerk ein- und ausgehen.
Zu den gängigsten Firewalls auf dem Markt gehören derzeit Layer-3- und Layer-4-Firewalls, die als Netzwerkschicht-Firewalls bezeichnet werden, sowie Schicht-7-Firewalls, bei denen es sich eigentlich um Gateways auf der Proxy-Ebene handelt.
Für das siebenschichtige TCP/IP-Modell wissen wir, dass die dritte Schicht die Netzwerkschicht ist und die dreischichtige Firewall die Quelladresse und die Zieladresse auf dieser Schicht erkennt. Aber bei einer siebenschichtigen Firewall werden alle Ihre Dinge überprüft, unabhängig von Ihrem Quell- oder Zielport, Ihrer Quelladresse oder Ihrer Zieladresse. Siebenschichtige Firewalls sind daher vom Designprinzip her sicherer, führen aber zu einer geringeren Effizienz. Daher sind die marktüblichen Firewall-Lösungen eine Kombination aus beidem. Und da wir alle über den von der Firewall kontrollierten Port zugreifen müssen, ist die Effizienz der Firewall zur wichtigsten Kontrolle darüber geworden, auf wie viele Daten Benutzer zugreifen können. Eine schlechte Konfiguration kann sogar zu einem Engpass für den Datenverkehr werden.
2: Die Geschichte und das Funktionsprinzip von iptables
1. Entwicklung von iptables:
Der Vorgänger von iptables heißt ipfirewall (Kernel 1.x-Ära). Dies ist ein einfaches Zugriffskontrolltool, das der Autor von FreeBSD übernommen hat und das im Kernel arbeiten kann, um Datenpakete zu erkennen. Die Arbeitsfunktion von ipfirewall ist jedoch äußerst eingeschränkt (es muss alle Regeln in den Kernel einfügen, damit die Regeln ausgeführt werden können, und das Einfügen in den Kernel ist im Allgemeinen äußerst schwierig). Als sich der Kernel zu den 2. Zugriffskontrollfunktionen entwickelte.
Sie sind Tools, die im Benutzerbereich arbeiten und Regeln definieren, und selbst keine Firewalls. Die von ihnen definierten Regeln können von Netfilter im Kernel-Space gelesen werden und ermöglichen das Funktionieren der Firewall. Der Ort, an dem es im Kernel abgelegt wird, muss ein bestimmter Ort sein, an dem der TCP/IP-Protokollstapel vorbeikommt. Der Ort, an dem dieser TCP/IP-Protokollstapel passieren muss und an dem die Leseregeln implementiert werden können, wird Netfilter (Netzwerkfilter) genannt
Der Autor hat insgesamt 5 Orte im Kernelraum ausgewählt,1. Im Kernel-Bereich: von einer Netzwerkschnittstelle hereinkommen und zu einer anderen Netzwerkschnittstelle gehen
2. Datenpakete fließen vom Kernel zum Userspace
3. Datenpakete fließen aus dem Benutzerbereich heraus
4. Betreten/verlassen Sie die externe Netzwerkschnittstelle dieser Maschine
5. Betreten/verlassen Sie die lokale Netzwerkschnittstelle
2. Arbeitsmechanismus von iptables
Aus der obigen Entwicklung wissen wir, dass der Autor 5 Orte als Kontrollorte ausgewählt hat, aber haben Sie herausgefunden, dass die ersten drei Orte den Weg im Grunde genommen vollständig blockieren können, aber warum wurden sie am Ein- und Ausgang festgelegt? wenn ich nach dem Bestehen des Levels immer noch drinnen steckenbleibe? Da für Datenpakete noch keine Routing-Entscheidungen getroffen wurden und noch nicht bekannt ist, wohin die Daten gehen, gibt es keine Möglichkeit, eine Datenfilterung beim Import und Export zu implementieren. Daher ist es notwendig, die Weiterleitungsebene im Kernel-Space, die Ebene zum Betreten des Benutzerbereichs und die Ebene zum Verlassen des Benutzerbereichs festzulegen. Wenn sie also keinen Nutzen haben, warum platzieren wir sie dann? Denn wenn wir NAT und DNAT durchführen, muss die Übersetzung der Zieladresse vor dem Routing übersetzt werden. Daher müssen wir den Prüfpunkt an der Schnittstelle des externen Netzwerks und dann des internen Netzwerks festlegen. Diese fünf Positionen werden auch fünf Hook-Funktionen genannt, auch fünf Regelketten genannt.
1.PREROUTING (vor dem Routing)
2.INPUT (Paketflusseintrag)
3.FORWARD (Vorwärtsverwaltungskarte)
4.OUTPUT (Datenpaketexport)
5.POSTROUTING (nach dem Routing)
Dies sind die fünf von NetFilter festgelegten Regelketten. Jedes Datenpaket, das diese Maschine passiert, durchläuft definitiv eine dieser fünf Ketten.
3. Firewall-Strategie
Firewall-Richtlinien werden im Allgemeinen in zwei Typen unterteilt: Eine wird als „Pass“-Richtlinie und die andere als „Blockierungs“-Richtlinie bezeichnet. In der Pass-Richtlinie ist die Tür standardmäßig geschlossen, und es muss definiert werden, wer dies tun kann eingeben. Die Blockierungsstrategie besteht darin, dass die Tür geöffnet ist, Sie jedoch über eine Identitätsauthentifizierung verfügen müssen, sonst können Sie nicht eintreten. Wir müssen also definieren, dass diejenigen, die hereinkommen, hereinkommen und diejenigen, die hinausgehen, hinausgehen sollen. Öffnen bedeutet also, alles zuzulassen, und Blockieren bedeutet, zu wählen. Wenn wir die Richtlinie definieren, müssen wir jeweils mehrere Funktionen definieren, einschließlich: Definieren der Richtlinien, die im Datenpaket zulässig oder nicht zulässig sind, der Filterfunktion und der NAT-Option, die die Adressübersetzungsfunktion definiert. Damit diese Funktionen abwechselnd arbeiten können, haben wir die Definition von „Tabelle“ formuliert, um verschiedene Arbeitsfunktionen und Verarbeitungsmethoden zu definieren und zu unterscheiden.Wir nutzen derzeit drei Funktionen:
1.Filter definiert, was erlaubt oder nicht erlaubt ist
2.nat definiert die Adressübersetzung
3.Mangle-Funktion: Ändern Sie die Originaldaten der Nachricht
Wir ändern die Originaldaten der Nachricht, um die TTL zu ändern. Es ist möglich, die Metadaten des Datenpakets zu zerlegen und den darin enthaltenen Inhalt zu markieren/zu ändern. Firewall-Tags werden tatsächlich durch Mangle implementiert.
Kleine Erweiterung:
Bei Filtern ist dies im Allgemeinen nur auf drei Ketten möglich: INPUT, FORWARD, OUTPUT
Für NAT kann dies im Allgemeinen nur auf drei Ketten durchgeführt werden: PREROUTING, OUTPUT, POSTROUTING
Mangle kann alle 5 Ketten ausführen: PREROUTING, INPUT, FORWARD, OUTPUT, POSTROUTING
iptables/netfilter (diese Software) funktioniert im Benutzerbereich. Es ist kein Dienst selbst und die Regeln werden sofort wirksam. Und unser iptables ist nun zu einem Dienst gemacht, der gestartet und gestoppt werden kann. Beim Starten werden die Regeln direkt wirksam; beim Stoppen werden die Regeln widerrufen.
iptables unterstützt auch die Definition Ihrer eigenen Kette. Die von Ihnen definierte Kette muss jedoch einer bestimmten Kette zugeordnet sein. Geben Sie in einer Ebeneneinstellung an, dass, wenn Daten vorhanden sind, zur Verarbeitung zu einer bestimmten Kette gewechselt wird und nach der Verarbeitung dieser Kette zurückgekehrt wird. Fahren Sie dann mit dem Einchecken der spezifischen Kette fort.
Hinweis: Die Reihenfolge der Regeln ist sehr wichtig. Je strenger die Regeln, desto höher sollten sie sein. Bei der Überprüfung werden die Regeln von oben nach unten überprüft.
Drei. So schreiben Sie die Regeln:
Die Art und Weise, wie iptables Regeln definiert, ist komplizierter:
Format: iptables [-t Tabelle] BEFEHLSkette CRETIRIA -j ACTION
-t-Tabelle: 3 Filter Nat Mangle
BEFEHL: Definieren Sie, wie die Regeln verwaltet werden sollen
Kette: Geben Sie an, auf welche Kette Ihre nächste Regel angewendet werden soll. Dies kann bei der Definition der Strategie weggelassen werden
KRETIRIA: Geben Sie Übereinstimmungskriterien an-j AKTION: Geben Sie an, wie verarbeitet werden soll
Zum Beispiel: 172.16.0.0/24 darf nicht zugreifen.
iptables -t filter -A INPUT -s 172.16.0.0/16 -p udp --dport 53 -j DROP
Natürlich, wenn du gründlicher ablehnen möchtest:
iptables -t filter -R INPUT 1 -s 172.16.0.0/16 -p udp --dport 53 -j REJECT
iptables -L -n -v #Detaillierte Informationen zu definierten Regeln anzeigen
Viertens: Detaillierte Erklärung BEFEHL:
1.Befehle zur Kettenverwaltung (diese sind sofort wirksam)
-P: Legen Sie die Standardrichtlinie fest (legen Sie fest, ob die Standardtür geschlossen oder geöffnet ist)Im Allgemeinen gibt es nur zwei Standardstrategien
iptables -P INPUT (DROP|ACCEPT) Die Standardeinstellung ist deaktiviert/die Standardeinstellung ist aktiviert
Zum Beispiel:
iptables -P INPUT DROP Dies lehnt die Standardregel ab. Da keine Aktion definiert ist, werden alle Regeln für externe Verbindungen, einschließlich Xshell-Verbindungen und Remote-Verbindungen, abgelehnt.
-F: FLASH, Regelkette löschen (Beachten Sie die Verwaltungsrechte jeder Kette)
iptables -t nat -F PREROUTING
iptables -t nat -F löscht alle Ketten in der Nat-Tabelle
-N:NEW unterstützt Benutzer beim Erstellen einer neuen Kette
iptables -N inbound_tcp_web gibt an, dass es zur Überprüfung des Webs an die TCP-Tabelle angehängt ist.
-X: Wird zum Löschen benutzerdefinierter leerer Links verwendet
Die Verwendungsmethode ist die gleiche wie bei -N, aber die darin enthaltenen Links müssen vor dem Löschen gelöscht werden
-E: Wird zum Umbenennen von Ketten verwendet, hauptsächlich zum Umbenennen benutzerdefinierter Ketten
-E alter Name neuer Name
-Z: Löschen Sie die Kette und die Zähler der Standardregeln in der Kette (es gibt zwei Zähler, wie viele Pakete und Bytes übereinstimmen)
iptables -Z: Klar
2. Regelverwaltungsbefehle
-A: Anhängen, eine Regel am Ende der aktuellen Kette hinzufügen-I num: Einfügen, füge die aktuelle Regel in welche Zahl ein.
-I 3: Als drittes Element einfügen
-R num: Gibt wieder, welche Regel ersetzt/geändert werden soll
Format: iptables -R 3…………
-D num: löschen, geben Sie klar an, welche Regel gelöscht werden soll
3. Sehen Sie sich den Verwaltungsbefehl „-L“ an
Unterbefehle anhängen
-n: Zeigt die IP in numerischer Form an. Wenn -n nicht hinzugefügt wird, wird die IP umgekehrt in den Hostnamen aufgelöst.
-v: Detaillierte Informationen anzeigen
-vv
-vvv: Je mehr, desto detaillierter
-x: Zeigt den genauen Wert auf dem Zähler ohne Einheitenumrechnung an
--line-numbers: Zeigt die Zeilennummern der Regeln an
-t nat: Informationen zu allen Levels anzeigen
Fünf: Detaillierte Erläuterung der Übereinstimmungskriterien
1. Universeller Abgleich: Abgleich von Quelladresse und Zieladresse-s: Geben Sie als zu vergleichende Quelladresse an, der Hostname kann hier nicht angegeben werden, es muss IP sein
IP |. IP/MASKE |. 0.0.0.0/0.0.0.0
Und die Adresse kann invertiert werden, fügen Sie ein „!“ hinzu, um anzugeben, außer welche IP
-d: zeigt eine passende Zieladresse an
-p: wird zum Abgleichen von Protokollen verwendet (normalerweise gibt es hier drei Protokolle: TCP/UDP/ICMP)
-i eth0: Daten fließen von dieser Netzwerkkarte ein
Inflow wird im Allgemeinen für INPUT und PREROUTING verwendet
-o eth0: Von dieser Netzwerkkarte fließen Daten aus
Der Abfluss erfolgt normalerweise bei OUTPUT und POSTROUTING
2.Erweitertes Matching
2.1 Implizite Erweiterung: Erweiterung des Protokolls
-p tcp: Eine Erweiterung des TCP-Protokolls. Im Allgemeinen gibt es drei Arten von Erweiterungen
--dport XX-XX: Geben Sie den Zielport an. Es können nicht mehrere nicht aufeinanderfolgende Ports angegeben werden, z. B.
--dport 21 oder --dport 21-23 (das bedeutet 21,22,23)
--sport: Quellport angeben
--tcp-fiags: TCP-Flags (SYN, ACK, FIN, PSH, RST, URG)
Dafür müssen im Allgemeinen zwei Parameter folgen:
1. Flagge prüfen
2. Flag-Bit, das 1 sein muss
--tcpflags syn,ack,fin,rst syn = --syn
bedeutet, dass beim Überprüfen dieser 4 Bits syn 1 unter diesen 4 Bits sein muss und die anderen 0 sein müssen. Das bedeutet also, dass es zur Erkennung des ersten Pakets des Drei-Wege-Handshakes verwendet wird. Für diese Art von Paket, das speziell mit dem ersten Paket übereinstimmt, dessen SYN 1 ist, gibt es auch eine Abkürzung namens --syn
-p udp: Erweiterung des UDP-Protokolls
-dport-
-Sport--p icmp: Erweiterung der ICMP-Datennachricht
--icmp-type:
Echo-Anfrage (Echoanforderung), normalerweise dargestellt durch 8
Also --icmp-type 8 stimmt mit Anforderungsechopaketen überein
Echo-Antwort (Antwortdatenpaket) wird im Allgemeinen durch 0
dargestellt2.2 Explizite Erweiterung (-m)
Verschiedene Module erweitern
-m Multiport: Zeigt die Aktivierung der Multi-Port-Erweiterung an
Danach können wir zum Beispiel --dports 21,23,80
aktivierenSechs: Ausführliche Erklärung – j AKTION Häufig verwendete AKTIONEN:
TROPFEN: Leise verwerfen
Im Allgemeinen verwenden wir DROP, um unsere Identität und unsere verknüpfte Liste zu verbergen
ABLEHNEN: Ablehnung ausdrücken
AKZEPTIEREN: Akzeptieren
custom_chain: Wechseln Sie zu einer benutzerdefinierten Kette
DNAT
SNAT
MASQUERADE: Maskierung der Quelladresse
REDIRECT: Umleitung: Wird hauptsächlich zur Implementierung der Portumleitung verwendet
MARKE: Firewall-Markierung
RÜCKKEHR: Rückkehr
Verwenden Sie return, nachdem die benutzerdefinierte Kette ausgeführt wurde, um zur ursprünglichen Regelkette zurückzukehren.
Übungsfrage 1:
Solange es aus dem Netzwerksegment 172.16.0.0/16 kommt, ist der Zugriff auf den SSHD-Dienst meines lokalen 172.16.100.1 erlaubt
Analyse: Zunächst muss es in der Zulassungstabelle definiert werden. Da keine NAT-Adressübersetzung usw. erforderlich ist, prüfen wir, ob der Verarbeitungsmechanismus auf Port 22 für diese Tabelle zulässig ist oder verweigern Sie es. Für den Zugriff auf lokale Dienste ist es am besten, es in der INPUT-Kette zu definieren und dann OUTPUT zu definieren. (Das anfängliche Ende der Sitzung wird zuerst definiert), daher lautet die hinzugefügte Regel:
Definition kommt herein: iptables -t filter -A INPUT -s 172.16.0.0/16 -d 172.16.100.1 -p tcp --dport 22 -j ACCEPT
Definiert: iptables -t filter -A OUTPUT -s 172.16.100.1 -d 172.16.0.0/16 -p tcp --dport 22 -j ACCEPT
Ändern Sie die Standardrichtlinie in DROP:
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
Sieben: Statuserkennung: ist eine explizite Erweiterung, die zur Erkennung der Verbindungsbeziehung zwischen Sitzungen verwendet wird. Mit der Erkennung können wir die Erweiterung von Funktionen zwischen Sitzungen realisieren
Was ist Statuserkennung? Für das gesamte TCP-Protokoll handelt es sich um ein Verbindungsprotokoll. Der erste Handshake wird als NEUE Verbindung bezeichnet. Ab dem zweiten Handshake ist die Bestätigung 1, was einer normalen Datenübertragung entspricht Der dritte Handshake von TCP wird als hergestellte Verbindung bezeichnet (ESTABLISHED). Es gibt auch einen Zustand, der ziemlich seltsam ist, wie zum Beispiel: SYN=1 ACK=1 RST=1 Für so etwas, das wir nicht erkennen können, nennen wir es UNGÜLTIG unerkannt. Es gibt auch einen vierten Typ, eine uralte Funktion von FTP. Die Ports 21 und 20 sind beide voneinander unabhängig. Wir nennen diese Beziehung RELATED.Wir haben also insgesamt vier Staaten:
NEU
Etabliert
VERWANDTE
UNGÜLTIG
So können wir jetzt die Statuserkennung zu den Übungsfragen hinzufügen. Beispielsweise dürfen nur solche mit dem Status „NEW“ und „ESTABLISHED“ eintreten und nur mit dem Status „ESTABLISHED“ ausgehen. Dies kann einen guten Kontrollmechanismus für die häufiger vorkommenden Rebound-Trojaner darstellen.
Erweiterungen für Übungsfragen:
Diejenigen, die hereinkommen, verweigern die Erlaubnis, hinauszugehen, diejenigen, die hereinkommen, erlauben nur Etablierten den Zutritt, und diejenigen, die hinausgehen, erlauben nur Etablierten hinauszugehen. Die Standardregeln verwenden alle deny
iptables -L -n --line-number: Zeigt die Zeile an, in der sich die vorherige Regel befindet
Eingabe umschreiben
iptables -R INPUT 2 -s 172.16.0.0/16 -d 172.16.100.1 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -R OUTPUT 1 -m state --state ESTABLISHED -j ACCEPT
Wenn Sie zu diesem Zeitpunkt einen weiteren Port 80 freigeben möchten, wie können Sie ihn freigeben?
iptables -A INPUT -d 172.16.100.1 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -R INPUT 1 -d 172.16.100.1 -p udp --dport 53 -j ACCEPT
Übungsfrage 2:
Was ist, wenn wir uns erlauben, andere anzupingen, andere uns aber nicht anpingen können?
Analyse: Für das Ping-Protokoll kommt eine 8 (Ping) und eine 0 (Antwort) aus. Um unser Ziel zu erreichen, müssen wir 8 ausgehen und 0 eingehen lassen
Auf dem ausgehenden Port: iptables -A OUTPUT -p icmp --icmp-type 8 -j ACCEPT
Auf dem eingehenden Port: iptables -A INPUT -p icmp --icmp-type 0 -j ACCEPT
Kleine Erweiterung: 127.0.0.1 ist etwas Besonderes, wir müssen es klar definieren
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
iptables -A OUTPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
Acht: Implementierung von SNAT und DNAT
Da unsere IP-Adressen jetzt knapp sind und zugewiesen wurden, müssen wir eine Adressübersetzung durchführen, um unsere verbleibenden IP-Ressourcen zu schonen. Wie implementiert man also die NAT-Adressübersetzung über iptables?
1. SNAT-Konvertierung basierend auf der Originaladresse
Die Konvertierung basierend auf der Originaladresse wird im Allgemeinen verwendet, wenn viele unserer internen Netzwerkbenutzer über einen externen Netzwerkport auf das Internet zugreifen. Zu diesem Zeitpunkt konvertieren wir unsere interne Netzwerkadresse in eine externe Netzwerk-IP und können eine Verbindung zu anderen externen Netzwerken herstellen . IP-Funktionen.
Also müssen wir definieren, wie in iptables konvertiert wird:
Definierter Stil:
Zum Beispiel müssen wir jetzt alle IP-Adressen im Netzwerksegment 192.168.10.0 im Vorbeigehen in die angenommene externe Netzwerkadresse 172.16.100.1 umwandeln:
iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -j SNAT --to-source 172.16.100.1
Auf diese Weise wird jeder aus dem lokalen Netzwerk, der versucht, über die Netzwerkkarte auf das Netzwerk zuzugreifen, auf die IP 172.16.100.1.
umgewandeltWas ist, wenn 172.16.100.1 nicht behoben ist?
Wir alle wissen, dass, wenn wir China Unicom oder China Telecom für den Zugriff auf das Internet verwenden, bei jedem Einschalten des Computers normalerweise zufällig eine externe IP-Adresse generiert wird, was bedeutet, dass die externe Netzwerkadresse dynamisch geändert wird. Zu diesem Zeitpunkt müssen wir die externe Netzwerkadresse in MASQUERADE (dynamische Tarnung) ändern: Die externe Netzwerkadresse kann automatisch gefunden und automatisch in die richtige externe Netzwerkadresse geändert werden. Also müssen wir es so einrichten:
iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -j MASQUERADE
Hinweis hier: Die Adressmaskierung gilt nicht für alle Orte.
2.DNAT-Zieladresskonvertierung
Bei der Zieladressübersetzung verläuft die Datenflussrichtung von außen nach innen und das Innere ist der Server. Durch die Zieladressübersetzung können wir die externe IP über unser externes Netzwerk auf verschiedene Server unseres Servers zugreifen lassen IP, aber unsere Dienste werden auf verschiedenen Servern im Intranetserver platziert.
Wie führt man eine Zieladressenkonvertierung durch? :
iptables -t nat -A PREROUTING -d 192.168.10.18 -p tcp --dport 80 -j DNAT --todestination 172.16.100.2
Die Zieladresskonvertierung muss vor Erreichen der Netzwerkkarte erfolgen, daher muss sie in der PREROUTING-Position erfolgen
9: Steuern Sie das Speichern und Öffnen von Regeln
Hinweis: Der gesamte von Ihnen definierte Inhalt ist beim Neustart ungültig. Wenn wir möchten, dass er wirksam wird, müssen wir ihn mit einem Befehl speichern
1.service iptables save command
Es wird in der Datei /etc/sysconfig/iptables gespeichert
2.iptables-save-Befehl
iptables-save > /etc/sysconfig/iptables
3.iptables-restore-Befehl
Beim Booten wird automatisch /etc/sysconfig/iptabels geladen
Wenn es nicht geladen werden kann oder beim Booten nicht geladen wird und Sie möchten, dass eine von Ihnen selbst geschriebene Konfigurationsdatei (angenommen iptables.2) manuell wirksam wird:
iptables-restore /etc/sysconfig/iptables.2
Dann haben Sie die in iptables definierten Regeln manuell in Kraft gesetzt
Zehn: Zusammenfassung
Iptables ist ein sehr wichtiges Tool. Es ist eine fast notwendige Einstellung auf jeder Firewall. Es ist auch etwas, das wir aus vielen Gründen einrichten müssen, wenn wir ein großes Netzwerk aufbauen. Wenn wir Iptables gut erlernen, können wir die Struktur des gesamten Netzwerks besser verstehen. Gleichzeitig können wir die Richtung der Daten im Kernelraum und die Sicherheit von Linux besser verstehen. Beim Lernen versuchen wir, verschiedene Projekte und Experimente zu kombinieren, um die Konfiguration von iptables und verschiedene Techniken zu vertiefen.
Das obige ist der detaillierte Inhalt vonAusführliche Analyse der Verwendung von iptables unter CentOS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!