Linux防火墻iptables

目錄

一,Iptables概述

二,iptables組成

1,表

2,鏈

3,鏈表對應關系

4,數據包過濾的匹配流程

5,規則匹配策略

三,iptables防火墻配置

1,iptables命令

2,常用控制類型

3,命令操作

四,規則的匹配

1,通用匹配

2,隱含匹配

3,顯氏匹配


一,Iptables概述

iptables作為內核級別的防火墻,具有高效,穩定,安全的特點

iptables的表,鏈,規則結構非常靈活,可使用各種不同的網絡環境和應用場景

iptables相對于其他防火墻工具而言比較容易學習和掌握,并且拓展性很強

二,iptables組成

iptables的核心是由表,鏈,規則三部分組成的

1,表

在iptables之內,表是一個規則的集合,每個表都包含一些鏈和對應的規則常用的有五種:

raw表:確定是否對該數據包進行數據跟蹤

mangle表:更改數據包,用來做流量整形的,給數據包設置標記。包含五個規則鏈,INPUT,OUTPUT,FORWAR,PREROUTING,POSTROUTING

nat表:負責網絡地址轉換,用來更改數據包之內的源,目標IP地址和端口,包括三個規則鏈,OUTPUT,PREROUTING,POSTROUTING

filter表:負責過濾數據包,是否放行該數據包,包含三個規則鏈,INPUT,FORWARD,OUTPUT

優先級:raw>mangle>nat>filter

2,鏈

在iptables之內,鏈是一個規則的集合,每個鏈都包含一些有關的規則????????

INPUT鏈:當接收到防火墻本機地址的數據包時,應用此鏈之內的規則

OUTPUT鏈:當防火墻本機向外發送數據包時,應用此鏈之內的規則

FORWARD鏈:當接收到需要通過防火墻發送給其他地址的數據包時,應用此鏈之內的規則

PREROUTING鏈:在對數據包做路由選擇之前,應用此鏈之內的規則,用來更改目的地址

POSTROUTING鏈:在對數據包做路由選擇之前,應用此鏈之內的規則,用來更改源地址

3,鏈表對應關系

nat表:PREROUTING鏈,POSTROUTING鏈

filter表:INPUT鏈,FORWARD鏈,OUTPUT鏈

4,數據包過濾的匹配流程

轉發:目的地不是本機,數據包先從A網絡過濾,經過PREROUTING鏈,看是否是自己的目的地址,如果是外網到內網需要用nat轉換成內網IP,找到內網用戶,經過FORWARD鏈進行過濾;允許放通的到達POSTROUTING鏈,再把內網地址轉換成公網,這樣數據包才能回去,內網發往外網就需要反過來

總結:當一個數據包進到網卡時,數據包首先進到PREROUTING鏈,內核根據數據包IP判斷是否需要轉送發出,要是數據包是進到本機的,數據包就會沿著圖向上移動,到達INPUT鏈。數據包到達INPUT鏈之后,所有進程都會收到,本機上運行的程序可以發到數據包,這些包經過OUTPUT鏈,再發送出,要是數據包時需要發送的,內核還允許轉發,數據包就會向右移動,經過FORWARD鏈,再到達到POSTROUTING鏈輸出

5,規則匹配策略

自上而下進行順序匹配,匹配到即停止不會再看下面的規則,再通過允許或丟掉或拒絕等規則進行數據包的處理

三,iptables防火墻配置

1,iptables命令

選項意義
-t指定表明
-j指定控制類型
-A指定鏈的末尾追加一條規則
-I在指定鏈的開頭插一條規則;未指定序號時固定作為第一條規則
-D刪除指定鏈之內的一條規則,可指定規則序號或具體內容
-L列出指定鏈之內的所有規則;未指定鏈名則列出表之內的所有鏈
-F刪除指定鏈之內的所有規則;未指定鏈名則刪除表之內的所有鏈
-v輸出詳細信息,包括每條規則的匹配包數量和匹配字節數
--line-number查看規則時,輸出規則的行號
-p指定要匹配的數據包的協議類型
-s指定要匹配的數據包的源IP地址
-d指定要匹配的數據包的目的IP地址
-i指定數據包進到本機的網絡接口
--dport指定目的的端口號

2,常用控制類型

控制類型作用
ACCEPT允許數據包通過
DROP直接丟掉數據包,不給出回應消息
REJECT拒絕數據包通過,會給數據發送一個相應信息
SNAT更改數據包的源地址
DNAT更改數據包的目的地址

3,命令操作

(1),

iptables -t filter -nL --line-numbers
#以數字形式顯示詳細信息并顯示規則序號

(2),

iptables -t filter -A INPUT -p icmp -j REJECT
#在filter表的INPUT鏈之內添加拒絕icmp的規則

(3),

iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT
#在filter表的INPUT鏈的TCP協議22號端口添加ACCEPT規則

??

(4),

