最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Linux中的iptables防火墻

 更新時(shí)間:2024年09月13日 16:27:47   作者:活老鬼  
iptables防火墻由netfilter和iptables組成,其中netfilter是內(nèi)核態(tài)的數(shù)據(jù)包過濾系統(tǒng),iptables是用戶態(tài)的防火墻管理程序,iptables包含raw、mangle、nat和filter四個(gè)規(guī)則表,以及INPUT、OUTPUT、FORWARD、PREROUTING和POSTROUTING五個(gè)規(guī)則鏈

一、iptables概述

iptables防火墻是Linux系統(tǒng)防火墻的一種,實(shí)際上由兩個(gè)組件netfilter和iptables組成。

netfilters與iptables的關(guān)系:

  • netfilter:屬于“內(nèi)核態(tài)”的防火墻功能體系。是內(nèi)核的一部分,由一些數(shù)據(jù)包過濾表組成,這些表包含內(nèi)核用來控制數(shù)據(jù)包過濾處理的規(guī)則集。
  • iptables:屬于“用戶態(tài)”的防火墻管理體系。是一種用來管理Linux防火墻的命令程序,它使插入、修改和刪除數(shù)據(jù)包過濾表中的規(guī)則變得容易,通常位于/sbin/iptables文件下。

netfilter/iptables后期簡稱為iptables。iptables是基于內(nèi)核的防護(hù)墻,其中內(nèi)置了raw、mangle、nat、filter四個(gè)規(guī)則表。表中所有規(guī)則配置后,立即生效,不需要重啟服務(wù)。

二、規(guī)則表與規(guī)則鏈結(jié)構(gòu)(四表五鏈)

1.簡述

  • 規(guī)則表(四表)的作用:容納各種規(guī)則鏈。
  • 規(guī)則鏈(五鏈)的作用:容納各種防火墻規(guī)則。

總結(jié):表中有鏈,鏈中有規(guī)則。

2.四表(規(guī)則表)

  • raw表:確定是否對該數(shù)據(jù)包進(jìn)行狀態(tài)跟蹤。包含兩個(gè)規(guī)則鏈 - OUTPUT、PREROUTING。
  • mangle表:修改數(shù)據(jù)包內(nèi)容,用于流量整形,給數(shù)據(jù)包設(shè)置標(biāo)記。包含五個(gè)規(guī)則鏈 - INPUT、OUTPUT、FORWARD、PREROUING、POSTROUTING。
  • nat表:負(fù)責(zé)網(wǎng)絡(luò)地址轉(zhuǎn)換,用來的修改數(shù)據(jù)包中的源、目標(biāo)IP地址或端口。包含三個(gè)規(guī)則鏈 - OUTPUT、PREROUTING、POSTROUTING。
  • filter表:負(fù)責(zé)過濾數(shù)據(jù)包,確定是否放行該數(shù)據(jù)包(過濾)。包含三個(gè)規(guī)則鏈,INPUT、FORWARD、OUTPUT。

數(shù)據(jù)包到達(dá)防火墻時(shí),數(shù)據(jù)表之間的優(yōu)先順序:

raw -> mangle -> nat -> filter

3.五鏈(規(guī)則鏈)

  • INPUT:處理入站數(shù)據(jù)包,匹配目標(biāo)IP為本機(jī)的數(shù)據(jù)包。
  • OUTPUT:處理出戰(zhàn)數(shù)據(jù)包,匹配從本機(jī)發(fā)出的數(shù)據(jù)包。
  • FORWARD:處理轉(zhuǎn)發(fā)數(shù)據(jù)包,匹配流經(jīng)本機(jī)的數(shù)據(jù)包。
  • PREROUTING:在進(jìn)行路由選擇前處理數(shù)據(jù)包,用來修改目的地址,用來做DNET。相當(dāng)于把內(nèi)網(wǎng)服務(wù)器的IP和端口映射到路由器的外網(wǎng)IP和端口上。
  • POSTROUTIING:在進(jìn)行路由選擇后處理數(shù)據(jù)包,用來修改源地址,用來做SNAT。相當(dāng)于內(nèi)網(wǎng)通過路由器NAT轉(zhuǎn)換功能實(shí)現(xiàn)內(nèi)網(wǎng)主機(jī)通過一個(gè)公網(wǎng)IP地址上網(wǎng)。

