在CentOS系统中,防火墙是保护服务器免受恶意攻击的重要工具。本文将详细介绍如何设置CentOS防火墙,以确保系统的安全防护。

一、防火墙概述

防火墙是一种网络安全设备,用于监控和控制进出网络的数据流。在CentOS系统中,常见的防火墙工具有iptables和firewalld。本文将重点介绍firewalld的使用。

二、firewalld简介

firewalld是CentOS 7及以上版本推荐的防火墙工具,它提供了更灵活和简单的管理方式。

2.1 firewalld特点

  • 基于服务而非端口
  • 动态管理
  • 支持网络区域
  • 支持IPv6

2.2 firewalld配置文件

firewalld的配置文件位于/etc/firewalld/目录下,主要包括以下文件:

  • firewalld.conf:主配置文件
  • services.xml:服务配置文件
  • zones.xml:区域配置文件
  • policy.xml:策略配置文件

三、firewalld基本操作

3.1 启动和关闭firewalld

# 启动firewalld
systemctl start firewalld

# 关闭firewalld
systemctl stop firewalld

3.2 查看firewalld状态

# 查看firewalld状态
systemctl status firewalld

3.3 开机启动firewalld

# 开机启动firewalld
systemctl enable firewalld

四、firewalld配置

4.1 添加服务

# 添加SSH服务
firewall-cmd --add-service=ssh

# 添加HTTP服务
firewall-cmd --add-service=http

4.2 添加端口

# 添加80端口
firewall-cmd --add-port=80/tcp

# 添加3306端口
firewall-cmd --add-port=3306/tcp

4.3 设置区域

# 设置默认区域
firewall-cmd --set-default-zone=public

# 添加自定义区域
firewall-cmd --new-zone=custom

4.4 设置规则

# 允许来自192.168.1.0/24网段的流量
firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" accept'

# 允许来自特定IP的SSH连接
firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="22" accept'

五、firewalld高级配置

5.1 阻止特定服务

# 阻止HTTP服务
firewall-cmd --remove-service=http

5.2 阻止端口

# 阻止80端口
firewall-cmd --remove-port=80/tcp

5.3 阻止特定IP

# 阻止来自192.168.1.0/24网段的流量
firewall-cmd --zone=public --remove-rich-rule='rule family="ipv4" source address="192.168.1.0/24" accept'

六、总结

通过本文的介绍,相信您已经掌握了在CentOS系统中设置防火墙的方法。正确配置防火墙可以有效保护您的服务器免受恶意攻击,确保系统安全稳定运行。