iptables vs firewalld:全面剖析区别、联系与实战配置
iptables vs firewalld:全面剖析区别、联系与实战配置
前言
肝文不易,点个免费的赞和关注,有错误的地方请指出,看个人主页有惊喜。 作者:神的孩子都在歌唱
“我的服务器怎么访问不了了?!”
神唱(运维新人)正在调试一个 Web 应用,突然发现浏览器打不开了。心想:“是不是程序崩了?” 检查了一圈,发现应用服务正常运行,端口也监听着。最后,他试探性地执行了一条命令:
代码语言:javascript代码运行次数:0运行复制systemctl stop firewalld
结果,网页瞬间恢复访问!他顿时明白:原来是防火墙在搞鬼!
在 Linux 系统中,防火墙是保障网络安全的重要工具。而在不同的 Linux 发行版中,防火墙的管理方式有所不同,最常见的两种工具就是 iptables 和 firewalld。很多人对它们的区别、联系以及具体使用方式感到困惑,那么接下来神唱就带着大家一一解惑。
一. 什么是 iptables
1.1 概述
iptables
是 Linux 内核自带的防火墙工具,它基于 netfilter
框架来管理网络数据包的过滤和转发。iptables
允许管理员设置规则来控制进出 Linux 服务器的网络流量。
1.2 工作原理
iptables 通过规则链(Chain) 处理网络数据包,每个数据包都会按照链中定义的规则进行匹配,匹配成功后执行相应的操作,如 接受(ACCEPT)、丢弃(DROP)或拒绝(REJECT)。
常见的规则链:
- •
INPUT
:控制进入本机的流量。 - •
OUTPUT
:控制本机发出的流量。 - •
FORWARD
:控制本机转发的流量(适用于网关/路由器)。 - •
PREROUTING
和POSTROUTING
:用于 NAT 规则处理。
1.3 常用命令示例
1. 如果 iptables
未安装,可以尝试安装
yum install -y iptables-services # CentOS/RHEL 7+
apt install -y iptables # Ubuntu/Debian
2. 查看当前 iptables 规则:
代码语言:javascript代码运行次数:0运行复制iptables -L -n -v
3. 测试以下看看端口是否通的在另一台服务器上执行telnet,发现拒绝链接
4. 添加一条允许 9100 端口(HTTP)流量的规则:
代码语言:javascript代码运行次数:0运行复制iptables -I INPUT 5 -p tcp --dport 9100 -j ACCEPT
再次测试发现可以连接了
5. 删除刚刚添加的规则
代码语言:javascript代码运行次数:0运行复制iptables -D INPUT -p tcp --dport 9100 -j ACCEPT
二. 什么是 firewalld
firewalld
是 iptables 的替代方案,从 RHEL/CentOS 7 开始成为默认防火墙。它提供了动态规则管理,支持 区域(Zones) 概念,并简化了防火墙配置。
2.1 主要特点
- • 动态管理:无需重启即可修改防火墙规则。
- • 支持区域(Zone):不同网络接口可以应用不同的安全策略。
- • 提供 D-Bus API,便于与其他程序集成。
2.2 常用命令示例
1. 查看 firewalld 状态:
代码语言:javascript代码运行次数:0运行复制systemctl status firewalld
2. 允许 9100 端口:
代码语言:javascript代码运行次数:0运行复制firewall-cmd --permanent --add-port=9100/tcp
# 重新加载防火墙规则
firewall-cmd --reload
3. 查看当前防火墙规则:
代码语言:javascript代码运行次数:0运行复制firewall-cmd --list-all
4. 禁用 firewalld(如果想使用 iptables)
代码语言:javascript代码运行次数:0运行复制systemctl stop firewalld
systemctl disable firewalld
三. 区别与联系
对比项 | iptables | firewalld |
---|---|---|
配置方式 | 规则链管理 | 区域(Zone)管理 |
规则修改 | 需要手动应用规则 | 支持动态调整,无需重启 |
默认状态 | 需要手动启用 | RHEL/CentOS 7+ 默认启用 |
支持 IPv6 | 需要单独使用 ip6tables | 默认支持 IPv6 |
适合场景 | 适用于熟悉手动管理规则的管理员 | 适合需要快速配置的环境 |
- 1.
firewalld
的底层仍然使用iptables
或nftables
来执行防火墙规则。 - 2. 如果
firewalld
运行时,iptables
规则可能会被 firewalld 管理的规则覆盖。 - 3. 不能同时运行
iptables
和firewalld
,否则可能会导致冲突。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。原始发表:2025-04-01,如有侵权请联系 cloudcommunity@tencent 删除管理流量配置防火墙iptables作者:神的孩子都在歌唱 本人博客: 转载说明:务必注明来源,附带本人博客连接
发布者:admin,转转请注明出处:http://www.yc00.com/web/1748028355a4720769.html
评论列表(0条)