女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Linux系統中iptables防火墻配置詳解

馬哥Linux運維 ? 來源:博客園 ? 2025-06-18 15:25 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Linux防火墻配置一頭霧水?iptables 從入門到實戰全攻略!

iptables是Linux內核中用于配置防火墻規則的工具。它基于Netfilter框架,可以對通過網絡接口的數據包進行過濾、修改等操作。通過設置一系列規則,iptables能夠控制哪些數據包可以進入或離開系統,從而實現網絡安全防護等功能。

它主要工作在網絡層,能夠根據數據包的源地址、目的地址、協議類型(如TCP、UDP、ICMP等)、端口號等信息來決定如何處理數據包。

一、介紹

1. NetfilterNetfilter 是 Linux 內核中的一個框架,允許在內核空間對網絡數據包進行過濾、修改和重定向。它是 Linux 防火墻的基礎,提供了以下功能:

Netfilter 通過鉤子(hooks)在內核的網絡協議棧中插入處理函數,這些鉤子位于數據包處理的各個階段,如接收、轉發、發送等。

? 數據包過濾:根據規則允許或阻止數據包通過。

? 網絡地址轉換(NAT):修改數據包的源或目標地址,常用于路由器和防火墻。

? 數據包修改:如修改數據包的 TTL(Time to Live,生存時間)或 TOS(Type of Service,服務類型)。

? 連接跟蹤:跟蹤網絡連接狀態,用于狀態防火墻。

2. iptablesiptables 是用戶空間的工具,用于配置和管理 Netfilter 的規則。它通過命令行接口讓用戶定義數據包的處理規則,并將這些規則傳遞給內核中的 Netfilter。iptables有多個表,每個表包含一系列規則鏈(Chains),用于處理不同類型的任務。主要功能包括:

執行動作:如 ACCEPT、DROP、REJECT 等。

? 定義規則:允許或阻止特定類型的數據包。

? 管理鏈(Chains):規則被組織成鏈,常見的鏈有 INPUT、OUTPUT 和 FORWARD。

1.1 iptables 結構

簡單地講,tables 由 chains 組成,而 chains 又由 rules 組成。如下圖所示:


202503201444855

iptables: 表(Tables) -> 鏈(Chains) -> 規則(Rules).

數據包過濾匹配流程和規則鏈內部匹配原則:

? iptables 按照預定義的順序依次檢查規則鏈中的規則。

? 匹配到第一條符合條件的規則后,將停止后續規則的匹配并執行該規則的動作。

? 如果遍歷整個鏈都沒有匹配的規則,則執行該鏈的默認策略 (通常是 ACCEPT 或 DROP)。

1.2 四表五鏈架構

iptables 的核心架構由四個表和五個鏈組成,它們按照特定的優先級順序處理數據包:

表名 功能 規則鏈 優先級
filter
(過濾規則表)
過濾數據包(默認表),決定是否允許數據包通過 INPUT ,OUTPUT,FORWARD
nat
(地址轉換規則表)
網絡地址轉換 (NAT),例如 SNAT、DNAT PREROUTING ,POSTROUTING,OUTPUT
mangle
(修改數據標記位規則表)
修改數據包的特定屬性,例如 TTL、TOS 等 PREROUTING ,POSTROUTING,INPUT,OUTPUT,FORWARD
raw
(跟蹤數據表規則表)
決定是否對數據包進行狀態跟蹤 PREROUTING ,OUTPUT 最高

? INPUT(入站數據過濾):處理進入防火墻本機的數據包。

? OUTPUT(出站數據過濾):處理從防火墻本機將發出的數據包。

? FORWARD(轉發數據過濾):處理需要由防火墻本機,轉發到其他地址的數據包。

? PREROUTING(路由前過濾):在數據包進行路由選擇之前,根據規則修改數據包的目標IP地址(destination ip address),通常用于DNAT(destination NAT)。

? POSTROUTING(路由后過濾):在數據包進行路由選擇之后,根據規則修改數據包的源IP地址(source ip address),通常用于SNAT(source NAT)。

數據包處理流程圖:


202503212157371

