1. 程式人生 > >Linux學習總結(二十六)防火墻規則之firewalld

Linux學習總結(二十六)防火墻規則之firewalld

firewalld iptables

一iptables 規則備份

service iptables save //會把規則保存到/etc/sysconfig/iptables
把iptables規則備份到my.ipt文件中
iptables-save > my.ipt
恢復剛才備份的規則
iptables-restore < my.ipt

二 firewalld

首先我們接著以前的實驗要關閉netfilter 打開firewalld

systemctl  disable iptables
systemctl  stop  iptables
systemctl  enable firewalld
systemctl  start  firewalld

firewalld 有9個zone
firewall-cmd --get-zones 查看所有的zone
block dmz drop external home internal public trusted work
我們看下具體含義
技術分享圖片
1 設定默認的zone
firewall-cmd --set-default-zone=work
2 查看zone
firewall-cmd --get-default-zone 查看默認的的zone
firewall-md --get-zone-of-interface=ens33 //指定網卡查看設定的zone
firewall-cmd --get-active-zones

//查看系統所有網卡所在的zone
3 配置zone
firewall-cmd --zone=public --add-interface=lo//給指定網卡設置zone
firewall-cmd --zone=dmz --change-interface=lo //針對網卡更改zone
firewall-cmd --zone=dmz --remove-interface=lo //針對網卡刪除zone
4 service 概念 :
針對端口,放行服務,靠zone調用
firewall-cmd --get-services //查看所有的servies
firewall-cmd --list-services //查看當前zone下有哪些service
firewall-cmd --zone=public --add-service=http //把http增加到public zone下面
firewall-cmd --zone=pugblic --remove-service=http //刪除服務
ls /usr/lib/firewalld/zones/ //zone的配置文件模板
firewall-cmd --zone=public --add-service=http --permanent //更改配置文件,之後會在/etc/firewalld/zones目錄下面生成配置文件
5 需求:ftp服務自定義端口1121,需要在work zone下面放行ftp
cp /usr/lib/firewalld/services/ftp.xml /etc/firewalld/services
vi /etc/firewalld/services/ftp.xml //把21改為1121
cp /usr/lib/firewalld/zones/work.xml /etc/firewalld/zones/
vi /etc/firewalld/zones/work.xml //增加一行
<service name="ftp"/>
firewall-cmd --reload //重新加載
firewall-cmd --zone=work --list-services //查看work下面是否有ftp

小結
放行某個服務,分兩步操作:

  1. 復制對應的service 模板到 指定的配置文件目錄下 /etc/firewalld/services
    模板都是.xml結尾的文件,在/usr/lib/firewalld/services/
    編輯該配置文件,修改端口號
  2. 復制對應的zone 模板到 指定路徑下 /etc/firewalld/zones/
    模板路徑為/usr/lib/firewalld/zones/
    編輯該配置文件增加相應服務名稱即可,例如<service name="ftp"/>
  3. 重新加載服務 firewall-cmd --reload

Linux學習總結(二十六)防火墻規則之firewalld