centos防火墙设置方法

在 CentOS 中,防火墙是通过 firewalld 服务管理的。
firewalld 提供了灵活的管理规则的方式,并支持动态修改防火墙配置。

下面是一些常用的 firewalld 操作和用法:

1. 检查防火墙状态

查看防火墙是否正在运行:

bash 复制代码
sudo systemctl status firewalld

检查当前防火墙的状态和配置:

bash 复制代码
sudo firewall-cmd --state sudo firewall-cmd --list-all

2. 启动和停止防火墙

启动防火墙:

bash 复制代码
sudo systemctl start firewalld

停止防火墙:

bash 复制代码
sudo systemctl stop firewalld

重启防火墙:

bash 复制代码
sudo systemctl restart firewalld

使防火墙在系统启动时自动启动:

bash 复制代码
sudo systemctl enable firewalld 

禁止防火墙在系统启动时自动启动:

bash 复制代码
sudo systemctl disable firewalld 

3. 配置区域

防火墙使用区域(zones)来组织规则。每个区域定义了一组规则,可以分配给不同的网络接口。

列出所有可用区域:

bash 复制代码
sudo firewall-cmd --list-all-zones 

查看当前网络接口所在的区域:

bash 复制代码
sudo firewall-cmd --get-active-zones

将接口分配到特定区域,例如,将 eth0 接口分配到 public 区域:

bash 复制代码
sudo firewall-cmd --zone=public --change-interface=eth0

4. 添加和删除服务

防火墙规则通常是基于服务的。可以使用以下命令添加或删除服务规则:
允许特定服务通过防火墙(例如,HTTP 服务):

bash 复制代码
sudo firewall-cmd --zone=public --add-service=http --permanent

删除服务(例如,HTTP 服务):

bash 复制代码
sudo firewall-cmd --zone=public --remove-service=http --permanent

切记更新后要重新加载防火墙配置,否则不生效
重新加载防火墙配置 (在使用 --permanent 选项后):

bash 复制代码
sudo firewall-cmd --reload

5. 添加和删除端口

允许特定端口通过防火墙(例如,端口 8080):

bash 复制代码
sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent

删除端口规则(例如,端口 8080):

bash 复制代码
sudo firewall-cmd --zone=public --remove-port=8080/tcp --permanent

切记更新后要重新加载防火墙配置,否则不生效

重新加载防火墙配置 (在使用 --permanent 选项后):

bash 复制代码
sudo firewall-cmd --reload

6. 设置默认区域

设置默认区域(例如,将 public 设为默认区域):

bash 复制代码
sudo firewall-cmd --set-default-zone=public

7. 配置服务和端口的临时规则

如果只需要临时添加规则而不修改永久配置,可以省略 --permanent 选项:
临时允许 HTTP 服务

bash 复制代码
sudo firewall-cmd --zone=public --add-service=http 

临时允许端口 8080

bash 复制代码
sudo firewall-cmd --zone=public --add-port=8080/tcp

8. 查看和修改现有规则

查看已添加的服务

bash 复制代码
sudo firewall-cmd --zone=public --list-services

查看已添加的端口

bash 复制代码
sudo firewall-cmd --zone=public --list-ports 

查看所有规则

bash 复制代码
sudo firewall-cmd --list-all

9. 添加自定义规则

你可以添加自定义的规则,使用 rich rules
添加允许特定 IP 地址访问特定端口 (例如,允许 IP 192.168.1.100 访问端口 3306):

bash 复制代码
sudo firewall-cmd --zone=public --add-rich-rule='rule family=\"ipv4\" source address=\"192.168.1.100\" port port=\"3306\" protocol=\"tcp\" accept' --permanent

删除自定义规则

bash 复制代码
sudo firewall-cmd --zone=public --remove-rich-rule='rule family=\"ipv4\" source address=\"192.168.1.100\" port port=\"3306\" protocol=\"tcp\" accept' --permanent 

10. 查看和管理日志

启用和查看防火墙日志

bash 复制代码
sudo firewall-cmd --set-log-denied=all

查看防火墙日志

防火墙日志通常会被记录在 /var/log/messages 或其他系统日志文件中。可以使用 grepless 命令查看日志:

bash 复制代码
sudo grep 'firewalld' /var/log/messages

使用这些基本命令和配置选项,你可以有效地管理和配置 CentOS 上的防火墙。

相关推荐
Hello.Reader14 小时前
Flink ZooKeeper HA 实战原理、必配项、Kerberos、安全与稳定性调优
安全·zookeeper·flink
wdfk_prog15 小时前
[Linux]学习笔记系列 -- [drivers][input]input
linux·笔记·学习
智驱力人工智能15 小时前
小区高空抛物AI实时预警方案 筑牢社区头顶安全的实践 高空抛物检测 高空抛物监控安装教程 高空抛物误报率优化方案 高空抛物监控案例分享
人工智能·深度学习·opencv·算法·安全·yolo·边缘计算
七夜zippoe15 小时前
CANN Runtime任务描述序列化与持久化源码深度解码
大数据·运维·服务器·cann
盟接之桥15 小时前
盟接之桥说制造:引流品 × 利润品,全球电商平台高效产品组合策略(供讨论)
大数据·linux·服务器·网络·人工智能·制造
数据与后端架构提升之路15 小时前
论系统安全架构设计及其应用(基于AI大模型项目)
人工智能·安全·系统安全
忆~遂愿15 小时前
ops-cv 算子库深度解析:面向视觉任务的硬件优化与数据布局(NCHW/NHWC)策略
java·大数据·linux·人工智能
湘-枫叶情缘16 小时前
1990:种下那棵不落叶的树-第6集 圆明园的对话
linux·系统架构
Fcy64816 小时前
Linux下 进程(一)(冯诺依曼体系、操作系统、进程基本概念与基本操作)
linux·运维·服务器·进程
袁袁袁袁满16 小时前
Linux怎么查看最新下载的文件
linux·运维·服务器