網路防火牆之iptables的前世今生和歸宿

2022-08-03 02:03:12 字數 1707 閱讀 7644

任何事物都有乙個從無到有,再歸於無的過程。是的,我這裡用了乙個絕對詞:任何。

在計算機領域中,防火牆(英文:firewall)是一項協助確保資訊保安的裝置,會依照特定的規則,允許或是限制傳輸的資料通過。防火牆可能是一台專屬的硬體或是架設在一般硬體上的。通俗的乙個模擬就是中國古代的長城或者城市的城牆,用於安全防禦的作用,只有滿足特定要求,接受檢查後才能進入。

防火牆作為內部網與外部網之間的一種訪問控制裝置, 常常安裝在內部網和外部網交界點上。主要分為網路層防火牆和應用層防火牆兩種,但也有些防火牆是同時運作於網路層和應用層。

iptables屬於網路層防火牆。由於工作在網路層,不需要把資料傳送到使用者空間,在系統核心空間中進行了資料過濾處理,因此可以保證資料處理效率。與此同時也會帶來乙個壞處,既然是工作於核心空間,那麼它要麼整合到核心內部要麼被核心呼叫,且使用者是無法直接與核心互動,那我們怎麼定義iptables規則。因為以上原因iptables分為兩部分,一部分是工作於核心中真正實現訪問管控功能的netfileter,與此同時還要有與核心通訊提供過濾規則的使用者空間元件iptables。其實iptables的官方**就是  。

iptables乙個執行在使用者空間的應用軟體,通過控制linux核心netfilter模組,來管理網路資料報的流動與轉送。在大部分的linux系統上面,iptables是使用/usr/sbin/iptables來操作。通常iptables都需要核心層級的模組來配合運作,xtables是主要在核心層級裡面iptables api運作功能的模組。因相關動作上的需要,iptables的操作需要用到超級使用者的許可權。

目前iptables繫在2.4、2.6及3.0的核心底下運作,舊版的linux核心(2.2)使用ipchains及ipwadm(linux 2.0)來達成類似的功能,2023年1月19日起發行的新版linux核心(3.13後)則使用nftables取而代之。

有興趣的同學也可以一起加入學習**iptables: 

iptables不可能永遠獨佔linux世界,他也有發展的盡頭。在linux核心3.13中就由nftables取代了iptables。作為應用層的iptables,也在被拋棄,rhel7/centos7中放棄了iptables,而選擇firewalld作為防火牆的配置工具。firewalld相對於iptables主要的優點有:1. firewalld可以動態修改單條規則,而不需要像iptables那樣,在修改了規則後必須得全部重新整理才可以生效; 2. firewalld在使用上要比iptables人性化很多,即使不明白「五張表五條鏈」而且對tcp/ip協議也不理解也可以實現大部分功能。另外同樣基於linux核心的ubuntu,使用的防火牆配置工具是ufw。

nftables是取代 iptables、ip6tables、arptables 和ebtables 的新的包過濾框架。nftables 旨在解決現有 tables 工具存在的諸多限制。相對於舊的 iptables,nftables 最引人注目的功能包括改進效能如支援查詢表;事務型規則更新,所有規則自動應用;等等。nftables誕生於2023年,2023年底合併到linux核心,從 linux 3.13起開始作為 iptables的替代提供給使用者。 nftables實現了一組被稱為表示式的指令,可通過在暫存器中儲存和載入來交換資料。也就是說, nftables的核心可視為乙個虛擬機器, nftables的前端工具nft可以利用核心提供的表示式去模擬舊的iptables匹配,維持相容性的同時獲得更大的靈活性。

linux防火牆之iptables

linux防火牆基礎 linux系統的防火牆體系基於核心編碼實現,具有非常穩定的效能和極高的效率。通常net filter和iptables都是用來指linux防火牆。兩者的區別 net filter屬於 核心態 的防火牆體系 iptables屬於 使用者態 的防火牆管理體系 iptables的表,...

Linux之防火牆iptables

一 檢查iptables服務狀態 1 首先檢查iptables服務的狀態 root bogon service iptables status iptables firewall is not running.說明iptables服務是有安裝的,但是沒有啟動服務。如果沒有安裝的話可以直接yum安裝 ...

實驗 實現iptables網路防火牆

一 構建測試環境 三颱主機全部使用僅主機模式,並關閉對應的dhcp設定 臨時的配置 ip a a 192.168.30.100 24 dev ens33 ip rounte add default via 192.168.30.1 dev ens33 寫入檔案 nmcli conn add con ...