有關firewalld和iptables詳細使用的文章html
firewalld詳解linux
=====================================華麗的分割線=====================================centos
1. 認識防火牆安全
從邏輯上講防火牆能夠分爲主機防火牆和網絡防禦牆。服務器
主機防火牆:針對個別主機對出站入站的數據包進行過濾。(操做對象爲個體)網絡
網絡防火牆:處於網絡邊緣,針對網絡入口進行防禦。(操做對象爲總體)架構
從物理上講防火牆能夠分爲硬件防火牆和軟件防火牆。併發
硬件防火牆:經過硬件層面實現防火牆的功能,性能高,成本高。框架
軟件防火牆:經過應用軟件實現防火牆的功能,性能低,成本低。
2. 系統防火牆發展過程
防火牆的發展史就是從牆到鏈再到表,也是從簡單到複雜的過程。
防火牆工具變化以下:
ipfirewall--->ipchains--->iptables-->nftables(正在推廣)
Linux 2.0版內核中:包過濾機制爲ipfw,管理工具是ipfwadm。
Linux 2.2版內核中:包過濾機制爲ipchain,管理工具是ipchains。
Linux 2.4,2.6,3.0+版內核中:包過濾機制爲netfilter,管理工具是iptables。
Linux 3.1(3.13+)版內核中:包過濾機制爲netfilter,中間採起daemon動態管理防火牆,管理工具是firewalld。
# 目前低版本的firewalld經過調用iptables(command),它能夠支持老的iptables規則(在firewalld裏面叫作直接規則),
# 同時firewalld兼顧了iptables,ebtables,ip6tables的功能。
3. iptables和nftables
nftables
nftables誕生於2008年,2013年末合併到Linux內核,從 Linux 3.13起開始做爲iptables的替代品提供給用戶。
它是新的數據包分類框架,新的linux防火牆管理程序,旨在替代現存的 {ip,ip6,arp,eb}_tables,它的用戶空間管理工具是nft。
因爲iptables的一些缺陷,目前正在慢慢過渡用nftables替換iptables,同時因爲這個新的框架的兼容性,
因此nftables也支持在這個框架上運行直接iptables這個用戶空間的管理工具。
nftables實現了一組被稱爲表達式的指令,可經過在寄存器中儲存和加載來交換數據。
也就是說,nftables的核心可視爲一個虛擬機,nftables的前端工具nft能夠利用內核提供的表達式去模擬舊的iptables匹配,
維持兼容性的同時得到更大的靈活性。
而將來最新的firewalld(0.8.0)默認使用將使用nftables。詳情能夠看www.firewalld.org
iptables、nftables和firewalld之間的區別與聯繫
firewalld同時支持iptables和nftables,將來最新版本(0.8.0)默認將使用nftables。
簡單的說firewalld是基於nftfilter防火牆的用戶界面工具。而iptables和nftables是命令行工具。
firewalld引入區域的概念,能夠動態配置,讓防火牆配置及使用變得簡便。
準確的說:iptables(command)的最底層是netfilter,它的用戶空間管理工具是iptables
nftables(command)是iptables(command) 的一個替代品併兼容iptables(command),最底層依然是netfilter,它的用戶空間管理工具是nft,
同時將來firewalld最新版(0.8.0)也將默認支持nftables(command)。https://firewalld.org/
iptables會把配置好的防火牆策略交給內核層的netfilter網絡過濾器來處理
firewalld會把配置好的防火牆策略交給內核層的nftables包過濾框架來處理
下圖爲iptables、firewalld、nftables之間的關係圖:
4. centos6.X到centos7.X
centos6.X:防火牆由netfilter和iptables構成。其中iptables用於制定規則,又被稱爲防火牆的用戶態;
而netfilter實現防火牆的具體功能,又被稱爲內核態。簡單地講,iptables制定規則,而netfilter執行規則。
centos7.X:防火牆在6.X防火牆的基礎之上提出了新的防火牆管理工具,提出了區域的概念,經過區域定義網絡連接以及安全等級。
5.怎樣學好防火牆的配置?
1)OSI7層模型以及不一樣層對應哪些協議必須很熟悉 # 基礎必備
2)TCP/IP三次握手,四次斷開的過程,TCP HEADER,狀態轉換 # 基礎必備
3)經常使用的服務端口要很是清楚瞭解。 # 基礎必備
4)經常使用服務協議的原理,特別是http協議,icmp協議。 # 基礎必備
5)可以熟練的利用tcpdump和wireshark進行抓包並分析,這樣會更好 # 拓展
6)對計算機網絡有研究,至少基本路由交換要很熟悉 # 拓展
六、企業中安全配置原則
儘量不給服務器配置外網IP,能夠經過代理轉發或者經過防火牆映射。
併發不是特別大狀況有外網IP,能夠開啓防火牆服務。
大併發的狀況,不能開iptables,影響性能,利用硬件防火牆提高架構安全。