1.3 規則(Rules)

牢記以下三點式理解iptables規則的關鍵:

? Rules 包括一個規則條件 和一個目標(target) .

? 如果滿足條件,就執行目標(target)中的規則或者特定值。

? 如果不滿足條件,就判斷下一條 Rules。

二、iptables 語法

規則編寫語法

完整語法:IPTABLES 完整語法

2.1 基本語法

|   |   |
| --- | --- |
|   | iptables [-t table]command[chain] [rule-specification] [-j target] |

?table: 指定操作的表,例如:

? filter(默認), nat, mangle, raw .

?command: 操作類型,例如:

? -A (append), -I (insert), -D (delete), -R (replace), -L (list)

? -F (flush), -P (policy), -E (rename), -X (delete chain), -Z (zero counters) .

?chain: 指定操作的鏈。

? INPUT, OUTPUT, FORWARD, PREROUTING, POSTROUTING .

?rule-specification: 匹配條件,用于指定要處理的數據包特征,例如:

? 源 IP 地址、目標端口等。

?target: 控制類型,指定匹配數據包后的動作,例如:

? ACCEPT, DROP, REJECT, LOG, DNAT, SNAT, MASQUERADE, REDIRECT .

匹配條件(rule-specification):

?-p : 指定協議 (tcp, udp, icmp 等)。

?-s : 指定源 IP 地址或網絡。

?-d : 指定目標 IP 地址或網絡。

?--sport : 指定源端口。

?--dport : 指定目標端口。 匹配條件的擴展用法:規則條件擴展語法

控制類型(target):

?ACCEPT: 允許數據包通過。

?DROP: 丟棄數據包,不發送任何回應。

?REJECT: 拒絕數據包,并發送 ICMP 錯誤消息。

?LOG: 記錄數據包的日志信息,通常和-j NFLOG或-j ULOG一起使用,用于將日志發送到特定的設施。

?SNAT、DNAT:用于源地址(source NAT)轉換和目標地址(destination NAT)轉換,主要用于nat表。

?MASQUERADE: 一種特殊的 SNAT,用于動態獲取公網 IP 地址。

?REDIRECT: 將數據包重定向到本機的另一個端口。

2.2 常用參數介紹

2.2.1 查看規則

|   |   |
| --- | --- |
|   |##-L(list)列出指定鏈中的規則(如果不指定鏈,默認列出所有鏈中的規則:iptables -L)。例如: |
|   |#使用 -t 參數,指定查看的表,默認filter, |
|   |#使用 -n 參數以數字形式顯示IP地址和端口號, |
|   |#使用 -v 參數顯示詳細信息,如數據包匹配次數等。 |
|   |#使用 --line-numbers 參數,顯示規則行號 |
|   | iptables [-t filter] -L [-nv] [INPUT] [--line-numbers] |
|   |#列出 INPUT鏈中的所有規則。 |
|   | iptables -L INPUT |

2.2.2 添加規則

