網站首頁 編程語言 正文
文章目錄
- iptables 防火墻
- 前言
- 1. iptables 概述
- 2. iptables 的表、鏈結構
- 2.1 **ptables的四表五鏈結構介紹**
- 2.1.1 **四表五鏈**
- 2.1.2 **四表**
- 2.1.3 **五鏈**
- 2.2 **數據包過濾的匹配流程**(數據包到防火墻是)
- **數據包在規(guī)則表、鏈間的匹配流程:**
- 3. 編寫防火墻規(guī)則
- 3.1 iptabes 安裝
- 3.2 iptables 基本語法、數據包控制類型
- 3.3 添加、查看、刪除規(guī)則等基本操作
- 3.3.1 iptables 命令的常用管理選項
- 3.3.2 添加新的規(guī)則
- 3.3.3 查看規(guī)則列表
- 3.3.4 刪除、清空規(guī)則
- 3.3.5 設置默認策略
- 3.4 規(guī)則的匹配條件
- 1.通用匹配
- 2.隱含匹配
- 3.顯式匹配
iptables 防火墻
前言
在 Internet 中,企業(yè)通過架設各種應用系統(tǒng)來為用戶提供各種網絡服務,如 Web 網站、電子郵件系統(tǒng)、FTP 服務器、數據庫系統(tǒng)等。那么,如何來保護這些服務器,過濾企業(yè)不需要的訪問甚至是惡意的入侵呢?
本章將開始學習 Linux 系統(tǒng)中的防火墻——netfilter 和 iptables,包括防火墻的結構和匹配流程,以及如何編寫防火墻規(guī)則。
Linux 的防火墻體系主要工作在網絡層,針對 TCP/IP 數據包實施過濾和限制,屬于典型的包過濾防火墻(或稱為網絡層防火墻)。Linux 系統(tǒng)的防火墻體系基于內核編碼實現, 具有非常穩(wěn)定的性能和高效率,也因此獲得廣泛的應用。
1. iptables 概述
- netfilter/iptables:IP 信息包過濾系統(tǒng),它實際上由兩個組件 netfilter 和 iptables組成。
主要工作在網絡層,針對IP數據包,體現在對包內的IP地址、端口等信息的處理。
-netfilter/iptables關系:
netfilter:屬于“內核態(tài)”又稱內核空間(kernel space)的防火墻功能體系。
是內核的一部分,由一些信息包過濾表組成,這些表包含內核用來控制信息包過濾處理的規(guī)則集。
iptables :屬于“用戶態(tài)”(User Space, 又稱為用戶空間)的防火墻管理體系。
是一種用來管理Linux防火墻的命令程序,它使插入、修改和刪除數據包過濾表中的規(guī)則變得容易,通常位于/sbin/iptables目錄下。
netfilter/iptables后期簡稱為iptables。iptables是基于內核的防火墻,其中內置了raw、mangle、 nat和filter
四個規(guī)則表。表中所有規(guī)則配置后,立即生效,不需要重啟服務。
2. iptables 的表、鏈結構
2.1 ptables的四表五鏈結構介紹
iptables的作用是為包過濾機制的實現提供規(guī)則,通過各種不同的規(guī)則,告訴netfilter對來自某些源,前往某些目的或具有某些協議特征的數據包應該如何處理,為了更加方便的組織和管理防火墻規(guī)則,iptables采用了表和鏈的分層結構
所以它會對請求的數據包的包頭數據進行分析,根據我們預先設定的規(guī)則進行匹配來決定是否可以進入主機
其中,每個規(guī)則表相當于內核空間的一個容器,根據規(guī)則集的不同用途劃分為默認的四個表,在每個表容器內又包括不同的規(guī)則鏈,根據處理數據包的不同時機劃分為五種鏈
2.1.1 四表五鏈
-
規(guī)則表的作用:容納各種規(guī)則鏈; 表的劃分依據:防火墻規(guī)則的作用相似
-
規(guī)則鏈的作用:容納各種防火墻規(guī)則;規(guī)則的作用:對數據包進行過濾或處理 ;鏈的分類依據:處理數據包的不同時機
-
總結:表里有鏈,鏈里有規(guī)則
2.1.2 四表
-
raw:主要用來決定是否對數據包進行狀態(tài)跟蹤 包含兩個規(guī)則鏈,OUTPUT、PREROUTING
-
mangle : 修改數據包內容,用來做流量整形的,給數據包設置標記。包含五個規(guī)則鏈,INPUT、 OUTPUT、 FORWARD、 PREROUTING、 POSTROUTING
-
nat:負責網絡地址轉換,用來修改數據包中的源、目標IP地址或端口。包含三個規(guī)則鏈,OUTPUT、PREROUTING、POSTROUTING。
-
filter:負責過濾數據包,確定是否放行該數據包(過濾)。包含三個鏈,即INPUT、FORWARD、 OUTPU
注:在iptables 的四個規(guī)則表中,mangle 表 和raw表的應用相對較少
2.1.3 五鏈
-
INPUT: 處理入站數據包,匹配目標IP為本機的數據包。
-
OUTPUT: 處理出站數據包,一般不在此鏈上做配置。
-
FORWARD: 處理轉發(fā)數據包,匹配流經本機的數據包。
-
PREROUTING鏈: 在進行路由選擇前處理數據包,用來修改目的地址,用來做DNAT。相當于把內網服務器的IP和端口映射到路由器的外網IP和端口上。
-
POSTROUTING鏈: 在進行路由選擇后處理數據包,用來修改源地址,用來做SNAT。相當于內網通過路由器NAT轉換功能實現內網主機通過一個公網IP地址上網。
2.2 數據包過濾的匹配流程(數據包到防火墻是)
優(yōu)先順序
規(guī)則表應用順序:raw→mangle→nat→filter
2.2.1 規(guī)則鏈之間的匹配順序:
主機型防火墻:
數據包直接進入到防火墻所在的服務器的內部某一個應用程序當中,是不是我只是路過服務器吧,是直接進入到服務
入站數據(來自外界的數據包,且目標地址是防火墻本機) : PREROUTING --> INPUT --> 本機的應用程序
出站數據(從防火墻本機向外部地址發(fā)送的數據包):本機的應用程序–>OUTPUT-.>POSTROUTING
網絡型防火墻:
轉發(fā)數據(需要經過防火墻轉發(fā)的數據包) : PREROUTING --> FORWARD --> POSTROUTING
2.2.2 規(guī)則鏈內的匹配順序:
自上向下按順序依次進行檢查,找到相匹配的規(guī)則即停止(LOG策略例外,表示記錄相關日志)要么放行 要么丟棄
若在該鏈內找不到相匹配的規(guī)則,則按該鏈的默認策略處理(未修改的狀況下,默認策略為允許)
注:按第一條規(guī)則……第二條規(guī)則的順序進行匹配處理,遵循“匹配即停止”的原則,
一旦找到一條匹配規(guī)則將不再檢查后續(xù)的其他規(guī)則,如果一直找不到匹配的規(guī)則,就按默認規(guī)則處理。
默認規(guī)則用iptables -L查看,規(guī)則鏈后面出現(policy ACCEPT)即是默認放行
默認策略不參與鏈內規(guī)則的順序編排
-F清空鏈時,默認策略不受影響
數據包在規(guī)則表、鏈間的匹配流程:
-
入站數據流向:PREROUTING --> INPUT --> 本機的應用程序
來自外界的數據包到達防火墻后,首先被 PREROUTING 鏈處理(是 否修改數據包地址等),然后進行路由選擇(判斷該數據包應發(fā)往何處);如果數據包的 目標地址是防火墻本機(如 Internet 用戶訪問網關的 Web 服務端口),那么內核將其傳 遞給 INPUT 鏈進行處理(決定是否允許通過等),通過以后再交給系統(tǒng)上層的應用程序 (如 httpd 服務器)進行響應。
-
轉發(fā)數據流向:PREROUTING --> FORWARD --> POSTROUTING
來自外界的數據包到達防火墻后,首先被 PREROUTING 鏈處理,然 后再進行路由選擇;如果數據包的目標地址是其他外部地址(如局域網用戶通過網關訪 問 QQ 服務器),則內核將其傳遞給 FORWARD 鏈進行處(允許轉發(fā)或攔截、丟棄), 最后交給 POSTROUTING 鏈(是否修改數據包的地址等)進行處理。
-
出站數據流向:本機的應用程序–>OUTPUT–>POSTROUTING
防火墻本機向外部地址發(fā)送的數據包(如在防火墻主機中測試公網 DNS 服務時),首先進行路由選擇,確定了輸出路徑后,再經由 OUTPUT 鏈處理,最后再 交 POSTROUTING 鏈(是否修改數據包的地址等)進行處理。
3. 編寫防火墻規(guī)則
3.1 iptabes 安裝
CentOS7默認使用firewalld防火墻,沒有安裝iptables,若想使用iptables防火墻。必須先關閉firewalld防火墻,再安裝iptables
關閉firewalld防火墻
systemctl stop firewalld.service
systemctl disable firewalld.service
安裝iptables 防火墻
yum -y install iptables iptables-services
設置iptables開機啟動
systemctl start iptables.service
systemctl enable iptables.service
iptables防火墻的配置方法:
1、使用iptables命令行。
2、使用system-config-firewall centso7不能使用 centos 6可以使用
3.2 iptables 基本語法、數據包控制類型
語法構成
iptables [-t 表名] 管理選項 [鏈名] [匹配條件] [-j 控制類型]
其中,表名、鏈名用來指定 iptables 命令所操作的表和鏈,未指定表名時將默認使用 filter 表;
管理選項:表示iptables規(guī)則的操作方式,如插入、增加、刪除、查看等;
匹配條件:用來指定要處理的數據包的特征,不符合指定條件的數據包將不會處理;
控制類型指的是數據包的處理方式,如允許、拒絕、丟棄等。
注意事項:
不指定表名時,默認指filter表
不指定鏈名時,默認指表內的所有鏈
除非設置鏈的默認策略,否則必須指定匹配條件
選項、鏈名、控制類型使用大寫字母,其余均為小寫
數據包的常見控制類型
對于防火墻,數據包的控制類型非常關鍵,直接關系到數據包的放行、封堵及做相應的日志記錄等。在 iptables 防火墻體系中,最常用的幾種控制類型如下。
- ACCEPT:允許數據包通過。
- DROP:直接丟棄數據包,不給出任何回應信息。
- REJECT:拒絕數據包通過,必要時會給數據發(fā)送端一個響應信息。
- LOG:在/var/log/messages 文件中記錄日志信息,然后將數據包傳遞給下一條規(guī)則。
- SNAT:修改數據包的源地址。
- DNAT:修改數據包的目的地址。
- MASQUERADE:偽裝成一個非固定公網IP地址。
防火墻規(guī)則的“匹配即停止”對于 LOG 操作來說是一個特例,因為 LOG 只是一種輔助
動作,并沒有真正處理數據包。
注:需要大寫
3.3 添加、查看、刪除規(guī)則等基本操作
3.3.1 iptables 命令的常用管理選項
管理選項 | 用法示例 |
---|---|
-A | 在指定鏈末尾追加一條 iptables -A INPUT (操作) |
-I | 在指定鏈中插入一條新的,未指定序號默認作為第一條 iptables -I INPUT (操作) |
-P | 指定默認規(guī)則 iptables -P OUTPUT ACCEPT (操作) |
-D | 刪除 iptables -t nat -D INPUT (操作) |
-R | 修改、替換某一條規(guī)則 iptables -t nat -R INPUT (操作) |
-L | 查看 iptables -t nat -L (查看) |
-n | 所有字段以數字形式顯示(比如任意ip地址是0.0.0.0而不是anywhere,比如顯示協議端口號而不是服務名) iptables -L -n,iptables -nL,iptables -vnL (查看) |
-v | 查看時顯示更詳細信息,常跟-L一起使用 (查看) |
–line-number | 規(guī)則帶編號 iptables -t nat -L -n --line-number /iptables -t nat -L --line-number |
-F | 清除鏈中所有規(guī)則 iptables -F (操作) |
-X | 清空自定義鏈的規(guī)則,不影響其他鏈 iptables -X |
-Z | 清空鏈的計數器(匹配到的數據包的大小和總和)iptables - |
-S | 查看鏈的所有規(guī)則或者某個鏈的規(guī)則/某個具體規(guī)則后面跟編號 |
3.3.2 添加新的規(guī)則
添加新的防火墻規(guī)則時,使用管理選項“-A”、“-I”,前者用來追加規(guī)則,后者用來插入規(guī)則。
例如,若要在 filter 表 INPUT 鏈的末尾添加一條防火墻規(guī)則,可以執(zhí)行以下操作(其中 “-p 協議名”作為匹配條件)。
例1
iptables -t filter -A INPUT -p icmp -j REJECT //不允許任何主機ping本主機
iptables -I INPUT 2 -p tcp --dport 22 -j ACCEPT //允許主機ssh端口 進過我的
其他
iptables -t filter -A INPUT -p tcp -j ACCEPT //允許任何主機tcp
iptables -I INPUT -p udp -j ACCEPT //允許任何主機udp
3.3.3 查看規(guī)則列表
查看已有的防火墻規(guī)則時,使用管理選項“-L”,結合“–line-numbers”選項還可顯示各條規(guī)則在鏈內的順序號。例如,若要查看 filter 表 INPUT 鏈中的所有規(guī)則,并顯示規(guī)則序號, 可以執(zhí)行以下操作
iptables [-t表名] -n -L [鏈名] |[-- line-numbers]
或
iptables - [vn]L
#注意:不可以合寫為-Ln
[root@localhost ~]# iptables -L INPUT --line-numbers
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
2 ACCEPT all -- anywhere anywhere
3 ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh
4 REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
5 REJECT tcp -- anywhere anywhere reject-with icmp-port-unreachable
當防火墻規(guī)則的數量較多時,若能夠以數字形式顯示地址和端口信息,可以減少地址解析的環(huán)節(jié),在一定程度上加快命令執(zhí)行的速度。例如,若要以數字地址形式查看 filter 表INPUT 鏈中的所有規(guī)則,可以執(zhí)行以下操作
[root@localhost ~]# iptables -nL INPUT //"-n -L"可合寫為"-nL"
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
iptables -vnL --line-numbers
3.3.4 刪除、清空規(guī)則
刪除一條防火墻規(guī)則時,使用管理選項“-D”。例如,若要刪除 filter 表 INPUT 鏈中的第
五條規(guī)則,可以執(zhí)行以下操作。
iptables -D INPUT 5
iptables -L INPUT --line-numbers
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
2 ACCEPT all -- anywhere anywhere
3 ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh
4 REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
第二種寫法
iptables -t filter -D INPUT -p icmp - j REJECT
清空指定鏈或表中的所有防火墻規(guī)則,使用管理選項“-F”。例如,若要清空 filter 表 INPUT
鏈中的所有規(guī)則,可以執(zhí)行以下操作。
[root@localhost ~]# iptables -F INPUT
[root@localhost ~]# iptables -nL INPUT
Chain INPUT (policy ACCEPT)
target prot opt source destination
主意:
1.若規(guī)則列表中有多條相同的規(guī)則時,按內容匹配只刪除的序號最小的一條
2.按號碼匹配刪除時,確保規(guī)則號碼小于等于已有規(guī)則數,否則報錯
3.按內容匹配刪數時,確保規(guī)則存在,否則報錯
使用管理選項“-F”時,允許省略鏈名而清空指定表所有鏈的規(guī)則。例如,執(zhí)行以下操作 分別用來清空 filter 表、nat 表、mangle 表
[root@localhost ~]# iptables -F
[root@localhost ~]# iptables -t nat -F
[root@localhost ~]# iptables -t mangle -F
注意:
-F僅僅是清空鏈中的規(guī)則,并不影響-P設置的默認規(guī)則,默認規(guī)則需要手動進行修改
-P設置了DROP后,使用-F 一定要小心!
防止把允許遠程連接的相關規(guī)則清除后導致無法遠程連接主機,此情況如果沒有保存規(guī)則可重啟主機解決
如果不寫表名和鏈名,默認清空filter表中所有鏈里的所有規(guī)則
3.3.5 設置默認策略
iptables 的各條鏈中,默認策略是規(guī)則匹配的最后一個環(huán)節(jié)——當找不到任何一條能夠匹配數據包的規(guī)則時,則執(zhí)行默認策略。默認策略的控制類型為 ACCEPT(允許)、DROP(丟棄)兩種。例如,執(zhí)行以下操作可以將 filter 表中 FORWARD 鏈的默認策略設為丟棄, OUTPUT 鏈的默認策略設為允許。
iptables [-t表名] -P <鏈名> <控制類型>
iptables -P INPUT DROP 輸入后沒顯示 清除所有規(guī)則之后生效,因為下面只剩下DROP 添加遠程端口22
iptables -F
iptables -P FORWARD DROP
#–般在生產環(huán)境中設置網絡型防火墻、主機型防火墻時都要設置默認規(guī)則為DROP,并設置白名單
[root@localhost ~]# iptables -t filter -P FORWARD DROP
[root@localhost ~]# iptables -P OUTPUT ACCEPT
需要注意的是,當使用管理選項“-F”清空鏈時,默認策略不受影響。因此若要修改默認 策略,必須通過管理選項“-P”重新進行設置。另外,默認策略并不參與鏈內規(guī)則的順序編排, 因此在其他規(guī)則之前或之后設置并無區(qū)別。
3.4 規(guī)則的匹配條件
在編寫防火墻規(guī)則時,匹配條件的設置起著決定性的作用。只有清晰、準確地設置好匹配條件,防火墻才知道要對符合什么條件的數據包進行處理,避免“誤殺”。對于同一條防火墻規(guī)則,可以指定多個匹配條件,表示這些條件必須都滿足規(guī)則才會生效。根據數據包的各種特征,結合iptables的模塊結構,匹配條件的設置包括三大類:通用匹配、隱含匹配、顯式匹配。
3.4.1 通用匹配
通用匹配也稱為常規(guī)匹配,這種匹配方式可以獨立使用,不依賴于其他條件或擴展模塊。 常見的通用匹配包括協議匹配、地址匹配、網絡接口匹配。
協議匹配
編寫 iptables 規(guī)則時使用“-p 協議名”的形式指定,用來檢查數據包所使用的網絡協議(--protocol),如 tcp、udp、icmp 和 all(針對所有 IP 數據包)等,可用的協議類型存放于 Linux 系統(tǒng)的/etc/procotols 文件中。例如,若要丟棄通過 icmp 協議訪問防火墻本機的數據包,允許轉發(fā)經過防火墻的除 icmp 協議之外的數據包,可以執(zhí)行以下操作。
1.通用匹配
可直接使用,不依賴于其他條件或擴展,包括網絡協議、IP地址、網絡接口等條件。
協議匹配: -p 協議名
地址匹配:-s 源地址、-d目的地址
#可以是IP、網段、域名、空(任何地址)
接口匹配: -i入站網卡、-o出站網卡
iptables -A FORWARD ! -p icmp -j ACCEPT
iptables -A INPUT -s 192.168.80.11 -j DROP
iptables -I INPUT -i ens33 -s 192.168.80.0/24 -j DROP
iptables -I INPUT -p icmp -j DROP
iptables -I INPUT -p tcp - -dport 22 -i ACCEPT
iptables -P INPUT
iptables -A FORWARD ! -p icmp -j ACCEPT //感嘆號”!”表示取反
2.隱含匹配
要求以特定的協議匹配作為前提,包括端口、TCP標記、ICMP類型等條件。
端口匹配: --sport 源端口、–dport 目的端口
#可以是個別端口、端口范圍
–1000sport 匹配源端口是1000的數據包
–sport 1000:3000 匹配源端口是1000-3000的數據包
–sport :3000 匹配源端口是3000及以下的數據包
–sport 1000: 匹配源端口是1000及以上的數據包
注意: --sport和–dport 必須配合-p <協議類型>使用
iptables -A INPUT -p tcp --sport 1000:3000 -j REJECT
iptables -A INPUT -p tcp --dport 20:21 -j ACCEPT
iptables -I FORWARD -d 192.168.80.0/24 -p tcp --dport 24500:24600 -j DROP
iptables -A FORWARD -s 192.168.4.0/24 -p udp --dport 53 -j ACCEPT
iptables -A FORWARD -d 192.168.4.0/24 -p udp --sport 53 -j ACCEPT
iptables -A INPUT -s 192.168.4.0/24 -p tcp --dport 53 -j ACCEPT
drop
擴展控制位(了解就行)
TCP標記匹配: --tcp-flags TCP標記
iptables -I INPUT -i ens33 -p tcp --tcp-flags SYN,RST,ACK SYN -j ACCEPT
#丟棄SYN請求包,放行其他包
ICMP類型匹配: --icmp-type ICMP類型
#可以是字符串、數字代碼
"Echo- Request" (代碼為8)表示請求
"Echo- Reply" (代碼為0)表示回顯
"Dest ination-Unreachable" (代碼為3)表示目標不可達
關于其它可用的ICMP協議類型,可以執(zhí)行“iptables -p icmp -h”命令,查看幫助信息
iptables -A INPUT -p icmp --icmp-type 8 -j DROP #禁止其它主機ping本機
iptables -A INPUT -p icmp --icmp-type 0 -j ACCEPT #允許本機ping其它主機 先拒絕:iptables -A INPUT -p icmp -j DROP
iptables -A INPUT -p icmp --icmp-type 3 -j ACCEPT #當本機ping不通其它主機時提示目標不可達
#此時其它主機需要配置關于icmp協議的控制類型為REJECT
iptables -A INPUT -p icmp -j REJECT
3.顯式匹配
要求以“-m擴展模塊”的形式明確指出類型,包括多端口、MAC地址、IP范圍、數據包狀態(tài)等條件。
多端口匹配: -m multiport --sport 源端口列表
-m multiport --dport 目的端口列表
iptables -A INPUT -p tcp -m multiport --dport 80,22,21,20,53 -j ACCEPT
iptables -A INPUT -P udp -m multiport --dport 53 -j ACCEPT
IP范圍匹配: -m iprange --src-range IP范圍
iptables -A FORWARD -p udp -m iprange --src-range 192.168.80.100-192.168.80.200 -j DROP
#禁止轉發(fā)源地址位于192.168.80.100-192.168.80.200的udp數據包
MAC地址匹配: -m mac --mac-source MAC地址
iptables -A FORWARD -m mac --mac-source xx:xx:xx:xx:xx:xx -j DROP
#禁止來自某MAC地址的數據包通過本機轉發(fā)
狀態(tài)匹配: -m state --state 連接狀態(tài)
常見的連接狀態(tài):
NEW :與任何連接無關的,還沒開始連接
ESTABLISHED :響應請求或者已建立連接的,連接態(tài)
RELATED :與已有連接有相關性的(如FTP主被動模式的數據連接),衍生態(tài),一般與ESTABLISHED 配合使用
INVALID:不能被識別屬于哪個連接或沒有任何狀態(tài)S
iptables -A FORWARD -m state --state NEW -p tcp ! --syn -j DROP
#禁止轉發(fā)與正常TCP連接無關的非--syn請求數據包(如偽造的網絡攻擊數據包)
iptables -I INPUT -p tcp -m multiport --dport 80,22,21,20,53 -j ACCEPT
iptables -A INPUT -p udp -m multiport --dport 53 -j ACCEPT
iptables -A INPUT -p tcp -m state --state ESTABLISHED, RELATED -j ACCEPT
#對進來的包的狀態(tài)進行檢測。已經建立tcp連接的包以及該連接相關的包允許通過。
#比如我和你做生意,我們談成了生意,到了支付的時候,就可以直接調用與這筆生意相關的支付功能
iptables -P INPUT DROP
DROP轉發(fā)所有來自192.168.80.0/24主機發(fā)送的20-21,22,53,80號端口的數據包
iptables -I FORWARD -s 192.168.80.0/24 -p tcp -m multiport --dport 20:21,80,22,53 -j DROP
iptables -A INPUT -p tco -m state --state ESTABLISHED,RELATED -j ACCEPT
ltiport --dport 53 -j ACCEPT
iptables -A INPUT -p tcp -m state --state ESTABLISHED, RELATED -j ACCEPT
#對進來的包的狀態(tài)進行檢測。已經建立tcp連接的包以及該連接相關的包允許通過。
#比如我和你做生意,我們談成了生意,到了支付的時候,就可以直接調用與這筆生意相關的支付功能
iptables -P INPUT DROP
DROP轉發(fā)所有來自192.168.80.0/24主機發(fā)送的20-21,22,53,80號端口的數據包
iptables -I FORWARD -s 192.168.80.0/24 -p tcp -m multiport --dport 20:21,80,22,53 -j DROP
iptables -A INPUT -p tco -m state --state ESTABLISHED,RELATED -j ACCEPT
原文鏈接:https://blog.csdn.net/weixin_69343040/article/details/125836581
相關推薦
- 2022-08-16 C語言清楚了解指針的使用_C 語言
- 2022-12-12 Python生成直方圖方法實現詳解_python
- 2022-05-10 MAC m1使用homebrew安裝redis報錯
- 2022-04-17 Jquery cxSelect多級聯動下拉組件的使用
- 2022-04-22 教你如何解決Nginx禁止ip加端口訪問的問題_nginx
- 2023-05-22 Redis數據結構類型示例解析_Redis
- 2022-04-25 Golang?字符串與字節(jié)數組互轉的實現_Golang
- 2022-06-06 Docker容器化應用與結構_docker
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細win安裝深度學習環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發(fā)現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支