10.19 iptables规则备份和恢复
10.20 firewalld的9个zone
10.21 firewalld关于zone的操作
10.22 firewalld关于service的操作
10.19iptables的保存和备份
iptbales的规则都是保存在/etc/sysconfig/iptables里面
service iptables save:保存规则到配置文件中
iptables-save >文件名:把当前规则备份到指定文件里
[root@kun0769 ~]# iptables-save > /tmp/backup.txt
iptables-restore < 文件名:把文件中规则还原出来
[root@kun0769 ~]# iptables-restore < /tmp/backup.txt
当然也可以直接cp配置文件来备份
[root@kun0769 ~]# cp /etc/sysconfig/iptables /tmp/iptables.bak
10.20/10.21/10.22 firewalld
firewalld是CentOS7上默认使用的防火墙工具,其中firewalld中有9个zone,默认使用public
我们先把iptbales服务停止并启动firewalld服务
[root@kun0769 ~]# systemctl disable iptables ##禁止iptables开机启动
[root@kun0769 ~]# systemctl stop iptables ##停止iptables服务
[root@kun0769 ~]# systemctl enable firewalld ##允许firewalld开机启动
[root@kun0769 ~]# systemctl start firewalld ##开启firewalld服务
firewalld中的9个zone,zone相当于是规则的集合 每个zone都对应不同的规则 比喻开发某些端口或者禁掉某些端口等
firewall-cmd --get-zones:查看9个zone
[root@kun0769 ~]# firewall-cmd --get-zones
block dmz drop external home internal public trusted work
firewall-cmd --get-default-zone:查看默认的zone
[root@kun0769 ~]# firewall-cmd --get-default-zone ##系统默认zone是public
public
firewall-cmd --set-default-znne:更改默认的zone
[root@kun0769 ~]# firewall-cmd --set-default-zone=home ##把默认的zone改为home
success
[root@kun0769 ~]# firewall-cmd --get-default-zone ##默认zone是home
home
firewall-cmd --get-zone-of-interface=网卡名:查看指定网卡的zone
[root@kun0769 ~]# firewall-cmd --get-zone-of-interface=ens33 ##ens33没有任何的zone
no zone
firewall-cmd --zone=zone名 --add-interface=网卡名:为指定的网卡设置zone
[root@kun0769 ~]# firewall-cmd --zone=internal --add-interface=ens33 ##指定ens33的zone为internal
success
[root@kun0769 ~]# firewall-cmd --get-zone-of-interface=ens33
internal
firewall-cmd --zone=zone名 --change-interface=网卡名:更改指定的网卡的zone
[root@kun0769 ~]# firewall-cmd --zone=work --change-interface=ens33 ##更改ens33的zone为work
success
[root@kun0769 ~]# firewall-cmd --get-zone-of-interface=ens33
work
firewall-cmd zone=zone名 --remove-interface=网卡名:移除指定网卡的指定zone
[root@kun0769 ~]# firewall-cmd --zone=work --remove-interface=ens33 ##在ens33上移除workzone
success
[root@kun0769 ~]# firewall-cmd --get-zone-of-interface=ens33
no zone
firewall-cmd --get-active-zones:查看所有网卡的zone
[root@kun0769 ~]# firewall-cmd --get-active-zones
work
interfaces: ens33
service是zone下的组成部分 相当于是zone里面的白名单
firewall-cmd --get-services:查看系统所有的service
firewall-cmd --list-services:查看默认zone的service
[root@kun0769 ~]# firewall-cmd --list-services
ssh mdns samba-client dhcpv6-client
firewall-cmd --zone=zone名 --list-services:查看指定zone中的service
[root@kun0769 ~]# firewall-cmd --zone=public --list-services
ssh dhcpv6-client
firewall-cmd --zone=zone名 --add-service=服务:添加服务到指定的zone下
[root@kun0769 ~]# firewall-cmd --zone=home --add-service=http ##把http服务添加到hone里
success
[root@kun0769 ~]# firewall-cmd --zone=home --list-services
ssh mdns samba-client dhcpv6-client http
firewall-cmd--zone=zone名 --remove-service=服务:移除指定zone下的服务
[root@kun0769 ~]# firewall-cmd --zone=home --remove-service=samba-client ##home下移除samba-client
success
[root@kun0769 ~]# firewall-cmd --zone=home --list-services
ssh mdns dhcpv6-client http
其中service里面的服务可以更改端口的 其中serveices的配置文件在 /etc/firewalld/services/ 目录下,zone的配置文件在/etc/firewalld/zones/目录下 而service和zone的模版文件分别在于 /usr/lib/firewalld/services/ 和 /usr/lib/firewalld/zones/ 下
--permanent:同时更改配置文件 不加数据只在内存中存放
[root@kun0769 ~]# ls /etc/firewalld/zones/ ##只有pubic的配置文件
public.xml public.xml.old
[root@kun0769 ~]# firewall-cmd --zone=work --add-service=http --permanent ##work中添加http服务并生成配置文件
success
[root@kun0769 ~]# ls /etc/firewalld/zones/ ##生成了work.xml
public.xml public.xml.old work.xml
ftp服务自定义端口1121,需要在home zone下面放行ftp
1.把ftp的模版文件复制到services配置文件里 并修改端口为1121
[root@kun0769 ~]# cp /usr/lib/firewalld/services/ftp.xml /etc/firewalld/services/ftp.xml
[root@kun0769 ~]# vim !$
2.把home的模版文件复制到zone配置文件里 并添加ftp
[root@kun0769 ~]# cp /usr/lib/firewalld/zones/home.xml /etc/firewalld/zones/home.xml
[root@kun0769 ~]# vim !$
3.重新加载配置文件
[root@kun0769 ~]# firewall-cmd --reload
success
[root@kun0769 ~]# firewall-cmd --zone=home --list-service ##home上已经添加了ftp
ssh mdns samba-client dhcpv6-client ftp