Die Einführung in die ipitables-Firewall sowie die Anzeige von Regeln und Bereinigungsregeln usw. wurden in einem früheren Artikel beschrieben. Heute finden Sie hier eine Demonstration, wie Sie Firewall-Regeln formulieren. Da wir bei der Arbeit hauptsächlich Regeln für die Filterkette formulieren, verwenden wir hier hauptsächlich die Fitler-Kette zur Demonstration.
Vorbereitung
Bevor wir Regeln formulieren, schließen wir zunächst den Firewalld-Dienst, aktivieren den iptables-Dienst und löschen dann die vorhandenen Regeln.
# systemctl stop firewalld # systemctl start iptables # iptables -F # iptables -X # iptables -Z
Neue Regelkette
Es gibt viele Optionen zum Hinzufügen einer Regelkette zu iptables. Schauen wir uns unten die grundlegende Verwendung an:
iptables [-t tables] -A|I 链名 [-i|o 网络接口] [-m state] [--state 数据包状态] \ > [-p 网络协议] [-s 源地址 --sport 端口范围] [-d 目标地址 --dport 端口范围] \ > -j [ACCEPT|DROP|REJECT]
Optionen und Parameter:
-A|I Kettenname A bedeutet, dass Regeln nach vorhandenen Regeln hinzugefügt werden, während I Regeln an der Vorderseite einfügt. o stellt das ausgehende Datenpaket dar. Die Schnittstelle muss in Verbindung mit der OUTPUT-Kette verwendet werden.
-p-Netzwerkprotokolle. Zu den gebräuchlichen Protokollen gehören TCP, UPD, ICMP und All.
-m-Status Der Status des Datenpakets
--state Der Datenpaketstatus ist allgemein. Die Status umfassen UNGÜLTIG (ungültiges Datenpaket), ESTABLISHED (Status erfolgreich verbunden), NEU (neu hergestelltes Datenpaket), RELATED (neue Verbindung in Verbindung mit bestehender Verbindung)
-s Quelladresse Adresse kann Es handelt sich um eine IP-Adresse wie 192.168.1.110 oder eine Netzwerkadresse 192.168.1.0/24
-d Zieladresse
-j gefolgt von Operationen, häufig sind ACCEPT (akzeptieren). ), DROP (drop), REJECT (reject) )
Nachfolgend finden Sie mehrere Beispiele für Regelketten. Wir erlauben Daten, die von 192.168.1.110 gesendet werden, und lehnen Daten ab, die von 192.168.1.111 gesendet werden. # iptables -A INPUT -s 192.168.1.110 -j ACCEPT
# iptables -I INPUT -s 192.168.1.111 -j DROP
# iptables -vnL
Chain INPUT (policy ACCEPT 33 packets, 3048 bytes)
pkts bytes target prot opt in out source destination
0 0 DROP all -- * * 192.168.1.111 0.0.0.0/0
0 0 ACCEPT all -- * * 192.168.1.110 0.0.0.0/0
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 18 packets, 1844 bytes)
pkts bytes target prot opt in out source destination
# iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT # iptables -vnL Chain INPUT (policy ACCEPT 29 packets, 2328 bytes) pkts bytes target prot opt in out source destination 0 0 DROP all -- * * 192.168.1.111 0.0.0.0/0 0 0 ACCEPT all -- * * 192.168.1.110 0.0.0.0/0 0 0 ACCEPT all -- * * 192.168.1.0/24 0.0.0.0/0 Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 15 packets, 1460 bytes) pkts bytes target prot opt in out source destination
Denken Sie über eine Frage nach, ob das Datenpaket von 192.168.1.111 akzeptiert oder abgelehnt wird. Nach der ersten Regel von INPUT zu urteilen, wird es abgelehnt, aber nach der letzten Regel zu urteilen, wird es akzeptiert. Die Antwort lautet: Wenn eine der Regeln erfüllt ist, werden die folgenden Regeln nicht befolgt, daher ist auch die Reihenfolge der Regelkette sehr wichtig.
Betrachten Sie den Fall weiter: Solange es sich um die lokale Loopback-Adresse lo handelt, ist es zulässig
# iptables -A INPUT -i lo -j ACCEPT
Regelformulierung für den Port
Blockieren Sie alle lokalen 21-Port-Datenpakete, die in den lokalen Port gelangen# iptables -A INPUT -i eth0 -p tcp --dport 21 -j DROP
Der lokale SSH-Dienst akzeptiert keine Datenpakete vom 1024:65535-Port des Netzwerks 192.168.1.0/24
# iptables -A INPUT -i eth0 -p tcp --dport 1024:65534 -j ACCEPT
Regeln für den Verbindungsstatus von Datenpaketen
Der allgemeine Status von Datenpaketen ist UNGÜLTIG ( Ungültiges Datenpaket), ESTABLISHED (Status erfolgreich verbunden), NEW (neu hergestelltes Datenpaket), RELATED (neue Verbindung in Verbindung mit bestehender Verbindung).
Alle Datenpakete im Status ESTABLISHED und RELATED werden akzeptiert und alle Datenpakete im Status INVALID werden verworfen. außer dass -A durch -D ersetzt wird. Lassen Sie uns gemeinsam ein paar Regeln löschen. Wenn Sie die Regeln speichern möchten, geben Sie bitte /usr/libexec/iptables/iptables.init save ein, um zu speichern. Verwandte Empfehlungen: „ “ Das obige ist der detaillierte Inhalt vonSoftware-Firewall iptables unter Linux – Definition und Löschung von Regeln. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!# iptables -A INPUT -i eth0 -s 192.168.1.0/24 -p tcp --dport 3306 -j DROP
# iptables -A INPUT -i etc0 -p tcp -s 192.168.1.0/24 \
> --sport 1024:65535 --dport 22 -j DROP