Linux 下,几个防火墙之间的“爱恨情仇”

升级了Debian系统后,我发现一些端口无法访问了,这让我非常困惑。为了弄清楚原因,我开始深入研究系统中的防火墙工具及它们之间的冲突。于是,我遇到了三个关键角色:iptables、UFW 和 firewalld,然后发现了它们之间的“爱恨情仇”。

iptables

首先,我接触到了iptables。这是Linux系统中最底层的防火墙工具。它直接和内核中的Netfilter框架打交道,允许我设置、检查和维护IP包过滤规则。听起来很牛,但它也非常复杂,需要编写详细的规则文件。所有高层防火墙工具最终都会调用iptables来应用规则。

UFW

然后,我遇到了UFW(Uncomplicated Firewall)。顾名思义,它试图简化防火墙管理。UFW是为像我这样的人设计的,提供了一种简单的方法来管理iptables规则。用几条简单的命令就能搞定防火墙配置,隐藏了很多复杂细节。这看起来很棒,但它的本质还是在后台调用iptables。

firewalld

最后是firewalld。这个工具更智能,提供了动态管理和区域(zone)概念。它允许我在不重启防火墙的情况下添加、修改或删除规则,同样也是基于iptables的。它听起来很高级,但这也带来了一些复杂性。

工具之间的冲突

问题来了,当我同时使用这些工具时,它们会互相干扰。因为它们最终都要调用iptables来实现防火墙规则,这就像几个人在同一个画布上作画,互相涂抹,结果一团糟。

UFW和iptables的冲突

如果我手动设置了iptables规则,然后启用了UFW,UFW会覆盖我之前手动设置的规则。UFW启动时,会清空现有的iptables规则,并应用自己的规则集。这意味着我的手动配置全白费了。

firewalld和iptables的冲突

类似地,如果我手动配置了iptables规则,然后启用firewalld,firewalld也会覆盖我之前的规则。firewalld使用自己的规则集,并通过D-Bus接口动态调整防火墙配置,这也会使我的手动配置失效。

UFW和firewalld的冲突

更糟糕的是,如果我同时启用UFW和firewalld,它们会争夺iptables的控制权。两个工具都想管理规则,结果就是谁也没管好,导致防火墙配置混乱,端口无法访问。

解决方法

为了不让这些工具互相扯皮,我决定只用一个防火墙管理工具。由于Debian默认启用了UFW,我选择禁用firewalld,只用UFW来管理防火墙规则。
我通过以下命令禁用了firewalld:

sudo systemctl stop firewalld
sudo systemctl disable firewalld

然后确保UFW正确配置并启用:

sudo ufw enable

这样,我避免了工具之间的冲突,端口访问问题也解决了。这次经历让我明白了iptables、UFW和firewalld之间的复杂关系。选择和正确配置适合的防火墙工具,真的非常关键!

版权声明:本文由mxd's Blog发布,如需转载请注明出处。
如果文章中有风险行为,文章作者不负任何责任。
除非另有说明,否则本站内容依据CC BY-SA 4.0许可证进行授权,转载请附上出处链接。

本文链接:https://blog.mxdyeah.top/mxdyeah_blog_post/58.html
本文标题:Linux 下,几个防火墙之间的“爱恨情仇”
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