防火墙是根据系统管理员设定的规则来控制数据包的进出,主要是保护内网的安全。
目前Linux系统的防火墙主要有两种,分别是: 静态防火墙和动态防火墙。
(静态防火墙和动态防火墙不会同时进行使用)
早期的Linux系统中默认使用的是iptables 防火墙,配置文件是在 /etc/syconfig/iptables 下,主要是工作在网络层。
由于iptables 防火墙使用的是链式规则,所以只可以过滤互联网的数据包,无法过滤从内网到内网的数据包。
iptables 只可以通过命令进行配置
iptables 默认是允许所有,需要通过拒绝去做限制
iptables 修改了规则以后必须要全部刷新才可以生效,还会丢失连接(无法守护进程)
动态防火墙,取代了之前的iptables 防火墙,配置文件是在 : /usr/lib/firewall 和 /etc/firewalld 中,主要是工作在 网络层 中 。
动态防火墙新增的区域的概念,不仅可以过滤互联网中的数据包,也可以过滤内网的数据包。
firewalld 不仅可以通过命令进行配置,也可以通过图形化界面配置
firewalld 默认是拒绝所有的,需要通过允许去进行放行
firewall 可以修改动态单条规则,动态管理规则集合 (允许更新规则从而不破坏现有会话和连接,可以守护进程)
sudo systemctl status firewalld 查看firewalld 防火墙的状态
sudo systemctl status iptables 查看iptables 防火墙的状态(如果系统使用的是静态防火墙的话)
sudo yum install firewall 基于RPM的系统安装 firewalld
sudo apt install firewalld 基于Debian 的系统(如 Ubuntu),虽然通常不预先安装firewalld ,但是也可以使用apt 命令进行安装
sudo systemctl start firewalld 启动firewalld 服务
sudo systemctl stop firewalld 关闭firewalld 服务
sudo systemctl enable firewalld 开机自动启动 firewalld
sudo systemctl disable firewalld 禁止务开机自动启动 firewalld
sudo apt install iptables
sudo yum install iptables
(对于CentOS 8 及更高的版本,要使用dnf install iptables)
sudo yum check-update
sudo dnf check-update
安装firewalld :
sudo yum install firewalld
sudo dnf install firewalld