三、數(shù)據(jù)鏈過濾的匹配流程

  • 入站數(shù)據(jù):PREROUTING -> INPUT -> 本機(jī)的應(yīng)用程序
  • 出站數(shù)據(jù):本機(jī)的應(yīng)用程序 -> OUTPUT -> POSTROUTING
  • 轉(zhuǎn)發(fā)數(shù)據(jù):PREROUTING -> FORWARD -> POSTROUTING

四、iptables命令行配置方法

1.命令格式

iptables -t "表名" "管理選項(xiàng)" "鏈名" "匹配條件" -j "控制類型"

  • 不指定表名時(shí),默認(rèn)指filter表
  • 不指定鏈名時(shí),默認(rèn)值表內(nèi)所有鏈
常用管理選項(xiàng)
常用選項(xiàng)解釋
-A--apend 在指定表的末尾追加新規(guī)則
-I--insert 在指定鏈的開頭插入一條新規(guī)則,不指定序號時(shí)默認(rèn)在開頭插入新規(guī)則
-R--replace 修改、替換指定鏈中某一條的規(guī)則,可指定序號或具體內(nèi)容
-P--policy 設(shè)置指定鏈的默認(rèn)策略
-D--delete 刪除指定鏈中的某一條規(guī)則
-F--flush 清空指定鏈中的所有規(guī)則,若為指定鏈名,則清空表中所有鏈
-L--list 列出指定鏈中的所有規(guī)則,若為指定鏈名,則列出表中所有鏈
-n--numeric 使用數(shù)字形式輸出結(jié)果,如顯示IP地址而不是主機(jī)名
-v顯示詳細(xì)信息,包括每條規(guī)則的匹配包數(shù)量和匹配字節(jié)數(shù)
--line-numbers查看規(guī)則時(shí),顯示序號
常用的控制類型
常用控制類型解釋
ACCEPT允許數(shù)據(jù)包通過
DROP直接丟棄數(shù)據(jù)包,不給出任何回應(yīng)信息
REJECT拒絕數(shù)據(jù)包通過,會給數(shù)據(jù)發(fā)送端一個(gè)響應(yīng)信息
SNAT修改數(shù)據(jù)包的源地址
DNAT修改數(shù)據(jù)包的目的地址
REDIRECT重定向改變目的端口,將接受的包轉(zhuǎn)發(fā)至本機(jī)的不同端口
MASQUERADE偽裝成一個(gè)非固定公網(wǎng)IP地址
LOG在/var/log/messages文件中記錄日志信息,然后將數(shù)據(jù)包傳遞給下一條規(guī)則

2.基本匹配條件

基本匹配條件解釋
-p指定協(xié)議
-s指定源地址
-d指定目的地址
-i指定入站網(wǎng)卡
-o指定出站網(wǎng)卡

3.隱含匹配

需以特定的協(xié)議匹配作為前提。

3.1.端口匹配

匹配條件解釋
--sport源端口
--dport目的端口

例:

iptables -A INPUT -p tcp --dport 20:21 -j ACCEPT

ps:--sport 和 --dport 必須配合-p "協(xié)議類型"使用

3.2 TCP標(biāo)志位匹配

標(biāo)志位解釋
SYN同步位
ACK確認(rèn)位
FIN結(jié)束位
RST重置位
URG緊急位
PSH推送位

例:

iptables -I INPUT -p tcp --dport 22 --tcp-flags SYN,ACK,FIN,RST,URG,PSH SYN -j REJECT

拒絕來自22端口的SYN之外的tcp包(只接收SYN包)

3.2 ICMP類型匹配

類型代碼解釋
Echo-Reques8請求
Echo-Reply0回顯
Destination-Unreachable3目標(biāo)不可達(dá)

例:

iptables -A INPUT -p icmp --icmp-type 8 -j -DROP
#禁止其他主機(jī)ping本機(jī)

