1. 程式人生 > >linux下防火墻的管理工具firewall-cmd

linux下防火墻的管理工具firewall-cmd

firwall-cmd

關於firewalld

作為內核的管理軟件firewall-cmd,通過使用這個軟件來間接管理linux內核的開啟與關閉等等,而firewall-cmd軟件也本身支持firewall-cmd(命令)firewall-config(圖形管理工具)兩種管理模式來管理kerne lnetfilte。

配置文件:/usr/lib/firewalld//etc/firewalld/中的各種XML文件裏


Firewall能將不同的網絡連接歸類到不同的信任級別,Zone提供了以下幾個級別:

drop:丟棄所有進入的包,而不給出任何響應

block:拒絕所有外部發起的連接,允許內部發起的連接

public:允許指定的進入連接

external:

同上,對偽裝的進入連接,一般用於路由轉發

dmz:允許受限制的進入連接

work:允許受信任的計算機被限制的進入連接,類似workgroup

home:同上,類似homegroup

internal:同上,範圍針對所有互聯網用戶

trusted:信任所有連接

技術分享圖片

1)安裝 yum install firewall -y (一般都會裝機時候自帶)

firewall-config ------firewalld 的圖形管理工具

runtime : 改了當時生效,但所systemctl restart firewall 後就失效了。

permanent : y永久性生效,但是寫完之後必須systemctl restart firewall

技術分享圖片

所有永久性的更改會保存在 /usr/lib/firewall/zones/ 目錄下的對應xml文件中,比如下圖就是保存在了/usr/lib/firewall/zones/public.xml文件中。

技術分享圖片

2)命令firewall-cmd 添加各種功能

firewall-cmd --state ------------查看火墻狀態

firewall-cmd --get-default-zone ----------查看默認域

firewall-cmd --get-active-zones ---------------查看當前生效域的狀態

firewall-cmd -get-zones -------------查看存在的所有域

技術分享圖片


firewall-cmd --zone=public --list-all ------------------查看public域的所有信息

技術分享圖片


firewall-cmd --list-all-zones --------------查看所有域的所有信息

技術分享圖片

firewall-cmd --set-default-zone=home ---------------將默認域設置為home

技術分享圖片

3)高級命令設置

1、firewall-cmd -zone=public --add-source=172.25.254.50/24 ---------將172.25.254.50的主機添加到本機public塊中,使得它可以訪問本地資源


技術分享圖片

firewall-cmd --zone=public --remove-source=172.25.254.50/24 --------------移除172.25.254.50 主機。

技術分享圖片

firewall-cmd --remove-intenface=eth0 ------------刪除接口eth0

技術分享圖片

firewall-cmd --add-interface=eth0 -----------添加接口eth0.

技術分享圖片

firewall-cmd --permanent --remove-port=80/tcp ----------------刪除端口80

技術分享圖片

firewall-cmd --reload 和 firewall-cmd --complete-reload的區別:

firewall-cmd --reload在執行之後並不會將正在運行的服務打斷,而firewall-cmd --complete-reload 將會把正在運行的服務打斷,比如先將172.25.254.50 通過ssh連接主機172.25.254.220,然後在將50主機加入到block域中,最後執行firewall-cmd --complete-reload 命令時候50主機將會連輸入字符的機會都沒有了。所以說通過firewall-cmd --complete-reload 可以隨時禁止哪臺主機。

技術分享圖片

3)DirectRules

通過 firewall-cmd工具,可以使用--direct選項在運行時間裏增加或者移除鏈。如果不熟悉iptables,使用直接接口非常危險,因為您可能無意間導致防火墻被入侵。直接端口模式適用於服務或者程序,以便在運行時間內增加特定的防火墻規則。直接端口模式添加的規則優先應用。


參數:filter(本地數據限制):-s源地址,-d目的地址,-p協議,--dport端口,-j行為/REJECT拒絕/ACCEPT同意/DROP丟棄)

firewall-cmd--direct --add-rule ipv4 filter IN_public_allow 0 -p tcp --dport 80-jACCEPT ---添加規則

firewall-cmd--direct --get-all-rules ---列出規則


firewall-cmd --direct -add -rule ipv4 filter INPUT 1 -s 172.25.254.50 -p tcp -dport 22 -j REJECT ----------拒絕50主機的22端口訪問。

技術分享圖片

4)RichRules

通過該方法,可以用比直接接口方式更易理解的方法建立復雜防火墻規則。此外,還能永久保留保留設置,這種語法使用關鍵詞值。

主要參數:source源地址,destination目的地址,service服務名稱,port端口,protocol協議名

地址偽裝示例:

技術分享圖片

連接220主機,但是220主機成功將連接請求轉到了50主機。


技術分享圖片




















linux下防火墻的管理工具firewall-cmd