iptables -D INPUT 3
#刪除INPUT鏈上的3號規則
iptables -D INPUT -p icmp --icmp-type 8 -j DROP
#刪除INPUT鏈上的icmp協議8號類型的DROP規則

(5),

iptables -F OUTPUT
#刪除OUTPUR鏈上的所有規則

四,規則的匹配

1,通用匹配

可以直接用,不依賴另外的條件和擴展包括網絡協議,IP協議,網絡接口條件等

(6),

iptables -I INPUT -i ens33 -s 192.168.40.0/24 -j REJECT
#拒絕從192.168.40.0/24網段的ens33網絡接口進

2,隱含匹配

某些條件。像端口,tcp標記,icmp類型,隱含需要以特定的協議匹配作為前提

(8),

iptables -I FORWARD -d 192.168.40.0/24 --dport 22:25 -j DROP
#丟掉FORWARD鏈192.168.40.0/24網段22至25端口的數據包

(9),

iptables -I OUTPUT -p tcp --dport 22 --tcp-flags SYN,RST,ACK SYN -j REJECT
#在OUTPUT鏈tcp協議22號端口上拒絕RST,ACK包,接收SYN包

(10),

iptables -A INPUT -p icmp --icmp-type 8 -j DROP
#丟掉INPUT鏈icmp協議并關閉目標主機的echo request回復

3,顯氏匹配

需要以m的形式明確指出類型,包括多端口,mac地址,ip范圍,數據包狀態等條件

(11),

iptables -A INPUT -p tcp -m multiport --dport 22,80 -j ACCEPT
#允許放通INPUT鏈tcp協議的22和80端口
iptables -A INPUT -p tcp -m iprange --dstrange 192.168.40.10-192.168.40.20 -j DROP
#丟掉INPUT鏈tcp協議IP地址范圍是192.168.40.10至192.168.40.20之內的數據包

打賞鏈接:

???????????????????????????????????????????????????????????????????????????????????????????

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/96527.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/96527.shtml
英文地址,請注明出處:http://en.pswp.cn/web/96527.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

[優選算法專題二——NO.16最小覆蓋子串]

題目鏈接 LeetCode最小覆蓋子串 題目描述 代碼編寫 、關鍵注意點 僅統計目標相關字符:通過 hash1.count(in) 判斷字符是否在 t 中,避免無關字符(如 s 中的 D、E)干擾統計,提升效率。count 的更新時機:僅當…

考研408計算機網絡近年第34題真題解析(2021-2024.34)

(2021.34)此題已明確為差分曼徹斯特編碼,通常第一個時間間隙可能不太好判斷,因為0,或1可以變化,但差分曼徹斯特編碼的其它位置可以判斷,圖中黃色數字的時間間隙位置,開始位置和前面一…

微信小程序開發教程(八)

目錄:1.全局配置-tabBar2.小程序的頁面配置3.數據請求-GET和POST請求4.數據請求-request請求的注意事項1.全局配置-tabBar注意tabar頁面必須放到Page頭部位置2.小程序的頁面配置3.數據請求-GET和POST請求4.數據請求-request請求的注意事項

日語學習-日語知識點小記-構建基礎-JLPT-N3階段(29):文法運用第9回3+(考え方11)

日語學習-日語知識點小記-構建基礎-JLPT-N3階段(31):文法運用第9回31、前言(1)情況說明(2)工程師的信仰2、知識點1ー 復習2ー 單詞訓練3、單詞(1)日語單詞  …

小鵬汽車在 VLA(視覺 - 語言 - 動作)算法模型框架細節與原理

小鵬汽車的 VLA(視覺 - 語言 - 動作)算法模型框架是其端到端自動駕駛系統的核心,融合了多模態感知、語言推理與動作生成能力。以下是其技術細節與原理的深度解析: 一、整體架構:混合式端到端設計 小鵬 VLA 采用云端基座…

京東商品詳情 API 全解析:合規對接與 B2C 場景實戰指南

在 B2C 電商運營中,商品詳情數據是支撐店鋪管理、庫存調控、營銷決策的核心基礎。京東商品詳情 API 作為官方合規的數據獲取通道,不僅能穩定返回商品標題、價格、庫存等關鍵信息,還針對 B2C 場景新增了預售鎖庫、次日達標識等特色字段。本文從…

【Visual Studio 2017 和 2019下載】

Visual Studio 2017 和 2019下載VS2017下載地址:VS2019下載地址:VS2017下載地址: Visual Studio 2017 Community 鏈接 Visual Studio 2017 Enterprise 鏈接 VS2019下載地址: Visual Studio 2019 Community 鏈接 Visual Studio …

Python 輕松實現替換或修改 PDF 文字

在日常開發或文檔處理過程中,經常會遇到需要對 PDF 文檔中的文字進行修改的場景。例如更新合同條款、修正報表數據,或者批量替換文件中的特定內容。由于 PDF 格式以固定排版為特點,直接修改文字不像 Word 那樣直觀,因此需要借助專…

