iptables規則保存,默認保存的位置路徑:/etc/sysconfig/iptables文件裏;網絡
service iptables save
iptables規則備份到指定路徑ssh
iptables-save > /tmp/ipt.txt
iptables恢復規則能夠選項將/etc/sysconfig/iptables文件作備份,也可使用下面命令將輸出的文件恢復:tcp
iptables-restore < /tmp/ipt.txt
鑑於上節課作實驗咱們關閉了firewalld打開了iptables,咱們須要關閉iptables和開啓firewalldrest
1.關閉iptablescode
systemctl disable iptables #禁用開機啓動 systemctl stop iptables #中止iptables
2.啓用firewalldxml
systemctl enable firewalld #設置開機啓動 systemctl start firewalld #啓動firewalld
3.從新查看規則發現默認規則已經和以前不一樣,說明已經更改過來ip
iptables -nvL
firewalld默認有9個zone,zone是firewalld的最小單位,默認zone爲public;utf-8
查看firewalld的9個zone的命令路由
[root@yolks1 ~]# firewall-cmd --get-zones block dmz drop external home internal public trusted work
查看firewalld默認使用的zonerem
[root@yolks1 ~]# firewall-cmd --get-default-zone public
上面9個zone的簡介:
設定默認的zone爲work
[root@yolks1 ~]# firewall-cmd --set-default-zone=work success [root@yolks1 ~]# firewall-cmd --get-default-zone work
查看指定網卡所在的zone
[root@yolks1 ~]# firewall-cmd --get-zone-of-interface=ens33 work
給指定網卡設置zone
[root@yolks1 ~]# firewall-cmd --zone=home --add-interface=ens33 The interface is under control of NetworkManager, setting zone to 'home'. success [root@yolks1 ~]# firewall-cmd --get-zone-of-interface=ens33 home
針對網卡更改zone
[root@yolks1 ~]# firewall-cmd --zone=work --change-interface=ens33 The interface is under control of NetworkManager, setting zone to 'work'. success [root@yolks1 ~]# firewall-cmd --get-zone-of-interface=ens33 work
針對網卡刪除zone
firewall-cmd --zone=work --remove-interface=ens33
查看系統全部網卡所在的zone
[root@yolks1 ~]# firewall-cmd --get-active-zones work interfaces: ens33
在/usr/lib/firewalld/services/目錄中,還保存了另一類配置文件,每一個文件對應一項具體的網絡服務,如ssh服務等。
與之對應的配置文件中記錄了各項服務所使用的tcp/udp端口,在最新版的firewalld中默認已經定義了70多種服務供咱們使用。
zone就是調用了不一樣的service而實現了不一樣的效果。
列出當前系統全部的service
firewall-cmd --get-service
查看當前zone下有哪些service
firewall-cmd --list-services
查看指定zone下有哪些service
firewall-cmd --zone=public --list-services
把http和ftp增長到public zone下面(臨時保存)
[root@yolks1 ~]# firewall-cmd --zone=public --add-service=http --add-service=ftp success
以修改配置文件來增長service
[root@yolks1 ~]# firewall-cmd --zone=public --add-service=http --permanent success
查看zone對應的配置文件(配置文件在/etc/firewalld/zones/下,每次修改完配置文件,他都會把舊的配置文件後綴名加上.old也保存在目錄下)
[root@yolks1 ~]# ls /etc/firewalld/zones/ public.xml public.xml.old [root@yolks1 ~]# cat /etc/firewalld/zones/public.xml #查看配置文件 <?xml version="1.0" encoding="utf-8"?> <zone> <short>Public</short> <description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description> <service name="ssh"/> <service name="dhcpv6-client"/> <service name="http"/> </zone>
在**/usr/lib/firewalld/services下保存的是services的模板
在/usr/lib/firewalld/zone下保存的是zone**的模板
需求:把ftp服務自定義端口1121,須要在work zone下面放行ftp
1.複製模板到service下
cp /usr/lib/firewalld/services/ftp.xml /etc/firewalld/services
2.修改ftp的配置文件,修改端口1121
3.複製模板到zones下
cp /usr/lib/firewalld/zones/work.xml /etc/firewalld/zones/
4.修改work.xml的配置文件,把ftp加到裏面
5.從新查看workzone的服務
[root@yolks1 ~]# firewall-cmd --zone=work --list-service ssh dhcpv6-client ftp