|   |   |
| --- | --- |
|   |##-P(policy)設置指定鏈的 默認策略。例如: |
|   |#將 INPUT鏈的默認策略設置為 DROP,即如果沒有匹配的規則,所有進入的數據包都將被丟棄。 |
|   | iptables -P INPUT DROP |
|   |   |
|   |   |
|   |##-p(protocol)指定數據包的協議類型。常見的協議有 tcp、udp、icmp 等。例如: |
|   |##-j(jump)指定當數據包匹配規則時要執行的動作。常見的動作有:ACCEPT:允許, DROP:丟棄等 |
|   |#這表示丟棄所有進入的 ICMP 數據包,通常用于禁止所有 ping操作。 |
|   | iptables -A INPUT -p icmp -j DROP |
|   |   |
|   |##-A(append) 用于在指定鏈的末尾添加一條規則。例如: |
|   |##--dport(destination port)指定目標端口號。例如: |
|   |#這條命令的意思是在 INPUT鏈的 末尾 添加一條規則,允許(ACCEPT)目標端口為22(SSH服務端口)的TCP數據包通過。 |
|   | iptables -A INPUT -p tcp --dport 22 -j ACCEPT |
|   |   |
|   |##-I(insert)用于在指定鏈的 指定位置 插入 一條規則。(如果沒有指定位置,默認插入到鏈的開頭)例如: |
|   |#這表示在INPUT鏈的 第一個位置 插入 一條規則,允許目標端口為80(HTTP服務端口)的TCP數據包通過。 |
|   | iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT |
|   |   |
|   |##--sport(source port)指定源端口號。例如: |
|   |#允許源端口為 80 的 TCP 數據包通過。 |
|   | iptables -A INPUT -p tcp --sport 80 -j ACCEPT |
|   |   |
|   |##-s(source)指定數據包的源地址。可以是IP地址、IP地址范圍 或 主機名 等。例如: |
|   |#允許來自IP地址為192.168.1.100的數據包通過。 |
|   | iptables -A INPUT -s 192.168.1.100 -j ACCEPT |
|   | iptables -A INPUT -s 192.168.1.100/24 -p tcp --dport 22 -j ACCEPT |
|   |   |
|   |##-d(destination)指定數據包的目的地址。例如: |
|   |#允許目標地址為192.168.1.100的數據包通過。 |
|   | iptables -A INPUT -d 192.168.1.100 -j ACCEPT |
|   |   |
|   |   |
|   |##-i(in-interface)指定輸入接口,例如:eth0 |
|   |#當從eth0出去的,訪問目的地址是 192.168.23.253 ,且 目的端口是80 的route,允許通過 |
|   | iptables -A FORWARD -o eth0 -d 192.168.23.253 -p tcp --dport 80 -j ACCEPT |
|   |   |
|   |##-o(out-interface)指定輸出接口 |
|   |#當從eth0進來的,原地址是 192.168.23.253 ,且 目的端口是80 的route,允許通過 |
|   | iptables -A FORWARD -i eth0 -s 192.168.23.253 -p tcp --dport 80 -j ACCEPT |

2.2.3 刪除規則

|   |   |
| --- | --- |
|   |##-D(delete)用于 刪除 指定鏈中的一條規則。可以通過指定規則編號或直接指定規則內容來刪除。例如: |
|   |#刪除INPUT鏈的第一條規則 |
|   | iptables -D INPUT 1 |
|   |#刪除INPUT鏈中匹配這條規則(允許目標端口為80的TCP數據包通過)的規則。 |
|   | iptables -D INPUT -p tcp --dport 80 -j ACCEPT |
|   |   |
|   |##-F(flush)清空指定鏈中的所有規則。例如: |
|   |#清空 INPUT鏈中的所有規則。如果不指定鏈,默認清空所有鏈中的規則(iptables -F)。 |
|   | iptables -F INPUT |

2.2.4 保存/恢復規則

|   |   |
| --- | --- |
|   | service iptables save |
|   | iptables-save > /etc/iptables/rules.v4 |
|   | iptables-restore < /etc/iptables/rules.v4 |

三、例子

3.1 基本防火墻規則設置

|   |   |
| --- | --- |
|   |#清空所有規則 |
|   | iptables -F |
|   |   |
|   |#設置默認策略 |
|   | iptables -P INPUT DROP |
|   | iptables -P FORWARD DROP |
|   | iptables -P OUTPUT ACCEPT |
|   |#將 INPUT 和 FORWARD 鏈的默認策略設置為 DROP,這樣沒有匹配規則的數據包都會被丟棄,增強了系統的安全性。 |
|   |   |
|   |#允許本地回環接口 |
|   | iptables -A INPUT -i lo -j ACCEPT |
|   |   |
|   |#允許已建立的連接 |
|   | iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT |
|   |   |
|   |# 禁止外部 ICMP (ping) 本機 |
|   | iptables -A INPUT -p icmp --icmp-type echo-request -j DROP |
|   |#這條規則丟棄所有進入的ICMP回顯請求數據包,從而禁止外部主機ping本機。 |
|   |# --icmp-type 指定 ICMP數據包的類型,不指定則操作所有類型,包括: |
|   |##   echo-request(ping 請求) |
|   |##   echo-reply(ping 回復) |
|   |##   destination-unreachable(目標不可達)等 |
|   |   |
|   |#允許外部 SSH 連接本機 |
|   | iptables -A INPUT -p tcp --dport 22 -j ACCEPT |
|   |#這條規則允許外部主機通過TCP端口 22(SSH服務端口)連接到本機。 |
|   |   |
|   |#允許外部訪問本機的 HTTP 服務 |
|   | iptables -A INPUT -p tcp --dport 80 -j ACCEPT |
|   |#允許外部通過 TCP 端口 80(HTTP服務端口)訪問本機的HTTP服務。 |

