IPtables 之「四表五鏈」

image

架構圖

公司架構模式(酒店迎賓比喻)

image


IP tables

簡介

IPtablesLinux防火牆工具,真正實現防火牆功能的是netfilter,它是Linux內核中實現包過濾的內部結構;防火牆是幹什麼的呢?防止別人惡意訪問,為了保證安全而存在;IP tables是上架構圖中的「冰山一角」~

image

網路從設備驅動進入,往上走,netfilter是網路安全框架用於過濾,hook勾子函數!

  • 防火牆的分類
防火牆種類 名稱
硬體防火牆 [F5](F5設備_百度百科 (baidu.com))
軟體防火牆 iptables 和 firewalld
雲服務防火牆 安全組

包過濾防火牆

  • 包:數據傳輸過程,並不是一次性傳輸完成的,而是將數據分成若干個數據包,一點一點傳輸;類似看影片,載入的快取,不是一次性將影片載入出來,而是一點一點載入;
  • 包過濾防火牆:過濾數據包的防火牆

Iptables如何過濾

iptables通過四表五鏈過濾各種規則

「四表」

filter、nat、mangle、raw

表名 作用 與鏈的關係
filter表 過濾數據包 INPUT、OUTPUT、FORWARD
Nat表 用於網路地址轉換(IP、埠) PREROUTING、OUTPUT、POSTROUTING
Mangle表 修改數據包的服務類型、TTL、並且可以配置路由實現QOS PREROUTING、INPUT、OUTPUT、POSTROUTING、FORWARD
Raw表 決定數據包是否被狀態跟蹤機制處理 PREROUTING、OUTPUT

「五鏈」

PREROUTING、INPUT、OUTPUT、FORWARD、POSTROUTING

鏈名 處理機制
INPUT鏈 進來的數據包應用此規則鏈中的策略
OUTPUT鏈 外出的數據包應用此規則鏈中的策略
FORWARD鏈 轉發數據包時應用此規則鏈中的策略
PREROUTING鏈 主機外報文進入位置,所有的數據包進來的時侯都先由這個鏈處理,允許的表mangle, nat(目標地址轉換,把本機地址轉換為真正的目標機地址,通常指響應報文)
POSTROUTING鏈 報文經過路由被轉發出去,所有的數據包出來的時侯都先由這個鏈處理,允許的表mangle,nat(源地址轉換,把原始地址轉換為轉發主機出口網卡地址)

Iptables流程

完整流程

image

經常用filter和nat,filter和nat 版

img

如果有網路A,和網路B,或需要AB中間網路轉換,運用上述流程該如何走?如下:

image


👉參考博文://www.cnblogs.com/clouders/p/6544584.html

👉[普羅米修斯官網文檔](概述 |普羅 米修斯 (prometheus.io))


【IP tables待續】