RHEL新一代的防火牆使用技術:firewalld

作   者:蔡長欣 精誠資訊 恆逸教育訓練中心 資深講師
技術分類:網路管理與通訊應用

Red Hat Enterprise Linux 7 (以下簡稱 RHEL7 ) 自2014年6月10日起推出後,就讓不少過去使用Red Hat Linux管理員不習慣,因許多重大改變,如:systemd 啟動daemon方式、系統內建User的uid自1000為預設、系統內建防火牆改採firewalld、Ethernet bonding、iSCSI configure、NTP configure等,都是讓管理員得注意的系統變革重點。

過去在netfilter.org被Linux Kernel作為防火牆的iptables,在RHEL7如要達成防火牆的佈建任務,仍可使用相容於過去 iptables 的相關語法與設定;但本篇介紹是在 RHEL7採用的新技術:firewalld;它是一項在Fedora上先推出的防火牆控管技術,得以動態微調防火牆設定,可將其比擬為過去iptables的custom chain設定,但使用方法相形之下,就簡單許多。

在 RHEL7的firewalld中,就有內建不同的九個zone來滿足不同的需求,以下先試舉三例:
1. trusted:允許對本機所有的存取要求 2. drop:拋棄所有對本機的incoming存取要求 3. home:除ssh、mdns、ipp-client、samba-client、dhcpv6-client外,對內存取一律阻絕

所以,假設我們目前在不同的RHEL6或RHEL7系統上需要相同的防火牆設定,在系統與套件完成安裝後,RHEL6要使用 iptables 撰寫,熟手管理員可能要花上十分鐘左右來處理設定;而在 RHEL7,因為已有pre-define上述的zone,只需執行兩行指令就達成任務(在此假設管理員暫選用home的zone使用):
#firewall-cmd --set-default-zone=home
#firewall-cmd –reload

如上所言,是的;只有兩行,不到一分鐘的設定與執行;這如同許多企業在選用防火牆設備時,會搭配不同介面、不同使用情境,就直接選用原本在防火牆設定中的不同使用條件。而 RHEL7也希望管理員未來能搭配這樣的管理模式,來達成工作需求異動時能快速應變 (像是搭配虛擬機器的網路等切換,如原訂語法有不充分的地方,firewalld的rich language也能夠擴展更豐富的語法,滿足近似原iptables的需求;另外,如管理人員或使用者在使用GNOME圖形工具時,希望能夠串接firewalld 的限制行為,也可利用PolicyKit與D-BUS來進行應用程式啟用防火牆功能的行為,這些強大的功能,就不是原iptables辦得到的了。

無獨有偶的,過去在Linux系統需要設定相關網路組態,也多以撰寫好設定檔(預設相關網路介面卡的設定在:/etc/sysconfig/network-scripts下),檔案妥善後,再啟用來套用所需要的網路組態;但現在成熟的Network Manager搭配的CLI工具:nmcli,不僅可讓設定到位與套用得在彈指間達成,更不需要冗長的設定步驟與變數記憶,得搭配讓過去不能支援的Channel Bonding能夠使用,且上手更快更方便,而RHEL7這波對管理員有利的改變,正是化繁為簡最好的印證。



Share |
您可在下列課程中了解更多技巧喔!
相關學習資源︰

【RHCE】Red Hat紅帽RHCE認證課程