3.2 NAT相關規則

假設本機有一個公網IP地址為 192.0.2.1,內部有一臺主機IP地址為 192.168.1.100,運行著一個HTTP服務(監聽端口8080)

3.2.1 端口轉發(REDIRECT)

通常用于將外部訪問的 HTTP 流量(端口 80)重定向到本機的另一個端口(例如 8080)。

|   |   |
| --- | --- |
|   |#在路由前,將外部對本機某端口的訪問(舊目標端口),轉發到內部主機的端口(新目標端口) |
|   | iptables -t nat -A PREROUTING -p tcp --dport <舊目標端口> -j REDIRECT --to-port <新目標端口> |
|   |   |
|   |#將端口 80 轉發至 8080 |
|   | iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080 |
|   |   |
|   |#多端口轉發:將端口 1000-2000 轉發至 3000-4000,如:1001 -> 3001 |
|   | iptables -t nat -A PREROUTING -p tcp --dport 1000:2000 -j REDIRECT --to-ports 3000-4000 |

3.2.2 目標網絡地址轉換(DNAT)

DNAT(Destination NAT):修改數據包的目的地址,通常用于將外部網絡的公共 IP 地址映射到內部網絡的私有 IP 地址。

? 可以用于將外部網絡的請求,轉發到內部網絡的特定主機和服務。

? 可以用于將流量轉發到另一個服務器(例如內網中的另一臺機器)

|   |   |
| --- | --- |
|   |#在路由前,將外部對 舊目標地址 的請求,轉發到 新目標地址 的服務。 |
|   | iptables -t nat -A PREROUTING -d <舊目標IP> -p tcp --dport <舊目標PORT> -j DNAT --to-destination <新目標IP>:<新目標PORT> |
|   |   |
|   |#當外部用戶訪問 “192.0.2.1:80” (舊目標地址)時,DNAT規則會將其修改為 192.168.1.100:8080 (新目標地址)。 |
|   |##外部用戶通過公網IP地址 192.0.2.1 訪問本機的HTTP服務(端口80)。 |
|   |##本機需要將請求轉發到內部主機 192.168.1.100 的HTTP服務(端口8080)。 |
|   | iptables -t nat -A PREROUTING -d 192.0.2.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.100:8080 |
|   |   |
|   |#這條規則在nat表的PREROUTING鏈中,將目標端口為 80 的數據包的目標地址,修改為 192.168.1.100,目標端口修改為8080。 |
|   | iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.1.100:8080 |
|   |   |
|   |#轉發流量到其他IP |
|   | iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.1.200:80 |
|   |   |
|   |#如果進來的route的訪問 目的地址: 192.168.23.252:80 ,就進行DNAT轉換,把 目的地址改為: 192.168.23.223:80 |
|   | iptables -t nat -A PREROUTING -d 192.168.23.252 -p tcp --dport 80 -j DNAT --to-destination 192.168.23.223:80 |
|   |   |
|   |#這條規則將所有進入的TCP端口 1000到2000 的流量重定向到 192.168.1.100 的 3000到4000 端口。 |
|   | iptables -t nat -A PREROUTING -p tcp --dport 1000:2000 -j DNAT --to-destination 192.168.1.100 --to-ports 3000-4000 |

3.2.3 源網絡地址轉換(SNAT)

SNAT(Source NAT):修改數據包的源地址,通常用于將內部網絡的私有 IP 地址轉換為外部網絡的公共 IP 地址。

