linux下防火墻的管理工具firewall-cmd
作為內核的管理軟件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