Linux防火墙基础部分Firewalld防火墙(小白入门级别)

🏡作者主页:************点击!****************

🐧Linux基础知识(初学):点击!****

🐧Linux高级管理防护和群集专栏:************点击!****************

🔐Linux中firewalld防火墙:点击!****

⏰️创作时间:2025年3月10日15点15分


目录

1.两大防火墙工具

2.firewalld的特点

3.firewalld与iptables的主要区别

4.firewalld不同区域

5.三种配置方法

防火墙基础案例

禁止Ping防火墙规则

允许SSH登录规则

允许apache流量规则

总结


作为一名系统管理员或开发者,你是否曾经被 Linux 防火墙配置搞得头大?在生产环境中,我们经常需要配置防火墙来保护服务器安全,但面对 iptables 和 firewalld 这两个工具,很多人都会觉得无从下手。别担心!这篇文章将用通俗易懂的方式,带你了解 CentOS 中的防火墙配置,并通过一个实际案例,手把手教你如何正确设置防火墙规则。

1.两大防火墙工具

  • firewalld:CentOS 7及以后版本的默认防火墙管理工具
  • iptables:传统的Linux防火墙管理工具

2.firewalld的特点

  • 动态管理防火墙
  • 支持网络/防火墙区域(zone)定义网络连接及接口的可信等级
  • 运行时配置和永久配置分离
  • 支持IPv4、IPv6
  • 支持以太网桥接

3.firewalld与iptables的主要区别

  • firewalld:
    • 动态配置,无需重启服务
    • 支持动态更改规则
    • 使用区域(zone)管理规则

配置文件存放地址:

复制代码
/etc/firewalld/               # 系统配置文件目录
/usr/lib/firewalld/          # 默认配置文件目录

注意:

  1. /etc/firewalld/:优先级高,用户配置目录
  2. /usr/lib/firewalld/:优先级低,默认配置目录
    • 系统升级时会覆盖此目录
    • 建议在/etc/firewalld/下修改配置
  • iptables service:

    • 静态配置,规则修改后需重启服务
    • 规则修改需要先清除旧规则
    • 使用链(chain)管理规则

配置文件存放地址:

复制代码
/etc/sysconfig/iptables      # 规则配置文件

4.firewalld不同区域

|----------|------------------------------------------------------------------------------|
| 区域 | 说明 |
| 信任 | 可接收所有的网络连接 |
| public | 除非与传出流量相关,或与 ssh 或 dhcpv6-client 预定义服务匹配,否则拒绝流量传入 |
| work | 除非与传出流量相关,或与 ssh、ipp-client、dhcpv6-client 预定义服务匹配,否则拒绝流量传入 |
| 家 | 除非与传出流量相关,或与 ssh、ipp-client、mdns、samba-client、dhcpv6-client 预定义服务匹配,否则拒绝流量传入 |
| internal | 除非与传出流量相关,或与 ssh、ipp-client、mdns、samba-client、dhcpv6-client 预定义服务匹配,否则拒绝流量传入 |
| external | 除非与传出流量相关,或与 ssh 预定义服务匹配,否则拒绝流量传入 |
| dmz | 除非与传出的流量相关,或与 ssh 预定义服务匹配,否则拒绝流量传入 |
| block | 除非与传出流量相关,否则拒绝所有传入流量 |
| drop | 除非与传出流量相关,否则丢弃所有传入流量,并且不产生包含 ICMP 的错误响应 |

5.三种配置方法

  • firewall-config 图形工具。
  • firewall-cmd 命令行工具。
  • /etc/firewalld/中的配置文件。

图形化不过多解释 需要的话你搜其他文章

防火墙基础案例

复制代码
+-------------+      +-------------+      +-------------+
|   Client    |      |   Firewall  |      |   Apache    |
|192.168.14.112|      |192.168.14.111|      |Linux 服务器 |
+-------------+      +-------------+      +-------------+
       |                    |                    |
       |                    |                    |
       +--------------------+--------------------+
  1. 禁止主机 ping 服务器
  2. 只允许 192.168.8.130 主机访问 SSH 服务
  3. 允许所有主机访问 Apache 服务

