《網絡防火墻之iptables的前世今生和歸宿》要點:
本文介紹了網絡防火墻之iptables的前世今生和歸宿,希望對您有用。如果有疑問,可以聯系我們。
作者簡介:永福,7年大型互聯網Linux運維實戰經驗,先后供職于好豆網、芒果TV,從零構建行業領先運維架構,精通web集群、數據庫集群、分布式文件系統架構、大數據運維架構等.研發的waf應用于各大行業網站.
任何事物都有一個從無到有,再歸于無的過程.是的,我這里用了一個絕對詞:任何.
在計算機領域中,防火墻(英文:Firewall)是一項協助確保信息安全的設備,會依照特定的規則,允許或是限制傳輸的數據通過.防火墻可能是一臺專屬的硬件或是架設在一般硬件上的.通俗的一個類比就是中國古代的長城或者城市的城墻,用于安全防御的作用,只有滿足特定要求,接受檢查后才能進入.
防火墻作為內部網與外部網之間的一種訪問控制設備, 常常安裝在內部網和外部網交界點上.主要分為網絡層防火墻和應用層防火墻兩種,但也有些防火墻是同時運作于網絡層和應用層.
iptables屬于網絡層防火墻.由于工作在網絡層,不需要把數據發送到用戶空間,在系統內核空間中進行了數據過濾處理,因此可以保證數據處理效率.與此同時也會帶來一個壞處,既然是工作于內核空間,那么它要么集成到內核內部要么被內核調用,且用戶是無法直接與內核交互,那我們怎么定義iptables規則.因為以上原因iptables分為兩部分,一部分是工作于內核中真正實現訪問管控功能的netfileter,與此同時還要有與內核通信提供過濾規則的用戶空間組件iptables.其實iptables的官方網站就是?http://www.netfilter.org/?.
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)來達成類似的功能,2014年1月19日起發行的新版Linux內核(3.13后)則使用nftables取而代之.
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 旨在解決現有 {ip/ip6}tables 工具存在的諸多限制.相對于舊的 iptables,nftables 最引人注目的功能包括改進性能如支持查詢表;事務型規則更新,所有規則自動應用;等等.
nftables誕生于2008年,2013年底合并到Linux內核,從 Linux 3.13起開始作為 iptables的替代提供給用戶. nftables實現了一組被稱為表達式的指令,可通過在寄存器中儲存和加載來交換數據.也就是說, nftables的核心可視為一個虛擬機, nftables的前端工具nft可以利用內核提供的表達式去模擬舊的iptables匹配,維持兼容性的同時獲得更大的靈活性.
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/4146.html