MASQUERADE 會自動將數據包的源 IP 地址替換為網關的出接口 IP 地址(通常是公網 IP 地址),并且在數據包返回時,再將目標 IP 地址轉換回原始的私有 IP 地址。

? 內部主機 192.168.1.100 需要訪問外部網絡。

? 本機需要將內部主機的源地址 192.168.1.100 修改為公網IP地址 192.0.2.1。

|   |   |
| --- | --- |
|   |#在路由后,將內部源地主,轉化成外部源地址 |
|   | iptables -t nat -A POSTROUTING -s <內部源地址> -j SNAT --to-source <外部源地址> |
|   |   |
|   |#如果內部主機(192.168.1.100)要訪問外部網絡,而本機(網關)有一個公網IP地址192.0.2.1 |
|   |#當內部主機 192.168.1.100 發送數據包到外部網絡時,SNAT規則會將源地址 192.168.1.100 修改為 192.0.2.1。 |
|   | iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.100 -j SNAT --to-source 192.0.2.1 |
|   |   |
|   |#當 FORWARD 出來后,訪問的 目的地址是 192.168.23.223,端口是80的。進行DNAT地址轉換,把源地址改為 192.168.23.252 |
|   | iptables -t nat -A POSTROUTING -d 192.168.23.223 -p tcp --dport 80 -j SNAT --to-source 192.168.23.252:80 |
|   |   |
|   |#偽裝流量(NAT) |
|   |#eth0:連接到互聯網,具有公網 IP 地址。 |
|   |#eth1:連接到局域網,IP 地址為 192.168.1.1。 |
|   | iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE |

3.3 防火墻日志

1. 配置日志存儲位置默認情況下,iptables 日志會記錄到 /var/log/messages 或 /var/log/syslog 中。為了方便管理,可以將 iptables 日志重定向到單獨的文件。使用 rsyslog 配置

|   |   |
| --- | --- |
|   |#1. 編輯 /etc/rsyslog.conf 或 /etc/rsyslog.d/ 目錄下的配置文件(例如 /etc/rsyslog.d/iptables.conf),添加以下內容: |
|   |##將 iptables 日志重定向到單獨的文件 |
|   | :msg, contains,"IPTABLES"/var/log/iptables.log |
|   |##或者 |
|   |echo"kern.*   /var/log/iptables.log">> /etc/rsyslog.conf |
|   |   |
|   |#2. 保存文件后,重啟 rsyslog 服務: |
|   | service rsyslog restart |

2. 配置 iptables 日志規則

|   |   |
| --- | --- |
|   |#1. 記錄所有進入的流量 |
|   | iptables -A INPUT -j LOG --log-prefix"IPTABLES-INPUT: "--log-level 7 |
|   |   |
|   |#2. 記錄所有出去的流量 |
|   | iptables -A OUTPUT -j LOG --log-prefix"IPTABLES-OUTPUT: "--log-level info |
|   |   |
|   |#3. 記錄所有轉發的流量 |
|   | iptables -A FORWARD -j LOG --log-prefix"IPTABLES-FORWARD: "|
|   |   |
|   |#4. 限制日志速率(避免日志過多) |
|   | iptables -A INPUT -mlimit--limit5/min -j LOG --log-prefix"IPTABLES-INPUT: "|

? --log-prefix:添加日志前綴。用于在日志消息前添加自定義前綴,便于區分不同的日志來源

? --log-level:設置日志級別。指定日志的級別(優先級)。默認級別是 warning(4),可以根據需要調整

?emerg0#緊急情況(系統不可用)

?alert1#需要立即采取行動

?crit2#嚴重情況

?error3#錯誤情況

?warn4#警告情況(默認級別)

?notice5#正常但重要的情況

?info6#一般信息

?debug7#調試信息

? -m limit --limit 5/min

? --limit 5/min:每分鐘最多記錄 5 條日志。

? --limit-burst 10:初始允許記錄 10 條日志(默認值為 5)。

規則條件擴展語法

1. 匹配多端口(multiport)功能: 用于匹配多個源端口 (--sports) 或目標端口 (--dports)。用途: 當你需要針對多個端口設置相同的規則時,可以使用這個模塊來簡化配置。