服务器配置

ip地址是192.168.14.111

复制代码
yum install -y httpd

[root@localhost ~]# echo 2024-12-3 > /var/www/html/index.html
[root@localhost ~]# systemctl start httpd
[root@localhost ~]# curl 127.0.0.1
2024-12-3

配置完成apache服务之后

客户端是可以ping的

禁止Ping防火墙规则
复制代码
# 启动 firewalld 并设置为开机自启动
systemctl start firewalld
systemctl enable firewalld

# 禁止 ping 服务器
firewall-cmd --zone=public --add-icmp-block=echo-request --permanent
firewall-cmd --reload
# 验证配置
firewall-cmd --list-all

客户端测试

允许SSH登录规则
复制代码
# 移除默认区域的 SSH 服务
firewall-cmd --zone=public --remove-service=ssh --permanent

# 只允许 192.168.8.130 主机访问 SSH 服务
firewall-cmd --zone=work --add-source=192.168.14.112 --permanent
firewall-cmd --zone=work --add-service=ssh --permanent
firewall-cmd --reload



# 验证配置
firewall-cmd --list-all

客户端测试

其他ip的主机远程是拒绝了 因为只有 192.168.14.112可以远程

192.168.14.112 主机可以远程访问

允许apache流量规则
复制代码
# 允许所有主机访问 Apache 服务
firewall-cmd --zone=public --add-service=http --permanent
firewall-cmd --zone=public --add-service=https --permanent
firewall-cmd --reload
# 验证配置
firewall-cmd --list-all

客户端测试

为开放apache的流量之前

复制代码
[root@localhost ~]# curl 192.168.14.111
curl: (7) Failed connect to 192.168.14.111:80; 没有到主机的路由

开放之后 所有的主机均可以访问的

复制代码
[root@localhost ~]# curl 192.168.14.111
2024-12-3

总结

通过这篇文章,我们不仅学习了 firewalld 和 iptables 的基本概念,更重要的是通过一个实际的案例,展示了如何:

  1. 轻松配置防火墙规则来阻止 ping 请求
  2. 限制特定 IP 地址的 SSH 访问,提高服务器安全性
  3. 开放 HTTP 服务,让网站正常对外提供服务

记住,防火墙配置不是一成不变的,你可以根据实际需求随时调整规则。最重要的是理解每个配置背后的原理,这样才能灵活应对各种场景。希望这篇文章能帮助你在实际工作中少走弯路,轻松搞定防火墙配置!

成功的路上没有捷径,只有不断的努力与坚持。如果你和我一样,坚信努力会带来回报,请关注我,点个赞,一起迎接更加美好的明天!你的支持是我继续前行的动力!"

"每一次创作都是一次学习的过程,文章中若有不足之处,还请大家多多包容。你的关注和点赞是对我最大的支持,也欢迎大家提出宝贵的意见和建议,让我不断进步。"

神秘泣男子

相关推荐
Johny_Zhao14 分钟前
OpenClaw安装部署教程
linux·人工智能·ai·云计算·系统运维·openclaw
用户962377954485 小时前
DVWA 靶场实验报告 (High Level)
安全
数据智能老司机8 小时前
用于进攻性网络安全的智能体 AI——在 n8n 中构建你的第一个 AI 工作流
人工智能·安全·agent
数据智能老司机8 小时前
用于进攻性网络安全的智能体 AI——智能体 AI 入门
人工智能·安全·agent
用户9623779544810 小时前
DVWA 靶场实验报告 (Medium Level)
安全
red1giant_star10 小时前
S2-067 漏洞复现:Struts2 S2-067 文件上传路径穿越漏洞
安全
用户9623779544813 小时前
DVWA Weak Session IDs High 的 Cookie dvwaSession 为什么刷新不出来?
安全
YuMiao14 小时前
gstatic连接问题导致Google Gemini / Studio页面乱码或图标缺失问题
服务器·网络协议
chlk1232 天前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑2 天前
Ubuntu系统安装CodeX出现问题
linux·后端