3.3 顯示匹配

要求以“-m 擴(kuò)展模塊”的形式明確指出類型,包括多端口、MAC地址、IP范圍、數(shù)據(jù)包狀態(tài)等條件。

3.3.1 多端口匹配:

-m multiport --sport 源端口列表
-m multiport --dport 目的端口列表

例:

iptables -A INPUT -p tcp -m multiport --dport 80,22,21 -j ACCEPT

3.3.2 IP范圍匹配:

-m iprange --src-range 源ip范圍
-m iprange --dst-range 目的ip范圍

例:

iptables -A FORWARD -p udp -m iprange --src-range 192.168.80.100-19.2169.80.200

3.3.3 mac地址匹配

-m mace --mace-source "mac地址"

3.3.4 狀態(tài)匹配

-m state --state "連接狀態(tài)"
常見的狀態(tài)連接解釋
NEW與任何連接無關(guān)的,還沒開始連接
ESTABLISHED響應(yīng)請求或者已建立連接的,連接態(tài)
RELATED與已有連接有相關(guān)性的,衍生態(tài),一般與ESTABLISHED 配合使用
INVALID無效的封包,例如數(shù)據(jù)破損的封包狀態(tài)

例:

iptables -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT

五、SNAT與DNAT

均需網(wǎng)關(guān)開啟IP路由轉(zhuǎn)發(fā):

臨時(shí)打開 echo 1 > /proc/sys/net/ipv4/ip_forward 或 sysctl -w net.ipv4.ip_forward=1

永久打開:

vim /etc/sysctl.conf

....
net.ipv4.ip_forward=1    #將此行寫入配置文件


sysctl -p    #載入配置

1.SNAT

SNAT用于在網(wǎng)絡(luò)中修改數(shù)據(jù)包的源地址。

SNAT轉(zhuǎn)換前提條件:

  • 局域網(wǎng)各主機(jī)已正確設(shè)置IP地址、子網(wǎng)掩碼、默認(rèn)網(wǎng)關(guān)地址
  • Linux網(wǎng)關(guān)開啟IP路由轉(zhuǎn)發(fā)
iptables -t nat -A POSTROUTING -s 192.168.80.0/24 -o ens36 -j SNAT --to-source 12.0.0.1-12.0.0.10

2.DNAT

DNAT用于在網(wǎng)絡(luò)中修改數(shù)據(jù)包的目的地址,通常是為了保護(hù)內(nèi)網(wǎng)服務(wù)器的安全。

DNAT轉(zhuǎn)換前提條件:

  • 局域網(wǎng)的服務(wù)器能夠訪問Internet
  • 網(wǎng)關(guān)的外網(wǎng)地址有正確的DNS解析記錄
  • Linux網(wǎng)關(guān)開啟IP路由轉(zhuǎn)發(fā)