|   |   |
| --- | --- |
|   | -m multiport --sports/--dports ,,... |
|   |   |
|   |#這條規則允許 TCP 流量通過 22 (SSH)、80 (HTTP) 和 443 (HTTPS) 端口。 |
|   | iptables -A INPUT -p tcp -m multiport --dports 22,80,443 -j ACCEPT |
|   |   |
|   | --sports/--dports : |
|   |#--sports/--dports 支持連續端口,這條規則允許 8000 到9000 端口 |
|   | iptables -A INPUT -p tcp --dports 8000:9000 -j ACCEPT |
|   |   |
|   |#結合使用:允許 TCP 流量通過 22, 80, 443, 8000 到 9000 等端口 |
|   | iptables -A INPUT -p tcp -m multiport --dports 22,80,443,8000:9000 -j ACCEPT |

2. 匹配 IP范圍(iprange)功能: 用于匹配源 IP 地址范圍 (--src-range) 或目標 IP 地址范圍 (--dst-range)。用途: 當你需要針對一個 IP 地址范圍設置規則時,可以使用這個模塊。

|   |   |
| --- | --- |
|   | -m iprange --src-range/--dst-range - |
|   |   |
|   |#這條規則會丟棄來自 192.168.1.100 到 192.168.1.200 范圍內的所有 IP 地址的流量。 |
|   | iptables -A INPUT -m iprange --src-range 192.168.1.100-192.168.1.200 -j DROP |

3. 匹配 MAC地址(mac)功能: 用于匹配源 MAC 地址。用途: 當你需要根據設備的 MAC 地址來設置規則時,可以使用這個模塊。

|   |   |
| --- | --- |
|   | -m mac --mac-source  |
|   |   |
|   |#這條規則允許來自 MAC 地址為 002B4D:5E 的設備的流量。 |
|   | iptables -A INPUT -m mac --mac-source 002B4D:5E -j ACCEPT |

4. 匹配連接狀態(conntrack)功能: 用于匹配連接跟蹤狀態 (--ctstate)。用途: 當你需要根據連接的狀態(如 ESTABLISHED, RELATED, NEW 等)來設置規則時,可以使用這個模塊。

|   |   |
| --- | --- |
|   | -m conntrack --ctstate  |
|   |#這條規則允許新的連接和已經建立的連接通過。 |
|   | iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT |
|   |   |
|   |#類似于 conntrack 模塊,但 state 模塊是舊版的連接狀態匹配模塊,通常推薦使用 conntrack 模塊。 |
|   | -m state --state  |
|   |#這條規則允許已經建立的連接和相關的連接通過。 |
|   | iptables -A INPUT -m state --state NEW,ESTABLISHED -j ACCEPT |
ctstate 參數介紹

?NEW: 新連接。

?ESTABLISHED: 已建立的連接。

?RELATED: 與現有連接相關的連接。

?INVALID: 無效的連接(如損壞的數據包或無效的狀態)。

?UNTRACKED: 未被跟蹤的連接(通常是因為連接跟蹤表已滿或連接被顯式排除)。

?SNAT: 經過源地址轉換的連接。

?DNAT: 經過目標地址轉換的連接。

?NONE: 沒有狀態的連接(通常用于無狀態協議,如 UDP 或 ICMP)。

IPTABLES 完整語法

用法:

|   |   |
| --- | --- |
|   | iptables [ACD]  鏈名        規則條件 [選項] |
|   | iptables -I   鏈名  [規則編號] 規則條件 [選項] |
|   | iptables -R   鏈名  規則編號  規則條件 [選項] |
|   | iptables -D   鏈名  規則編號       [選項] |
|   | iptables -[LS]  [鏈名  [規則編號]]     [選項] |
|   | iptables -[FZ]  [鏈名] [選項] |
|   | iptables -[NX]  鏈名 |
|   | iptables -E   舊鏈名 新鏈名 |
|   | iptables -P   鏈名  目標  [選項] |
|   | iptables -h (打印此幫助信息) |

