iptables五表五鏈及對應實例

来源:https://www.cnblogs.com/ydswin/p/18062999
-Advertisement-
Play Games

iptables是Linux系統上用於配置網路包過濾規則的工具,它使用表(tables)和鏈(chains)來組織規則。以下是iptables中的五表五鏈及其對應的實例說明: 五表 filter表:預設表,用於過濾數據包,允許或拒絕數據包通過。它包含INPUT、OUTPUT和FORWARD三個鏈。 ...


iptables是Linux系統上用於配置網路包過濾規則的工具,它使用表(tables)和鏈(chains)來組織規則。以下是iptables中的五表五鏈及其對應的實例說明:

五表

  1. filter表:預設表,用於過濾數據包,允許或拒絕數據包通過。它包含INPUT、OUTPUT和FORWARD三個鏈。
  2. nat表:用於網路地址轉換(NAT),例如埠轉發和地址轉換。它包含PREROUTING、POSTROUTING和OUTPUT三個鏈。註意,雖然OUTPUT鏈在nat表中存在,但實際上在iptables中,OUTPUT鏈通常只用於filter表和mangle表。在nat表中,OUTPUT鏈很少使用,因為對於從本機發出的數據包,其源地址轉換通常在路由選擇之前就已經確定了。
  3. mangle表:用於修改數據包的各種屬性,例如TTL(Time To Live)或TOS(Type of Service)欄位。它也包含PREROUTING、POSTROUTING、INPUT、OUTPUT和FORWARD五個鏈。
  4. raw表:用於處理數據包的連接追蹤,通常與mangle表結合使用來實現一些特殊功能。它包含PREROUTING和OUTPUT兩個鏈。
  5. security表:用於強制訪問控制(MAC)的網路安全策略(註:這實際上是IPsec功能的一部分,但在許多iptables實現中並不常用或並不直接支持)。security表並不常用,而且其具體的鏈和用法可能因不同的系統或iptables版本而有所不同。

五鏈

  1. INPUT鏈:處理進入本機的數據包。
  2. OUTPUT鏈:處理從本機發出的數據包。
  3. FORWARD鏈:處理需要本機轉發的數據包(即本機作為路由器時)。
  4. PREROUTING鏈:在進行路由選擇之前修改數據包,如DNAT(Destination NAT,目的網路地址轉換)。
  5. POSTROUTING鏈:在進行路由選擇之後修改數據包,如SNAT(Source NAT,源網路地址轉換)。

實例

filter表實例

# 允許來自任何地方的SSH連接  
iptables -A INPUT -p tcp --dport 22 -j ACCEPT  
  
# 拒絕來自192.168.1.0/24網路的所有輸入流量  
iptables -A INPUT -s 192.168.1.0/24 -j DROP  
  
# 允許本地迴環地址的流量  
iptables -A INPUT -i lo -j ACCEPT  
  
# 設置預設策略為拒絕所有輸入流量  
iptables -P INPUT DROP

nat表實例

# 將到達本機的80埠的流量轉發到內部伺服器192.168.1.100的8080埠  
iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.1.100:8080  
  
# 修改從本機發出的流量的源地址為1.2.3.4(需要內核支持及路由設置)  
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source 1.2.3.4

mangle表實例

# 修改TTL值為64  
iptables -t mangle -A PREROUTING -p tcp --tcp-flags SYN SYN -j TCPMSS --clamp-mss-to-pmtu  
iptables -t mangle -A POSTROUTING -p tcp --tcp-flags SYN SYN -j TCPMSS --set-mss 1460  
  
# 這是一個較為複雜的例子,實際中TCPMSS的用法可能會有所不同

raw表實例

# 關閉NAT表上的連接追蹤功能,加速某些特定類型的數據包(例如ICMP)  
iptables -t raw -A PREROUTING -p icmp -j NOTRACK

請註意,以上命令應在具有相應許可權(通常是root)的情況下運行,並且需要根據具體的網路環境和需求進行調整。

關於security表,由於其實際在iptables中的使用較少,且主要與IPsec和網路安全策略配置相關,這裡不提供具體的實例。如果需要對這部分進行深入瞭解,建議查閱專門的IPsec和網路安全文檔。

另外,這些規則預設不會永久保存,系統重啟後會丟失。若需永久保存iptables規則,可以使用iptables-saveiptables-restore命令,或者在某些發行版中使用特定的服務或腳本來處理規則的保存和載入。

本文來自博客園,作者:dashery,轉載請註明原文鏈接:https://www.cnblogs.com/ydswin/p/18062999


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • STM32標準庫定時器輸入捕獲 1.輸入捕獲介紹 輸入捕獲為STM32定時器的一個功能,可以用來測量輸入信號的頻率和占空比。 具體原理:當輸入信號經過比較捕獲通道時,STM32會依據通道的極性設置決定是否觸發捕獲中斷TIM_IT_CCx。此時定時器會將當前計數值TIMx->CNT的值保存在TIMx- ...
  • 如題,在使用Pyinstaller庫打包過程中,如果遇到IndexError:tuple index out of range,不必驚慌,本質上是庫函數在傳參過程中出現異常 下麵是解決方案: 找到..\envs\steamlit\lib\dis.py這個文件。 如果你是用的虛擬環境,比如conda, ...
  • 1. 查看防火牆狀態:active (running) 即是開啟狀態 systemctl status firewalld 2. 如果不是顯示 active 狀態,需要打開防火牆 # 啟動 systemctl start firewalld # 查看狀態 systemctl status firew ...
  • 1、準備材料 正點原子stm32f407探索者開發板V2.4 STM32CubeMX軟體(Version 6.10.0) Keil µVision5 IDE(MDK-Arm) 野火DAP模擬器 2、學習目標 瞭解 FreeRTOS 相關知識,並熟悉使用 STM32CubeMX 軟體配置 FreeRT ...
  • 前幾天遇到一個使用情景,需要從一個包含各個讀取代碼文件路徑及名字的文件中把文件路徑提取出來,做一個filelist,這裡用到了文本的提取和替換,這裡做個小總結記錄一下。 從網上找了一個作者寫的代碼用來練習。 module asyn_fifo #( //parameter declaration pa ...
  • 痞子衡嵌入式半月刊: 第 94 期 這裡分享嵌入式領域有用有趣的項目/工具以及一些熱點新聞,農曆年分二十四節氣,希望在每個交節之日準時發佈一期。 本期刊是開源項目(GitHub: JayHeng/pzh-mcu-bi-weekly),歡迎提交 issue,投稿或推薦你知道的嵌入式那些事兒。 上期回顧 ...
  • 蓬萊enclave-spmp 編譯和運行說明 蓬萊是一個RISC-V TEE系統,其設計具有安全性,高性能和可擴展性。基於PMP的OpenSBI版本的蓬萊Enclave使用可以參考下文,具體倉庫地址為:https://github.com/Penglai-Enclave/Penglai-Enclav ...
  • 一.找回root密碼 找到以““Linux16”開頭內容所在的行數”,在行的最後面輸入:init=/bin/sh 輸完紅色命令後 Ctrl + X 命令 接下來在游標閃爍處,輸入指令:mount -o remount,rw /(註意:各個單詞間有空格) 游標閃爍的位置中,輸入passwd,輸入一次密 ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...