HCRM博客

如何配置和管理CentOS中的防火墙?

CentOS 防火墙(firewalld)

CentOS 7及更高版本中,默认的防火墙管理工具是firewalldfirewalld提供了动态的管理防火墙的能力,支持网络区域、服务、端口和源地址等配置,并且可以在不重启防火墙服务的情况下实时应用规则,本文将详细介绍firewalld的基础概念、常用命令及其实例操作。

如何配置和管理CentOS中的防火墙?-图1
(图片来源网络,侵权删除)

一、`firewalld`基础概念

1、区域(Zone)firewalld将网络接口分组到不同的区域中,每个区域可以定义一组预定义的安全规则,公共网络(puBLic)、家庭网络(home)、内部网络(internal)、工作网络(work)等,每个区域都有其特定的安全策略,如接受或拒绝来自不同来源的流量。

2、服务(Service):服务是一组预定义的规则集合,可以通过名称来指代一组特定的端口和协议,HTTP服务通常使用端口80,HTTPS服务通常使用端口443。

3、端口(Port):端口是用于标识网络服务的数字,每个网络服务都会监听特定的端口以便于通信,防火墙可以通过允许或者拒绝端口的访问来控制网络流量。

二、常用命令

查看防火墙状态

在开始操作之前,需要先确认防火墙的状态,可以使用以下命令查看:

systemctl status firewalld

如果显示“active (running)”则表示防火墙正在运行,如果显示“inactive (dead)”则表示防火墙已经关闭。

如何配置和管理CentOS中的防火墙?-图2
(图片来源网络,侵权删除)

启动/停止/重启Firewalld服务

启动:

  systemctl start firewalld

停止:

  systemctl stop firewalld

重启:

  systemctl restart firewalld

查看所有区域

firewallcmd getactivezones

查看指定区域的规则

firewallcmd zone=public listall

开放端口

要允许外部访问特定服务,需要在防火墙上开放相应的端口,开放SSH(默认端口22)和HTTP(端口80)服务:

sudo firewallcmd permanent addservice=ssh
sudo firewallcmd permanent addport=80/tcp

执行上述命令后,需要重载防火墙规则以应用更改:

sudo firewallcmd reload

删除规则

同样地,如果您想阻止特定端口或服务,可以使用removeservice或removeport选项:

sudo firewallcmd permanent removeservice=https
sudo firewallcmd permanent removeport=22/tcp
sudo firewallcmd reload

三、实例操作

开放SSH访问(端口22)

sudo firewallcmd permanent addservice=ssh
sudo firewallcmd reload

开放HTTP和HTTPS服务

sudo firewallcmd permanent addservice=http
sudo firewallcmd permanent addservice=https
sudo firewallcmd reload

将网络接口从默认的public区域移动到trusted区域

sudo firewallcmd permanent changeinterface=eth0 zone=trusted
sudo firewallcmd reload

禁止Ping请求

sudo firewallcmd permanent addrichrule='rule family="ipv4" source address="0.0.0.0/0" service name="icmp" accept'
sudo firewallcmd reload

允许特定IP访问SSH端口

sudo firewallcmd permanent addrichrule='rule family="ipv4" source address="192.168.1.100" port port="22" protocol="tcp" accept'
sudo firewallcmd reload

四、配置文件路径

firewalld的配置文件位于/etc/firewalld/目录下,其中主要的配置文件有:

1、firewalld.conffirewalld的主要配置文件。

2、zones:每个区域的配置文件都在这个目录下,例如public.xmlinternal.xml等。

3、services:包含每个服务的XML文件,例如http.xmlssh.xml等。

通过本文的学习,你应该对CentOS防火墙有了更深入的了解,并能够使用firewalld命令来配置和管理服务器的网络连接,记得根据实际需求和安全策略,及时更新防火墙规则,以确保服务器的安全性和稳定性,掌握这些基础操作后,建议进一步探索其高级特性,以满足更加复杂的网络安全需求,定期审查和更新防火墙规则是维护系统安全的重要环节。

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/11353.html

分享:
扫描分享到社交APP
上一篇
下一篇