參數:

|   |   |
| --- | --- |
|   |#命令: |
|   | --append    -A 鏈名       #向鏈中追加規則 |
|   | --check     -C 鏈名       #檢查規則是否存在 |
|   | --delete    -D 鏈名       #從鏈中刪除匹配的規則 |
|   | --delete    -D 鏈名 規則編號   #刪除鏈中規則編號(1 為第一個)的規則 |
|   | --insert    -I 鏈名 [規則編號]  #在鏈中插入規則,作為規則編號(默認為 1,即第一個) |
|   | --replace    -R 鏈名 規則編號   #替換鏈中規則編號(1 為第一個)的規則 |
|   | --list     -L [鏈名 [規則編號]] #列出鏈中的規則或所有鏈的規則 |
|   | --list-rules  -S [鏈名 [規則編號]] #打印鏈中的規則或所有鏈的規則 |
|   | --flush     -F [鏈名]   #刪除鏈中所有規則或所有鏈中的規則 |
|   | --zero     -Z [鏈名 [規則編號]] #清空鏈或所有鏈中的計數器 |
|   | --new      -N 鏈名    #創建新的用戶自定義鏈 |
|   | --delete-chain -X [鏈名]   #刪除用戶自定義鏈 |
|   | --policy    -P 鏈名 目標 #更改鏈的策略為目標 |
|   | --rename-chain -E 舊鏈名 新鏈名  #更改鏈名,(移動任何引用) |
|   |   |
|   |#選項: |
|   | --ipv4   -4       #無(該行將被 ip6tables-restore 忽略) |
|   | --ipv6   -6       #錯誤(該行將被 iptables-restore 忽略) |
|   | [!] --protocol -p proto    #協議:通過編號或名稱指定,例如 'tcp' |
|   | [!] --source  -s address[/mask][...]  #指定源地址 |
|   | [!] --destination -d address[/mask][...] #指定目的地 |
|   |   |
|   | [!] --in-interface -i input name[+]   #網絡接口名稱([+] 表示通配符) |
|   | --jump    -j target   #規則的目標(可加載目標擴展) |
|   | --goto    -g chain    #跳轉到鏈且不返回 |
|   | --match    -m match    #擴展匹配(可加載擴展) |
|   | --numeric   -n       #地址和端口的數字輸出 |
|   |   |
|   | [!] --out-interface -o output name[+]  #網絡接口名稱([+] 表示通配符) |
|   | --table    -t table    #要操作的表(默認值:'filter') |
|   | --verbose   -v       #詳細模式 |
|   | --wait    -w [seconds]  #獲取 xtables 鎖的最大等待時間,超時則放棄 |
|   | --line-numbers        #列表時打印行號 |
|   | --exact    -x       #展開數字(顯示確切值) |
|   | [!] --fragment -f       #僅匹配第二個或后續的分片 |
|   | --modprobe=     #使用此命令嘗試插入模塊 |
|   | --set-counters -c PKTS BYTES #在插入/追加時設置計數器 |
|   | [!] --version  -V       #顯示軟件包版本。 |

鏈接:https://www.cnblogs.com/librarookie/p/18786839

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 內核
    +關注

    關注

    3

    文章

    1415

    瀏覽量

    41252
  • Linux
    +關注

    關注

    87

    文章

    11496

    瀏覽量

    213252
  • 防火墻
    +關注

    關注

    0

    文章

    431

    瀏覽量

    36139

