我們都清楚Net-filter是Linux的一種防火牆機制。而Firewalld是一個在網絡區域(networks zones)的支持下動態管理防火牆的守護進程。早期的RHEL版本和CentOS 6使用iptables這個守護進程進行數據包過濾。而在RHEL/CentOS 7和Fedora 21中,iptables接口將被firewalld取代。
由於iptables可能會在未來的版本中消失,所以建議從現在起就使用Firewalld來代替iptables。話雖如此,現行版本仍然支持iptables,而且還可以用YUM命令來安裝。不過可以肯定的是,在同一個系統中不能同時運行Firewalld和iptables,否則可能引發沖突。
在iptables中需要配置INPUT、OUTPUT和FORWARD CHAINS。而在Firewalld中新引入了區域(Zones)這個概念。默認情況下,firewalld中就有一些有效的區域(zones),這也是本文將要討論的內容。
基礎區域如同公共區域(public zone)和私有區域(private zone)。為了讓作業在這些區域中運行,需要為網絡接口添加特定區域(specified zone)支持,好讓我們往firewalld中添加服務。
默認情況下就有很多生效的服務。firewalld最好的特性之一就是,它本身就提供了一些預定義的服務,而我們可以以這些預定義的服務為模版,復制之以添加我們自己的服務。
Firewalld還能很好地兼容IPv4、IPv6和以太網橋接。在Firewalld中,我們可以有獨立的運行時間和永久性的配置。接下來讓我們看看如何在區域(zones)中作業、創建我們的服務以及更好的利用firewalld這個防火牆機制吧。
測試環境如下:
Operating System : CentOS Linux release 7.0.1406 (Core)
IP Address: 192.168.0.55
Host-name: server1.tecmintlocal.com
步驟1:安裝Firewalld組件
1.Firewalld組件在RHEL/CentOS 7和Fedora 21默認已經安裝了。如果沒有可以使用如下YUM命令進行安裝。
# yum install firewalld -y
2.安裝完畢,查看一下iptables是否正在運行。如果是,你需要用以下命令來stop和mask(不再使用)iptables。
# systemctl status iptables
# systemctl stop iptables
# systemctl mask iptables
步驟2:Firewalld組件的討論
3.在進行firewalld配置之前,我想來討論一下區域(zones)這個概念。默認情況就有一些有效的區域。我們需要網絡接口分配區域。區域規定了區域是網絡接口信任或者不信任網絡連接的標准。區域(zone)包含服務和端口。接下來讓我們討論Firewalld中那些有用的區域(zones)。
現在你對區域有個很好的認識了,讓我們使用以下的命令來找出有用的區域、默認區域以及列出所有的區域吧。
# firewall-cmd --get-zones
# firewall-cmd --get-default-zone
# firewall-cmd --list-all-zones
注意:以上命令的輸出不僅僅只有單頁,因為它將會列出每種區域如block、dmz、drop、external、home、internal、public、trusted以及work。如果區域還有其它詳細規則(rich-rules)、啟用的服務或者端口,這些區域信息也會分別被羅列出來。
翻譯:sogreen 想了解作者請訪問linux公社
Linux公社原創翻譯頻道:http://www.linuxidc.com/topicnews.aspx?tid=15
更多詳情見請繼續閱讀下一頁的精彩內容: http://www.linuxidc.com/Linux/2015-02/113206p2.htm