iptables规则备份和恢复、firewalld的9个zone、以及firewalld关于zone和service的操作 使用介绍

第7周第5次课(5月11日)

课程内容:

10.19 iptables规则备份和恢复
10.20 firewalld的9个zone
10.21 firewalld关于zone的操作
10.22 firewalld关于service的操作

 

10.19 iptables规则备份和恢复

iptables规则的备份和恢复,默认会把规则保存到/etc/sysconfig/iptables 这个路径,如果需要保存到其他路径,可以使用命令iptables-save > /tmp/ipt.txt

以上就是保存的规则,filter里面是没有规则的。

[root@jimmylinux-002 ~]# iptables-restore < /tmp/ipt.txt  恢复规则的命令

备份的规则只有在恢复的时候用到它,如果服务器一重启就想要加载,那么就需要把规则保存到配置文件中去/etc/sysconfig/iptables

 

10.20 firewalld的9个zone

之前把firewalld禁用了,打开了iptables,现在要重新打开firewalld。

查看iptables规则会出现很多内容,里面的就是默认的firewalld规则。

[root@jimmylinux-002 ~]# iptables -t nat -nvL

firewalld默认有9个zone,zone是firewalld的一个单位,默认zone为public,每个zone就好比是一个规则集。

[root@jimmylinux-002 ~]# firewall-cmd --get-zones  查看所有zone

[root@jimmylinux-002 ~]# firewall-cmd --get-default-zone  查看默认zone

不同zone的定义

 

10.21 firewalld关于zone的操作

操作实例如下

如果ens37也是显示no zone,需要把这个路径/etc/sysconfig/network-scripts/下面的ens33复制一份成ens37,再写下配置文件,然后重启下网络服务,重启完网络服务后再加载下firewalld服务。

[root@jimmylinux-002 network-scripts]# cp ifcfg-ens33 ./ifcfg-ens37  复制一份ens33并改为ens37

[root@jimmylinux-002 network-scripts]# vim /etc/sysconfig/network-scripts/ifcfg-ens37  编辑配置文件并修改IP

[root@jimmylinux-002 ~]# systemctl restart network.service  重启网络服务
[root@jimmylinux-002 ~]# systemctl restart firewalld  重新加载firewalld服务

这个时候再查看指定网卡默认的zone,ens33和ens37都是work了。

[root@jimmylinux-002 ~]# firewall-cmd --zone=dmz --add-interface=ens37  也可以给指定网卡设置zone

firewall-cmd --get-active-zones  查看系统所有网卡所在的zone

以上命令都是关于zone的一些操作

 

10.22 firewalld关于service的操作

所谓service就是zone下面的一个子单元,可以理解成指定的一个端口,因为防火墙无非就是对端口做一些限制。

firewall-cmd --get-services  查看系统中所有的servies

[root@jimmylinux-002 ~]# firewall-cmd --get-default-zone  查看当前的zone

[root@jimmylinux-002 ~]# firewall-cmd --list-service  查看当前zone(work)里面都有哪些service

firewall-cmd --zone=public --add-service=http //把http服务增加到public zone下面,再查看就多出刚才添加的服务了。

现在仅仅是在内存里把zone增加了service,如果想把配置保存到配置文件去,按照下面方法操作。

同样的方法把http写入到配置文件

目前已经有4个service

 

etc下面是系统firewalld服务所用到的配置文件,每当改完之后把它永久保存,都会把旧的作为一个备份加上一个后缀名.old,同样除了zone还有service,默认情况service下面是没有东西的,因为还没有更改过任何的service配置文件。

zone也好service也好,其实都是有一个模板的,在这个路径/usr/lib/firewalld/zones/ 下面,一共有9个模板。

实例需求:把ftp服务默认端口改为1121,并且需要在work zone下面放行ftp 

第一步需要更改ftp服务,第二步把ftp的service加到work zone下面去。

操作步骤如下:

①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 //重新加载

最后检查一下,如果有ftp就说明操作成功。

以上就是关于service的一些操作

 

总结:

firewalld服务有2个角色,一个是zone,一个是service,zone是它的规则集合,每个zone下面都有对应的iptables规则,而每个zone下面有一些service,如果有这个service,就会作为白名单,放行这个service。如果遇到需求,放行某一个服务,那么就把这个服务增加到它的配置文件里面去,再重新reload就可以了,至于service也是可以自定义的。

 

 

 

 

 

 

 

 

posted @ 2018-05-10 17:56  吉米乐享驿站  阅读(441)  评论(0编辑  收藏  举报