原文標題:Linux防火墻配置一頭霧水?iptables 從入門到實戰全攻略!

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    Linux系統iptables和firewall防火墻配置方法

    防火墻就是根據系統管理員設定的規則來控制數據包的進出,主要是保護內網的安全,目前 Linux 系統防火墻類型主要有兩種:分別是 [
    發表于 07-17 10:34 ?1652次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>系統</b><b class='flag-5'>iptables</b>和firewall<b class='flag-5'>防火墻</b>的<b class='flag-5'>配置</b>方法

    Linux中使用Iptables實現簡單的網站防火墻

    Linux中使用Iptables實現一個簡單的網站防火墻可以幫助我們保護服務器不受到惡意請求的攻擊。一個現實的場景是我們想要阻止某個IP地址訪問我們的網站。
    發表于 09-22 10:11 ?1045次閱讀
    <b class='flag-5'>Linux</b>中使用<b class='flag-5'>Iptables</b>實現簡單的網站<b class='flag-5'>防火墻</b>

    Linux內核防火墻netfilter的原理和應用

    Linux內核防火墻netfilter的原理和應用在分析ipchains缺陷的基礎上,著重介紹了Linux2.4版內核防火墻netfilter的結構框架、數據包的處理過程及
    發表于 09-19 09:22

    Linux防火墻配置方法(firewalld服務)

    紅帽RHEL7系統已經用firewalld服務替代了iptables服務,新的防火墻管理命令firewall-cmd與圖形化工具firewall-config。執行firewall-config命令
    發表于 10-30 12:27

    發現 STM32 防火墻的安全配置

    。Figure 5 RM0351關于防火強控制寄存器的動態配置方式的描述也就是說,防火墻相比較MPU的優勢“配置有效直到
    發表于 07-27 11:04

    Linux下關閉防火墻的關閉及開放端口

    :service iptables stop3.查看防火墻狀態serviceiptablesstatus重啟服務service iptables restart實現配置文件及時生效so
    發表于 07-09 06:23

    Linux如何關閉防火墻

    1、查看防火墻規則vim /etc/sysconfig/iptables放開某個端口號不被防火墻攔截,適用于部署tomcat,nginx等之類的軟件
    發表于 07-12 06:31

    請問如何自動加載iptables防火墻規則?

    系統啟動后,如何自動加載iptables防火墻規則?
    發表于 01-07 08:46

    基于Linux防火墻的可視化管理系統的研究與實現

    針對Iptables 命令配置防火墻規則的復雜性,本系統研究和實現了基于linux 防火墻的可視
    發表于 07-16 08:47 ?16次下載

    Linux新型內核防火墻研究和應用

    Linux新型防火墻netfilter框架原理及工作機制基礎上,研究了該防火墻的應用設計, 提出了用netfilter/iptables構建門戶服務器
    發表于 08-25 11:35 ?14次下載

    Linux 防火墻配置基礎篇

    RedHat Linux 為增加系統安全性提供了防火墻保護。防火墻存在于你的計算機和網絡之間,用來判定網絡的遠程用戶有權訪問你的計算機上的
    發表于 11-07 10:42 ?1次下載

    Linux防火墻配置(iptables和firewalld)

    防火墻就是根據系統管理員設定的規則來控制數據包的進出,主要是保護內網的安全,目前 Linux 系統防火墻類型主要有兩種:分別是 [
    的頭像 發表于 03-31 10:09 ?1411次閱讀

    Linux系統iptables防火墻配置案例

    1、防火墻是一層層過濾的,就是按照配置規則的順序從上到下,從前到后進行過濾的。 2、如果匹配上了相應的規則,即明確表明是阻止還是通過,此時數據包就不再向下匹配新的規則了。
    發表于 10-07 11:35 ?2957次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>系統</b><b class='flag-5'>iptables</b><b class='flag-5'>防火墻</b><b class='flag-5'>配置</b>案例

    Linux軟件防火墻iptables詳解

    Linux提供的軟件防火墻,名為iptables,它可以理解為是一個客戶端代理,通過iptables的代理,將用戶配置的安全策略執行到對應的
    的頭像 發表于 03-01 14:50 ?617次閱讀
    <b class='flag-5'>Linux</b>軟件<b class='flag-5'>防火墻</b><b class='flag-5'>iptables</b><b class='flag-5'>詳解</b>

    如何在CentOS系統配置防火墻

    作為一名系統管理員或開發者,你是否曾經被 Linux 防火墻配置搞得頭大?在生產環境,我們經常需要配置
    的頭像 發表于 05-08 11:52 ?311次閱讀
    如何在CentOS<b class='flag-5'>系統</b><b class='flag-5'>中</b><b class='flag-5'>配置</b><b class='flag-5'>防火墻</b>