在CentOS 7中,firewalld
是一个动态管理防火墙的守护进程,提供了基于区域的网络流量管理,以下是关于firewalld
的详细介绍和常见问题解答:
介绍
1、基本概念:
firewalld
是CentOS 7及以后版本中引入的默认防火墙管理工具,它取代了传统的iptaBLes
。
firewalld
使用区域(zone)和服务的概念来管理防火墙规则,提供了更灵活和动态的控制。
区域定义了网络连接的信任级别,每个区域都可以有不同的规则来管理流入和流出的流量。
服务是预定义的规则集,代表了一组端口和协议,便于管理。
2、安装与启动:
firewalld
通常默认安装在CentOS 7上,如果没有安装,可以使用以下命令进行安装:
sudo yum install firewalld y
启动并设置为开机自启动:
sudo systemctl start firewalld sudo systemctl enable firewalld
3、基本配置:
查看当前区域和规则:
sudo firewallcmd getactivezones
添加和删除服务或端口:
# 添加HTTP服务 sudo firewallcmd zone=public addservice=http permanent # 删除HTTP服务 sudo firewallcmd zone=public removeservice=http permanent # 添加端口8080 sudo firewallcmd zone=public addport=8080/tcp permanent # 删除端口8080 sudo firewallcmd zone=public removeport=8080/tcp permanent
重新加载防火墙规则以使其生效:
sudo firewallcmd reload
常见问题解答
1、问题一:如何查看防火墙是否运行以及状态?
答案:使用以下命令可以查看防火墙的状态:
sudo systemctl status firewalld
或者使用简短命令查看状态:
sudo firewallcmd state
2、问题二:如何开放或关闭特定端口?
答案:开放端口示例:
sudo firewallcmd zone=public addport=80/tcp permanent
关闭端口示例:
sudo firewallcmd zone=public removeport=80/tcp permanent
3、问题三:如何允许或禁止特定的IP地址访问?
答案:允许特定IP访问示例(假设IP为192.168.1.100):
sudo firewallcmd zone=public addrichrule='rule family="ipv4" source address="192.168.1.100" accept' permanent
禁止特定IP访问示例(假设IP为192.168.1.100):
sudo firewallcmd zone=public addrichrule='rule family="ipv4" source address="192.168.1.100" drop' permanent