七周五次课(5月10日)
10.19 iptables规则备份和恢复
10.20 firewalld的9个zone
10.21 firewalld关于zone的操作
10.22 firewalld关于service的操作
iptables的规则备份和恢复
service iptables save会把配置保存到配置文件中 /etc/sysconfig/iptables
如果不想保存在这 可以使用
iptables-save > 文件路径
如果想恢复之前的iptables表,就使用
iptables-restore <文件路径
iptables -t nat -F 是将nat表的规则清空,然后查看无规则。接着restore后查看, 规则重新出现。看下图。
Linux防火墙 firewalled
firealled是之后centos7以及以后版本可能会使用的一个工具,所以需要将iptables关闭,打开firewalld
相对来说 firewalld自带的规则相对iptables比较多。以下就是firewalld自带的规则。不仅仅是filter 也包括nat表,链也比较多。
firewalld默认是9个zone 默认zone为public 。一个zone就是一个规则集。
firewall-cmd --get-zones 查看所有的zone
firewall-cmd --get-default-zone查看默认的zone
不同zone的区别
firewalld关于zone的操作
默认的zone是可以修改的
firewall-cmd --set-default-zone=work 将work更改为默认的zone
firewall-cmd --get-zone-of-interface=ens33 查网卡的zone。如果no zone的话可以将ens33的配置文件拷贝一份给37然后修改对应的网络文件。然后重启网络服务以及重启firewalld。
也可以手动给指定的网卡设置zone
firewall-cmd --zone=public --add-interface=lo 给指定网卡设置zone
但是如果需要修改成功的话,需要先将NetworkManager关闭。systemctl stop NetworkManager why?
firewall-cmd --zone=dmz --change-interface=lo
针对网卡更改zone
删除当前的zone
firewall-cmd --zone=dmz--remove-interface=ens37
注意还是牵涉到一个networkmanager的开启问题。why
查看所有的生效的网卡
firewall-cmd --get-active-zones
firewalld service操作
所谓的防火墙就是针对端口做一些限制,service可以理解为是zone下面的端口的操作。
比如http 是操作80端口 ssh 是21端口 https是43端口
查看所有的service
firewall-cmd --get-services
查看当前默认的zone下都有哪些服务呢?
firewall-cmd --list-services
如果是查找对应的zone的service呢?
firewall-cmd --zone=public --list-services
在某个zone下面添加service,比如下面就是给public的zone添加http服务
firewall-cmd --zone=public --add-service=http
然后 firewall-cmd --zone=public --list-services
但是,目前只是在内存中给zone添加了service,如果想写入配置文件,需要添加一个选项 --permanent
firewall-cmd --zone=public --add-service=http --permanent
之后会在/etc/firewalld/zones目录下面生成配置文件
有意思的地方是,配置文件有更新的时候,旧的不会覆盖而是会备份。
同样 service也是有配置文件的,配置文件的目录是 /etc/firewalld/services/
在没有更改配置文件之前这里面是空的
实际上这些xml格式的保存文件是有模板的,保存在/ usr/lib/firewalld/zone下
同样 service也是有模板的 保存在/ usr/lib/firewalld/services下
做一个小练习。
需求:ftp默认端口21更改为1121,需要在work zone下进行放行ftp
更改ftp服务。步骤,将ftp模板拷贝到配置文件路径的service目录下。然后编辑把21端口改成1121
cp /usr/lib/firewalld/services/ftp.xml /etc/firewalld/services/
2. 将ftp服务放到work zone下。步骤 把work zone的模板文件拷贝到配置目录下,然后修改work.xml文件将ftp服务添加进去
3. 重新加载。 firewall-cmd --reload
in sum,
防火墙 firewall 下主要有zone和service,zone下的service有哪些service,那就说明给哪些service 放行了。
也可以自定义service,比如进去ftp.xml进去改port
转载于:https://blog.51cto.com/13691454/2115112