firewalld 的9個zone及相關操作

1、firewalld 的9個zone

firewalld 的9個zone及相關操作

前面將 firewalled 關閉,打開了 iptables,現在需要先關閉 iptables ,再開啓 firewalld ,具體操作見下圖,
firewalld 的9個zone及相關操作
接着查看一下規則,輸入命令 iptables -nvL ,回車,見下圖,
firewalld 的9個zone及相關操作
firewalld 的9個zone及相關操作
firewalld 的9個zone及相關操作
可以看到,規則明顯增加非常多,都是 firewalld 自帶的規則。不僅僅是 filter 表,nat 表裏面也有規則,見下圖,
firewalld 的9個zone及相關操作
firewalld 的9個zone及相關操作
firewalld 默認有 9 個 zone,默認的 zone 爲 public,zone 可以理解爲 firewalld 的單位、規則集。
查看所有的 zone ,輸入命令 firewall-cmd --get-zones,回車。查看默認的 zone,輸入命令 firewall-cmd --get-default-zone,回車,見下圖,
firewalld 的9個zone及相關操作
接着來查看一下,這9個 zone 的區別,見下圖,
firewalld 的9個zone及相關操作

2、firewalld 關於 zone 的操作

firewalld 的9個zone及相關操作

現在來設定默認的 zone,輸入命令 firewall-cmd --set-default-zone=work,回車,見下圖,
firewalld 的9個zone及相關操作
接着查看指定網卡,輸入命令 firewall-cmd --get-zone-of-interface=ens33,回車,見下圖,
firewalld 的9個zone及相關操作
一起查看了 ens37、lo 網卡的默認 zone。這邊的 ens37 默認沒有 zone,就需要將它更改爲默認 work。需要更改一下配置文件,然後再重啓一下網絡服務和 firewalld。最後輸入命令 systemctl restart firewalld,具體見下圖,
firewalld 的9個zone及相關操作
然後輸入命令 vi /etc/sysconfig/network-scripts/ifcfg-ens37 ,回車,見下圖,
firewalld 的9個zone及相關操作
將上圖紅色框框的內容更改一下,保存並退出。然後重啓網絡服務,輸入命令 systemctl restart network.service ,回車,見下圖,
firewalld 的9個zone及相關操作
接着再重啓一下 firewalld,輸入命令 systemctl restart firewalld 。現在重啓一下系統,再來查看 ens37 的zone,見下圖,
firewalld 的9個zone及相關操作
ens37 的默認zone 設置成功了。
接下來給指定網卡設置 zone,輸入命令 firewall-cmd --zone=dmz --add-interface=ens37,回車。輸入命令 firewall-cmd --zone=public --add-interface=lo,回車,見下圖,
firewalld 的9個zone及相關操作
接下來針對指定網卡更改 zone,輸入命令 firewall-cmd --zone=block --change-interface=ens37,回車,見下圖,
firewalld 的9個zone及相關操作
接下來針對指定網卡刪除 zone,輸入命令 firewall-cmd --zone=block --remove-interface=ens37,回車,見下圖,
firewalld 的9個zone及相關操作
可以看到 ens37 的 zone 又變成默認的 work 了。
接着查看系統所有網卡所在的 zone,輸入命令 firewall-cmd --get-active-zones,回車,見下圖,
firewalld 的9個zone及相關操作

3、firewalld 關於 service 的操作

firewalld 的9個zone及相關操作

service 是 zone 下面的子單元,可以理解爲指定的端口。防火牆就是針對某一個端口做限制。現在來查看一下所有的 service,輸入命令 firewall-cmd --get-services,回車,見下圖,
firewalld 的9個zone及相關操作
這邊的 service,可加可不加,結果都一樣。
接着查看當前 firewall-cmd 下的 zone,輸入命令 firewall-cmd --get-default-zone,回車,再查看當前 zone 下有哪些 service,輸入命令 firewall-cmd --list-services,回車,見下圖,
firewalld 的9個zone及相關操作
查看指定 zone 下的 service,輸入命令 firewall-cmd --zone=public --list-services,回車,見下圖,
firewalld 的9個zone及相關操作
通常用的 public 中的 work 比較多,接下來針對 public 做一些操作,把 http 增加到 public zone 下面,輸入命令 firewall-cmd --zone=public --add-service=http,回車,見下圖,
firewalld 的9個zone及相關操作
以上的更改沒有寫入配置文件,想要寫入配置文件,輸入命令 firewall-cmd --zone=public --add-service=ftp --permanent,回車,見下圖,
firewalld 的9個zone及相關操作
查看文件的時候,可以看到 ftp,沒有 http,因爲 http 增加到 public zone 下的時候,沒有寫入配置文件。
將 http 以同樣的方式寫入到配置文件中,見下圖,
firewalld 的9個zone及相關操作
每一次更改 zone 的配置文件,/etc/firewalld/zones/ 下都會生成一個新的文件 public.xml 和一箇舊的備份文件 public.xml.old 。
firewalld 的9個zone及相關操作
service 也是一樣的,只不過它裏面沒有東西。,因爲我們還沒有更改任何東西。
zone 和 service 都是有模板文件的,在 /usr/lib/firewalld/zones/ 和 /etc/lib/firewalld/services/ 裏面,見下圖,
firewalld 的9個zone及相關操作
可以看到,都是 xml 文件。

接下來做一個需求:ftp 服務自定義端口 1121,需要在 work zone 下面放行 ftp。
輸入命令 cp /usr/lib/firewalld/services/ftp.xml /etc/firewalld/services ,回車,然後輸入命令 vi /etc/firewalld/services/ftp.xml ,回車,見下圖,
firewalld 的9個zone及相關操作
更改上圖紅色框框的內容爲1121,保存並退出。
接着往下操作,輸入命令 cp /usr/lib/firewalld/zones/work.xml /etc/firewalld/zones/ ,回車,再輸入命令 vim /etc/firewalld/zones/work.xml ,回車,見下圖,
firewalld 的9個zone及相關操作
增加一行上圖紅色框框的內容,保存並退出。然後重新加載服務,輸入命令 firewall-cmd --reload ,回車,見下圖,
firewalld 的9個zone及相關操作
然後檢查一下,輸入命令 firewall-cmd --zone=work --list-services,回車,可以看到 ftp 。

以上就是關於 services 的一些操作。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章