一.firewalld簡介網絡
動態防火牆後臺程序提供了一個動態管理的防火牆,用以支持網絡「zone」,以分配對一個網絡及其相關連接和界面必定程度上的信任。它具有對IPV4和 IPV6防火牆設置的支持。它支持以太網橋,並有分離運行時間和永久性配置選擇。它還具有一個通向服務或者應用程序以直接增長防火牆規則的接口。tcp
系統提供了圖像化的配置工具firewall-config、system-config-firewall,提供命令行客戶端firewall- cmd,用於配置firewalld永久性運行時間的改變:它依次用iptables工具與執行數據包篩選的內核中的Netfilter通訊。ide
firewalld和iptables service之間最本質的不一樣是:工具
1)iptables service在/etc/sysconfig/iptables中存儲配置,而firewalld將配置存儲在/usr/lib/firewalld/和 /etc/firewalld/ 中的各類XML文件裏。測試
2)使用iptables service每個單獨更改意味着清楚全部舊的規則和從 /etc/sysconfig/iptables 裏讀取全部新的規則,然而使用firewalld卻不會建立任何新的規則;僅僅運行規則中的不一樣之處。此,firewalld能夠在運行時間內,改變設置而不丟失現行鏈接。spa
二.配置參數命令行
1.firewalld的網絡「zone」xml
firewall-cmd --get-zones 查看可用區域接口
firewall-cmd --state 查看firewalld的狀態ip
firewall-cmd --get-default-zone 查看當前默認活動的區域
firewall-cmd --get-default-zone=trusted 修改默認區域爲trusted,能夠接受任何鏈接
2.firewall-cmd --get-default-zone=trusted 修改默認區域爲trusted,能夠接受任何鏈接
3.firewall-cmd --list-all 查看防火牆策略
firewall-cmd --add-service=http 防火牆添加經過http服務
firewall-cmd --reload 從新加載
4.使用配置文件添加防火牆經過服務
編輯/etcfirewalld/zones/public.xml
5.設置防火牆經過8080端口
測試前修改http默認訪問端口,沒法瀏覽
添加8080端口後能夠訪問
6.容許172.25.254.224主機訪問任何鏈接,將172.25.254.224添加到trusted域中
7.刪除添加的服務
三.Direct Rules
經過firewall-cmd工具,可使用 --direct選項在運行時間裏增長或者移除鏈。若是不熟悉iptables,使用直接接口很是危險,由於泥坑無心間致使防火牆被***。直接端口模式,適用於服務或者程序,以便在運行時間內增長特定的防火牆規則。直接端口模式添加的規則優先應用。
1.firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 ! -s 172.25.254.224 -p tcp --dport 22 -j ACCEPT
除了224主機22端口不能訪問,其餘主機22端口均可訪問
測試224主機,顯示沒法訪問,別的主機能夠
2.firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 1 -s 172.25.254.224 -p tcp --dport 80 -j REJECT
除了224主機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.124
eth1 172.25.0.124
客戶端IP 172.25.0.224
真機 172.25.254.24
服務端firewall-cmd --add-masqueeade 開啓地址假裝
1.端口轉換 真機到客戶端
將從172.25.254.24的22端口 假裝爲172.25.0.224的22端口
測試,從真機進入到服務端128,顯示的網卡爲172.25.0.224
2.地址假裝 客戶機到真機
將從客戶傳過來的數據假裝爲172.25.254.124端口的源數據
ifconfig查看
六.容許非系統端口的服務經過防火牆(httpd服務修改端口爲例)
1.防火牆經過http
2.修改http的端口爲6666
3.添加系統http默認端口
因爲修改後沒法重啓服務
緣由是系統默認容許的http端口沒有6666
添加6666端口到http的默認端口列表中
重啓服務成功
4.訪問http6666端口成功