firewalld 操作指南

Firewalld简介:

firewalld是centos7的一大特性,firewalld同时拥有命令行终端和图形化界面的配置工具,相比于iptables对火墙的管理更加容易上手但没有iptables控制精准,最大的好处有两个:支持动态更新,不用重启服务;第二个就是加入了防火墙的zone概念,以分配对一个网络及其相关链接和界面一定程度的信任。支持以太网桥并有分离运行时间及永久配置选择,并且还具备一个通向服务或者应用程序以直接增加防火墙规则的接口

简单来说就是为用户预先准备了几套防火墙策略集合(策略模板),然后可以根据生产场景的不同而选择合适的策略集合,实现了防火墙策略之间的快速切换。

例如有一台笔记本电脑每天都要在办公室、咖啡厅和家里使用,按常理推断最安全的应该是家里的内网,其次是公司办公室,最后是咖啡厅,如果需要在办公室内允许文件共享服务的请求流量、回到家中需要允许所有的服务,而在咖啡店则是除了上网外不允许任何其他请求,这样的需求应该是很常见的,在以前只能频繁的进行手动设置,而现在只需要预设好zone区域集合,然后轻轻点击一下就可以切换过去了上百条策略了,极大的提高了防火墙策略的应用效率
 

firewalld 操作指南_第1张图片

firewalld的域:

firewalld 操作指南_第2张图片

  • 在企业为中我们如果不想对一些用户开放网络连接,长将其加入到block域中(有回复),这样对方在收到无法访问的回复时,就不会继续请求访问,而当我们将其加入到drop域中,用户不会收到回复,就会一直请求访问,这样是占用我们系统资源的。
  • firewalld将配置存储在 /use/lib/firewalld/ 和 /etc/firewalld/ 中的各种XML文件里

启用firewalld:

systemctl stop iptables              //本次实验是测试firewalld对火墙策略的影响,因此关闭iptables

systemctl disable iptables

systemctl mask iptables           //将ipyables关闭冻结

yum install firewalld fireewall-config -y       //安装支持服务的相关软件

systemctl unmask firewalld

systemctl start firewalld

systemctl enable firewalld        //解冻并打开firewalld,设定开机自启

使用命令行接口配置防火墙:

先了解firewalld策略的参数:

--state                         ##查看服务状态

--get-default-zone      ##查询默认的区域名称。
--set-default-zone=<区域名称>       ##设置默认的区域,不需要reload或者重启服务,是即改即生效,并且是永久的
--get-zones         ##显示可用的区域名称。
--get-services      ##显示预先定义的服务。
--get-active-zones      ##显示当前正在使用的区域与网卡名称。
--add-source=       ##将来源于此IP或子网的流量导向指定的区域。
--remove-source=        ##不再将此IP或子网的流量导向某个指定区域。
--add-interface=<网卡名称>      ##将来自于该网卡的所有流量都导向某个指定区域。
--change-interface=<网卡名称>       ##将某个网卡与区域做关联。
--list-all      ##显示当前区域的网卡配置参数,资源,端口以及服务等信息。
--list-all-zones        ##显示所有区域的网卡配置参数,资源,端口以及服务等信息。
--add-service=<服务名>         ##设置默认区域允许该服务的流量。
--add-port=<端口号/协议>     ##允许默认区域允许该端口的流量。
--remove-service=<服务名>      ##设置默认区域不再允许该服务的流量。
--remove-port=<端口号/协议>      ##允许默认区域不再允许该端口的流量。
--reload        ##让“永久生效”的配置规则立即生效,覆盖当前的

显示firewalld的基础信息:

firewalld 操作指南_第3张图片

将默认的域设定为trusted

firewalld 操作指南_第4张图片

  • trusted支持所有网络连接

将某一ip及子网的流量导向指定域:

firewalld 操作指南_第5张图片

 

firewalld 操作指南_第6张图片

//将来源于172.25.254.68及其子网的流量加入到trusted域中

 

firewalld 操作指南_第7张图片

//可以访问

firewalld 操作指南_第8张图片

//不再将来源于172.25.254.68及其子网的流量加入到trusted域中

firewalld 操作指南_第9张图片

//无法访问apache

firewalld对网卡的管理:

firewalld 操作指南_第10张图片

firewalld 操作指南_第11张图片

firewalld 操作指南_第12张图片

firewalld对服务及接口的管理:

firewalld 操作指南_第13张图片

firewalld 操作指南_第14张图片

firewalld 操作指南_第15张图片

 

  • 注意reload不会刷掉在更新之前使用旧策略的用户,而compete-reload是完全刷新

firewalld 操作指南_第16张图片

firewalld 操作指南_第17张图片

  • 注意火墙对服务的管理其实就是对端口的管理

直接更改文件来添加策略

各个域的配置文件 /etc/firewalld/zones

[root@iscsi-server zones]# ls

public.xml public.xml.old ROL.xml //因为只写了这些,old放的是之前的 

打开public.xml,里面对应的行 添加

那么刚刚的进程 nf_conntrack_ftp 18638 0 (文件一旦更改就会产生,但是需要火墙策略读到,不然也没用,在5之前需要手动添加)

//会直接运行,但是火墙还没有读到,需要firewalld-cmd --reload就好了

对172.25.254.9实现访问信任模式

[root@iscsi-server zones]# firewall-cmd --permanent --add-source=172.25.254.9 --zone=trusted

[root@iscsi-server zones]# firewall-cmd  --permanent --add-source=172.25.254.0/24 --zone=trusted   //对172.25.254.0/24网段的添加到信任域 删除

[root@iscsi-server zones]# firewall-cmd --permanent --remove-source=172.25.254.9 --zone=trusted  success

[root@iscsi-server zones]# firewall-cmd --permanent --remove-source=172.25.254.0/24 --zone=trusted  success
 

你可能感兴趣的:(firewalld 操作指南)