文章目录
- 序言
- 什么是firewall?
- firewall功能?
- 与iptables的异同?
- 区别
- 常用命令?
- 策略配置
序言
以前做防火墙总是喜欢用iptables,包括centos7出来以后还是改不了这个习惯,centos7新增了firewall,不用不知道,用起来,“真香”!
这是之前转载的一篇IPtables文章
什么是firewall?
通过有机结合各类用于安全管理与筛选的软件和硬件设备,帮助计算机网络于其内、外网之间构建一道相对隔绝的保护屏障,以保护用户资料与信息安全性的一种技术,就是firewall,当然我们这里只说的软件应用。
firewall功能?
主要在于及时发现并处理计算机网络运行时可能存在的安全风险、数据传输等问题,其中处理措施包括隔离与保护,同时可对计算机网络安全当中的各项操作实施记录与检测,以确保计算机网络运行的安全性,保障用户资料与信息的完整性,为用户提供更好、更安全的计算机网络使用体验。
总的来说,就是你服务器的三级甲!!!
与iptables的异同?
看了这么多,那firewall与iptables有什么异同呢?
相同点
它们都是 linux 中防火墙的管理程序,但其实主要作用是管理策略,,真正的执行者是内核中的netfilter
Netfilter是Linux2.4.x引入的一个子系统,它作为一个通用的、抽象的框架,提供一整套的hook函数的管理机制,使得诸如数据包过滤、网络地址转换(NAT)和基于协议类型的连接跟踪成为了可能。
不同点
iptables 仅能通过命令行进行配置;而 firewalld 提供了图形接口,类似windows防火墙的操作方式
iptables 每一个单独更改意味着清除所有旧的规则,并从 /etc/sysconfig/iptables 中读取所有新的规则;而 firewalld 在有规则变动后,可以仅仅运行规则中的不同之处,即在 firewalld 运行时间内,改变设置时可以不丢失现行链接
iptables 的配置文件在 /etc/sysconfig/iptables 中;而 firewalld 的配置文件在 /usr/lib/firewalld/ 和 /etc/firewalld/ 中的各种 XML 文件中
iptables 没有守护进程,并不能算是真正意义上的服务;而 firewalld 有守护进程
iptables 通过控制端口来控制服务,而 firewalld 则是通过控制协议来控制端口
区别
- firewalld可以动态修改单条规则,动态管理规则集,允许更新规则而不破坏现有会话和连接。iptables修改后,哪怕只是一条,也要全部刷新。
- firewalld默认是拒绝的,需要设置放行策略;iptables默认是允许的,需要限制。
- firewalld自身并不具备防火墙的功能,而是和iptables一样需要通过内核的netfilter来实现。也就是说,firewalld和iptables一样,它们的作用都用于维护规则,而真正使用规则干活的是内核的netfilter。
- firewalld是iptables的一个封装,可以让你更容易地管理iptables规则。它并不是iptables的替代品,虽然iptables命令仍可用于firewalld,但建议firewalld时仅使用firewalld命令。
常用命令?
#控制程序
firewall-cmd
#查看版本
[root@0010 ~]# firewall-cmd --version
0.6.3
#查看帮助
firewall-cmd --help
success
#启动服务
systemctl start firewalld.service
#停止服务
systemctl stop firewalld.service
#开机自启
systemctl enable firewalld.service
#取消开机自启
systemctl disable firewalld.service
策略配置
#显示开放端口的状态
firewall-cmd --list-ports 或者 firewall-cmd --zone=public --list-ports
#开放端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
#关闭端口
firewall-cmd --zone=public --remove-port=80/tcp --permanent
#允许某个ip访问80端口
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.1.1" port protocol="tcp" port="80" accept"
#删除某个ip策略
firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="192.168.1.1" port protocol="tcp" port="80" accept"
#查看转发策略
firewall-cmd --list-forward-ports
#更新规则[添加策略后都要reload]
[root@0010 ~]# firewall-cmd --reload
码字不易,希望大家