CI/CD流水線優化實戰:從30分鐘到5分鐘的效能革命

關鍵詞:CI/CD優化、GitHub Actions、Jenkins、自動化部署、流水線加速 一、引言:CI/CD流水線為何需要優化? 在現代軟件開發中,CI/CD(持續集成/持續交付)已成為DevOps實踐的核心環節。然而,許多團隊的流水線存在效率低下問題,??平均構建時間超過30分鐘??,嚴重制約…

神經網絡矩陣的點乘與叉乘概述

點乘點乘:兩個矩陣對應位置元素相乘(逐元素級 element - wise)實現方式:可通過 * 和 torch.mul(x, y) 函數實現(含廣播機制)模型符號:一個圓圈中間加一個實心點叉乘叉乘:傳統線性代數…

PHP學習(第三天)

網站訪問流程 一、靜態網站訪問流程(如 index.html)1. 流程是怎么樣的? 靜態網站的頁面內容固定,不需要服務器做額外計算,直接把文件返回給瀏覽器。訪問流程大致如下:用戶輸入網址或點擊鏈接 用戶在 個人設…

【辦公自動化】如何使用Python腳本自動化處理音頻?

在日常辦公和內容創作中,音頻處理是一項常見需求。無論是處理會議錄音、制作播客、編輯音樂背景,還是進行語音識別,Python都能幫助我們高效地完成這些任務。本文將介紹如何使用Python實現音頻處理自動化,包括格式轉換、音頻拼接、…

OpenHarmony AVSession深度解析(二):從本地會話到分布式跨設備協同的完整生命周期管理

1. 系統概述 AVSession是OpenHarmony多媒體框架中的核心組件,負責管理音視頻會話的生命周期、狀態同步和跨設備協同。它提供了統一的接口供應用創建會話、設置元數據、控制播放狀態,并支持分布式場景下的會話遷移。 2. 架構設計 2.1 核心類結構 #mermaid-svg-QwwujBwB3Wo6…

架構思維:在復雜系統中尋找秩序的底層邏輯

在商業世界中,架構師常被視為神秘的存在。懂架構不一定是大師,但,大師一定善于架構,善于撥開迷霧,看透全局。他們穿梭于代碼與流程之間,用看不見的線條編織著數字世界的經緯。 架構天然的使命就是面對復雜…

國產凝思debian系Linux離線安裝rabbitmq教程步驟

系統環境 由于國內訪問debian的apt源太慢了,花了很多很多時間后,反而超時報錯。所以采用離線安裝方式。 uname -a Linux bogon 4.19.0-11-linx-security-amd64 #1 SMP Linx 4.19.146-1linx10 (2023-05-30) x86_64 GNU/Linux下載安裝包 在有網絡的電腦…

開發避坑指南(48):Java Stream 判斷List元素的屬性是否包含指定的值

需求 Java Stream 判斷List元素的屬性是否包含指定的值該怎么實現? 代碼實現 直接上代碼 public class OrderInfo {private BigDecimal fee;private String orderStatus; }public class ListTest2 {public static void main(String[] args) {OrderInfo orderInfo n…

Arbess V2.0.7版本發布,支持Docker/主機藍綠部署任務,支持Gradle構建、Agent運行策略

Arbess 是一款國產開源免費的 CI/CD 工具,產品開源免費,簡潔易用。本周Arbess V2.0.7版本發布,新增Docker/主機藍綠部署策略,Gradle構建任務,新增Agent執行策略。 1、版本更新日志 新增 ? 支持Docker藍綠部署、主機…

萬物皆可PID:深入理解控制算法在OpenBMC風扇調速中的應用

引言:智能散熱,不僅僅是“開”和“關” 想象一下服務器中的風扇管理。最簡單的策略是“bang-bang”控制(雙位控制):溫度超過閾值,風扇全速運轉;溫度低于閾值,風扇低速或停止。這種策…

CH347應用 USB轉I2C功能之:開源項目i2c-tools工具的使用(2)

目錄前言開源地址使用說明i2cdetecti2cdumpi2cset前言 上一篇博客中介紹了CH347配合i2c-tools在Linux下的使用,但我們能不能在Windows中也是用i2c-tools進行I2C設備的調試呢。這里我將i2cdetect、i2cdump、i2cset三個常用的工具移植至Windows平臺,并進行…

代碼隨想錄算法訓練營第50天 | 圖論理論基礎、深搜理論基礎、98. 所有可達路徑、廣搜理論基礎

圖論理論基礎 題目鏈接/文章講解:https://www.programmercarl.com/kamacoder/%E5%9B%BE%E8%AE%BA%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html 了解圖的基本概念,連通性,圖的構造,圖的遍歷方式 深搜理論基礎 題目鏈接/文章講解&…