大家好!
昨日在 Youtube 發現了 3 個短片,看完後,完全恍然大悟!困惑多年的我,現在總算把這一塊給補起來了。跟著短片介紹,開始了成功的第一步。從第一條防火牆的規則建立,到現在我已經可以快速建立非常多條的規則,也都能立刻驗證確認規則效果。
非常感謝這位講師拋磚引玉!
真的非常適合初學者的 3 個短片,完全免費,好康又精彩,推薦給大家。
詳細如下:
https://aii2016.wordpress.com/2016/05/22/linux-iptable-beginner/
wiss075 wrote:
還是說iptable無法做更新第七層特徵碼,與其他業者的防火牆相比之下太陽春呢?...(恕刪)
Linux 管理網路的核心模組,叫做:netfilter
iptables 和 firewalld 都是 netfilter 的設定軟體(應用軟體)。實際在作用的是 netfilter。
他們之間的關係,用寫程式來比喻的話:
netfilter 是編譯器,而 iptables 和 firewalld 都是程式語言。一般沒人會直接去控制編譯器,而是用文字軟體去寫程式腳本,在交給編譯器去編譯。
也就是說:無論防火牆腳本是用 iptables 還是 firewalld 去寫,最終都是 Linux 核心內的 netfilter模組 在運行的。能力/性能 是一樣的。
最近很多新的 Linux Distro 發行版(例如 CnetOS 7),都改用 firewalld 作為預設防火牆管理軟體,但也可以設定為繼續用 iptables。把 firewalld套件 移除掉,安裝 iptables套件 即可。
firewalld 的特點是:
------------------------
● 入門簡易(適合初階使用者)
● 刷新規則時不會中斷已經建立的連線。
iptables
-------------------
● 指令複雜,參數繁多,要經過學習才能基本駕馭,而要精通得下很大的功夫。(適合專業使用者)
● 刷新規則會中斷所有連線。
● iptables 比較強大,它不單只是防火牆,還有 NAT、PREROUTER...等等的表格,給封包貼標籤的功能,兼具一部分路由過濾功能。例如:Load Balance 多線負載平衡(多重路由),還有 QoS 頻寬管制,各線路之間的權重分配,就必須搭配 iptables 的功能才能運作。
兩者語法不相通。已經懂其中一個,想用另一個得重新學習。
為什麼最近很多新的發行版,預設用 firewalld ?
雖然 iptables 強大,但太過於複雜,不熟悉的人就容易讓系統產生安全漏洞。所以為了安全性考量,預設套件改為較簡易的 firewalld。但如果想用 iptables 的人,仍是可以改為使用 iptalbes 。
至於 GUI 圖形界面,那個是在 iptables 之後,又設計了簡易的 GUI。就可以讓防火牆設定變得簡單易用。只是 GUI 圖形界面設定範圍有限,如果要更進階複雜的管理,還是又得回到打指令或寫腳本。
GUI 不是萬能的,比喻像 windows ,多數情況只要滑鼠點就行了,但有時候不也是要去 cmd 打一些指令。
***************************
防火牆(核心 netfilter 模組)是作用在 OSI 模型的 Level 2~4
OSI 模型,等級愈低,愈偏向硬體或系統核心。等級愈高,是偏向軟體或使用者界面。


Leval 7 軟體應用層,過濾封包檔頭特徵碼的,Linux 下有一個專門負責的軟體叫做:L7-filter。
L7-filter 的處理優先順序,是在 netfilter 防火牆之後。
Router OS 應該是 Linux 核心的
如果 BSD 核心的,BSD 有另外一套防火牆核心模組,設定軟體也不一樣。
市面的硬體防火牆,韌體固件(ROM) 大都 Linux 或 BSD 核心,其中一種,因為核心免費授權(GPL 或 BSD 授權),廠商只需創作使用者界面,和賣那個硬體。
核心的開發是非常高技術含量,耗費巨資的,省掉核心費用,就省了很多成本。
只有少數是獨創的,像 Cisco 思科,它的 OS 是它獨創的,有專利的,貴鬆鬆。
免費開源的核心(自由軟體),不見得就會輸獨創(封閉專利)的。
自由軟體的全球志工開發者眾多,程式碼公開,也很多人在除錯,如果有漏洞被發現,短時間內就會更新。
封閉專利的OS,就那間公司的人在開發和除錯而已。如果有外人發現漏洞,又故意不告知該公司的人,那漏洞就會被少數知道的人一直利用。