iptables -t nat -A PREROUTING -i ens33 -d 12.0.0.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.80.11

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 系統(tǒng)講解Apache Kafka消息管理與異常處理的最佳實(shí)踐

    系統(tǒng)講解Apache Kafka消息管理與異常處理的最佳實(shí)踐

    Apache Kafka 作為分布式流處理平臺的核心組件,廣泛應(yīng)用于實(shí)時(shí)數(shù)據(jù)管道、日志聚合和事件驅(qū)動架構(gòu),下面我們就來系統(tǒng)講解 Kafka 消息管理與異常處理的最佳實(shí)踐吧
    2025-04-04
  • Linux服務(wù)器系統(tǒng)通過命令查看端口是否被占用的方法

    Linux服務(wù)器系統(tǒng)通過命令查看端口是否被占用的方法

    在 Linux 服務(wù)器系統(tǒng)中,端口是網(wǎng)絡(luò)通信的關(guān)鍵資源,每個(gè)服務(wù)通常監(jiān)聽一個(gè)或多個(gè)端口,用于處理外部請求或內(nèi)部通信,本文將詳細(xì)介紹幾種常用的 Linux 命令,幫助管理員高效檢測和診斷端口占用情況,需要的朋友可以參考下
    2026-02-02
  • 查看Linux內(nèi)存條數(shù)與清理內(nèi)存的命令方法

    查看Linux內(nèi)存條數(shù)與清理內(nèi)存的命令方法

    下面小編就為大家?guī)硪黄榭碙inux內(nèi)存條數(shù)與清理內(nèi)存的命令方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-11-11
  • Apache 二級域名實(shí)現(xiàn)方法介紹

    Apache 二級域名實(shí)現(xiàn)方法介紹

    首先,你的擁有一個(gè)有泛域名解析的頂級域名,例如:domain.com
    2009-05-05
  • Ubuntu 18.04 安裝MySQL時(shí)未提示輸入密碼的問題及解決方法

    Ubuntu 18.04 安裝MySQL時(shí)未提示輸入密碼的問題及解決方法

    這篇文章主要介紹了Ubuntu 18.04 安裝MySQL時(shí)未提示輸入密碼的問題及解決方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-10-10
  • Linux下gdb調(diào)試之打斷點(diǎn)的實(shí)現(xiàn)方法

    Linux下gdb調(diào)試之打斷點(diǎn)的實(shí)現(xiàn)方法

    這篇文章主要介紹了Linux下gdb調(diào)試之打斷點(diǎn)的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Linux添加新硬盤并加入原有分區(qū)的實(shí)現(xiàn)

    Linux添加新硬盤并加入原有分區(qū)的實(shí)現(xiàn)

    文章介紹了如何在Linux系統(tǒng)中使用LVM(邏輯卷管理)來擴(kuò)展分區(qū)空間,包括添加新硬盤、創(chuàng)建LVM分區(qū)、建立物理卷、將PV加入VG(卷組)以及調(diào)整LV(邏輯卷)大小,特別提到在調(diào)整根目錄大小時(shí)遇到的問題,通過檢查文件系統(tǒng)類型并使用相應(yīng)工具(如xfs_growfs)解決了問題
    2026-03-03
  • 在Linux中打開、提取和創(chuàng)建rar文件的操作方法

    在Linux中打開、提取和創(chuàng)建rar文件的操作方法

    RAR 是一種流行的文件壓縮格式,以其高效的壓縮算法和將大文件壓縮為較小檔案的能力而聞名,雖然 Linux 本身支持 ZIP 和 TAR 等常見檔案格式,但處理 RAR 文件需要額外的工具,在這篇博文中,我們將探討如何在 Linux 中打開、提取和創(chuàng)建 RAR 文件,需要的朋友可以參考下
    2024-04-04
  • ubuntu20.04虛擬機(jī)無法上網(wǎng)的問題及解決

    ubuntu20.04虛擬機(jī)無法上網(wǎng)的問題及解決

    這篇文章主要介紹了ubuntu20.04虛擬機(jī)無法上網(wǎng)的問題及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • Linux創(chuàng)建Shell腳本.sh文件的三種方法

    Linux創(chuàng)建Shell腳本.sh文件的三種方法

    本文詳細(xì)介紹了在Linux系統(tǒng)中創(chuàng)建Shell腳本文件的幾種方法,包括使用vim、nano編輯器和快速創(chuàng)建空文件,同時(shí),強(qiáng)調(diào)了賦予腳本執(zhí)行權(quán)限和建議將腳本放在/usr/local/bin/目錄下的重要性,需要的朋友可以參考下
    2026-02-02

最新評論

苗栗县| 保德县| 昌平区| 高州市| 安泽县| 兴化市| 房产| 建昌县| 安陆市| 郎溪县| 繁昌县| 桐庐县| 乐清市| 和林格尔县| 施甸县| 贵州省| 郴州市| 葫芦岛市| 法库县| 星子县| 光泽县| 荣成市| 卓资县| 加查县| 兴山县| 泽州县| 扶绥县| 四子王旗| 龙胜| 重庆市| 砀山县| 娱乐| 桂阳县| 博野县| 三明市| 宕昌县| 冷水江市| 天水市| 虞城县| 大同县| 沁阳市|