一.firewalld
動态防火牆背景程式提供了一個動态管理的防火牆,用以支援網絡“zone”,以配置設定對一個網絡及其相關連結和界面一定程度上的信任。它具備對IPV4和
IPV6防火牆設定的支援。它支援以太網橋,并有分離運作時間和永久性配置選擇。它還具備一個通向服務或者應用程式以直接增加防火牆規則的接口。
系統提供了圖像化的配置工具firewall-config、system-config-firewall,提供指令行用戶端firewall-
cmd,用于配置firewalld永久性運作時間的改變:它依次用iptables工具與執行資料包篩選的核心中的Netfilter通信。
firewalld和iptables service之間最本質的不同是:
1)iptables service在/etc/sysconfig/iptables中存儲配置,而firewalld将配置存儲在/usr/lib/firewalld/和 /etc/firewalld/ 中的各種XML檔案裡。
2)使用iptables service每一個單獨更改意味着清楚所有舊的規則和從
/etc/sysconfig/iptables 裡讀取所有新的規則,然而使用firewalld卻不會建立任何新的規則;僅僅運作規則中的不同之處。此,firewalld可以在運作時間内,改變設定而不丢失現行連接配接。
二.配置參數
1.firewalld的網絡“zone”

firewall-cmd --get-zones 檢視可用區域
firewall-cmd --state 檢視firewalld的狀态
firewall-cmd --get-default-zone 檢視目前預設活動的區域
firewall-cmd --get-default-zone=trusted 修改預設區域為trusted,可以接受任何連接配接
2.firewall-cmd --get-default-zone=trusted 修改預設區域為trusted,可以接受任何連接配接
4.firewall-cmd --list-all 檢視防火牆政策
firewall-cmd --add-service=http 防火牆添加通過http服務
firewall-cmd --reload 重新加載
5.使用配置檔案添加防火牆通過服務
編輯/etc/firewalld/zones/public.xml
6.設定防火牆通過8080端口
測試前修改http預設通路端口,無法浏覽
添加8080端口後可以通路
7.允許172.25.254.228主機通路任何連接配接,将172.25.254.228添加到trusted域中
8.删除添加的服務
三.Direct Rules
通過firewall-cmd工具,可以使用
--direct選項在運作時間裡增加或者移除鍊。如果不熟悉iptables,使用直接接口非常危險,因為泥坑無意間導緻防火牆被入侵。直接端口模式,适用于服務或者程式,以便在運作時間内增加特定的防火牆規則。直接端口模式添加的規則優先應用。
1.firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 ! -s 172.25.254.228
-p tcp --dport 22 -j ACCEPT
除了228主機22端口不能通路,其他主機22端口都可通路
測試228主機,顯示無法通路,别的主機可以
2.firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 1 -s 172.25.254.228
-p tcp --dport 80 -j REJECT
除了228主機80端口不能通路,其他主機80端口都可通路
3.删除第二條政策
四.不同網卡接口的通路設定
1.eth0和eth1都屬于public域
2.将eth1網口從public域調整到trusted域中
3.與eth0連接配接的網段無法通路服務,因為有public域的限制
4.與eth1連接配接的網段可以通路服務,因為eth1在trusted域
五.Rich Rules
通過“rich language”文法,可以用比直接接口方式更易了解的方法建立複雜防火牆規則。此外,還能永久保留設定。這種語言使用關鍵詞值,是iptables工具的抽象表示,這種語言可以用來配置分區,也仍然支援現行的配置方式。
環境配置
服務端兩塊網卡 eth0 172.25.254.128
eth1 172.25.0.128
用戶端IP 172.25.0.228
真機 172.25.254.28
服務端firewall-cmd --add-masqueeade 開啟位址僞裝
1.端口轉換 真機到用戶端
将從172.25.254.28的22端口 僞裝為172.25.0.228的22端口
測試,從真機進入到服務端128,顯示的網卡為172.25.0.228
2.位址僞裝 客戶機到真機
将從客戶傳過來的資料僞裝為172.25.254.128端口的源資料
用戶端登陸真機,顯示域名為www.westos.com服務端128主機,僞裝成功
六.允許非系統端口的服務通過防火牆(httpd服務修改端口為例)
1.防火牆通過http
2.修改http的端口為6666
3.添加系統http預設端口
由于修改後無法重新開機服務
原因是系統預設允許的http端口沒有6666
添加6666端口到http的預設端口清單中
重新開機服務成功
4.通路http6666端口成功