我对 iptables 非常熟悉,而且我觉得它iptables -L -v
很容易读懂。备份也很简单,我对此很满意。
然而,在 Ubuntu 的最新版本中,ufw 严重污染了 iptables。除了干净的规则列表外,我还有许多不易阅读的规则:
$ iptables -L -v
Chain INPUT (policy DROP 6114 packets, 331K bytes)
pkts bytes target prot opt in out source destination
131K 76M ufw-before-logging-input all -- any any anywhere anywhere
131K 76M ufw-before-input all -- any any anywhere anywhere
6618 368K ufw-after-input all -- any any anywhere anywhere
6191 346K ufw-after-logging-input all -- any any anywhere anywhere
6191 346K ufw-reject-input all -- any any anywhere anywhere
6191 346K ufw-track-input all -- any any anywhere anywhere
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
390K 324M ufw-before-logging-forward all -- any any anywhere anywhere
390K 324M ufw-before-forward all -- any any anywhere anywhere
4 2160 ufw-after-forward all -- any any anywhere anywhere
4 2160 ufw-after-logging-forward all -- any any anywhere anywhere
4 2160 ufw-reject-forward all -- any any anywhere anywhere
4 2160 ufw-track-forward all -- any any anywhere anywhere
Chain OUTPUT (policy ACCEPT 1 packets, 52 bytes)
pkts bytes target prot opt in out source destination
326K 317M ufw-before-logging-output all -- any any anywhere anywhere
326K 317M ufw-before-output all -- any any anywhere anywhere
164 14960 ufw-after-output all -- any any anywhere anywhere
164 14960 ufw-after-logging-output all -- any any anywhere anywhere
164 14960 ufw-reject-output all -- any any anywhere anywhere
164 14960 ufw-track-output all -- any any anywhere anywhere
...
从这个角度来看。我不太明白 ufw 的用途。它似乎比 iptables 增加了复杂性,但没有任何实际优势。
我错了吗?
答案1
如果您知道iptables
,如果您发现它iptables -L -v
很容易阅读并且如果您喜欢它,那么您就不需要ufw
。
iptables
与 Linux 内核中的数据包过滤规则表配合使用。您可以创建的表、链和规则构成了一个功能强大且灵活的工具,但通常令人生畏且不太直观。有了它们,高级功能是可能的,但基本功能并不总是像新手用户(或一般用户)希望的那样简单。
这里引入了ufw
(或其他类似工具)作为 之上的额外层iptables
。它使基本操作变得简单,但不一定允许高级操作。任何喜欢 GUI 的人都可以使用gufw
。Ubuntu 之所以推出,ufw
是因为它针对那些可能对底层工作原理不感兴趣的用户。他们想要一个类似于他们在 Windows 中看到的或他们家用路由器的 HTTP 接口的简单界面。高级用户可以停用并“手动”ufw
使用。iptables
的目的ufw
是有一个简单的前端。对于普通人来说,这个前端是更简单比您在 中创建的任何等效“干净的规则列表”都要多iptables
。实际上创建的“大量不易阅读的规则”ufw
现在是后端。您说得对,这ufw
增加了复杂性,但 Joe 从未看到过。
一旦决定使用ufw
(或继续使用,如果它是默认的),你就不应该关心后端。将后端视为提供前端的工具的内部部分。
如果您想iptables
将其作为前端,那么不要使用ufw
,因为ufw
它会将自己“放在更前面”。