CentOS 7之FirewallD与iptables的区别

介绍

FirewallD 即Dynamic Firewall Manager of Linux systems,Linux系统的动态防火墙管理器,是 iptables 的前端控制器,用于实现持久的网络流量规则。它提供命令行和图形界面,在大多数 Linux 发行版的仓库中都有。与直接控制 iptables 相比,使用 FirewallD 有两个主要区别:

  • FirewallD 使用区域和服务而不是链式规则。
  • FirewallD可以动态修改单条规则,而不需要像iptables那样,在修改了规则后必须得全部刷新才可以生效。

FirewallD自身并不具备防火墙的功能,而是和iptables一样需要通过内核的netfilter来实现,也就是说FirewallD和 iptables一样,他们的作用都是用于维护规则,而真正使用规则干活的是内核的netfilter,只不过FirewallD和iptables的结构以及使用方法不一样罢了。
CentOS 7之FirewallD与iptables的区别_第1张图片

FirewallD的使用

FirewallD的配置方法主要有三种:

firewall-config
firewall-cmd
直接编辑xml文件

其中 firewall-config是图形化工具,firewall-cmd是命令行工具,而对于linux来说大家应该更习惯使用命令行方式的操作,所以 firewall-config(适合用于桌面版)我们就不给大家介绍了。

安装配置

1、安装FirewallD
$ yum install firewalld firewall-config

2、运行、停止、禁用FirewallD

启动:
$ systemctl start  firewalld

开机启动时加载FirewallD服务
$ systemctl enable firewalld.service

查看状态:
$ systemctl status firewalld 或者 firewall-cmd --state

禁用:
$ systemctl disable firewalld

停止:
$ systemctl stop firewalld

systemctl mask firewalld

systemctl unmask firewalld

 

4、配置firewalld

查看版本:
$ firewall-cmd --version

查看帮助:
$ firewall-cmd --help

显示状态:
$ firewall-cmd --state

查看区域信息:
$ firewall-cmd --get-active-zones

查看指定接口所属区域:
$ firewall-cmd --get-zone-of-interface=eth0

拒绝所有包:
$ firewall-cmd --panic-on

取消拒绝状态:
$ firewall-cmd --panic-off

查看是否拒绝:
$ firewall-cmd --query-panic

更新防火墙规则:
$ firewall-cmd --reload
$ firewall-cmd --complete-reload

两者的区别就是第一个无需断开连接,就是firewalld特性之一动态添加规则,第二个需要断开连接,类似重启服务


将接口添加到区域,默认接口都在public:
$ firewall-cmd --zone=public --add-interface=eth0
永久生效再加上 --permanent 然后reload防火墙


设置默认接口区域:
$ firewall-cmd --set-default-zone=public
立即生效无需重启

 

打开端口(貌似这个才最常用)

查看所有打开的端口:
$ firewall-cmd --zone=dmz --list-ports

加入一个端口到区域:
$ firewall-cmd --zone=dmz --add-port=8080/tcp

若要永久生效方法同上
打开一个服务,类似于将端口可视化,服务需要在配置文件中添加,/etc/firewalld 目录下有services文件夹,这个不详细说了,详情参考文档
$ firewall-cmd --zone=work --add-service=smtp


移除服务
$ firewall-cmd --zone=work --remove-service=smtp

你可能感兴趣的:(Linux)