gwi*_*man 14 iptables firewall ufw
什么是UFW?你会认为这是一个简单的问题,但我阅读的资源越多,它就越不清晰。
首字母缩写词拼写为 Uncomplicated FireWall,就好像 ufw 实际上实现了防火墙本身。事实上,在许多地方,它本身被称为防火墙,例如在本文中。
UFW 上的 Ubuntu 帮助 wiki 页面说 UFW 是 iptables 的配置工具。(反过来,防火墙上的帮助维基页面说iptables是防火墙规则的数据库,它也是实际的防火墙,好像数据库是防火墙,这显然是错误的。当然'iptables'也是程序的名称。)
如果 ufw 是一个配置工具,那么我们可能希望它是一个你运行来配置某些东西的程序,一旦完成,你就退出了,配置已经建立。这就是这个问题的公认答案的立场:是简单的防火墙 (ufw) 服务吗?
但是关于这个问题的其他答案不同意——不,这是一项服务。事实上,在我的 18.04 机器上,我看到 ufw 作为服务运行!为什么配置工具作为服务运行?!
此外,systemctl list-units --all --type=service
shows ufw.service
is loaded and active
(and also exited
?!) yet ufw status
shows inactive
。
那么 ufw status = inactive 是什么意思呢?
“防火墙”(无论是什么)是不活动的?这就是“状态”的 ufw 手册页文档所建议的。
还是说ufw中配置的规则是非活动的(而iptables中配置的其他规则是活动的)?
或者这是否意味着 ufw 在启动时开始,将其规则设置到 ipconfig(或它们去的任何地方),以便它们现在生效,而现在 ufw 没有任何关系,因此它处于非活动状态?
特别感兴趣:我想遵循一些需要发出一些 iptables 命令的说明,但担心它们会与 ufw 设备冲突或被 ufw 设备覆盖。
tho*_*ter 23
ufw 是 netfilter/iptables 的前端,这是用于路由和过滤互联网流量的 Linux 机制。
ufw 是完全可选的,可以直接使用 iptables 命令创建防火墙和路由表。有些人更喜欢 ufw 的语法,这应该让它更容易一些。
ufw 本身不是防火墙,它是一个设置 netfilter/iptables 配置的工具。它被注册为服务,因为它需要在您的机器每次启动时运行。我不相信它在完成此配置后会一直驻留在内存中。“重新启动”服务只是重新运行它的脚本。Linux 发行版中的东西被注册为服务并不罕见,即使它们只是在启动或关闭时运行的脚本,而不会驻留在两者之间。
如果您使用 ufw,则无法使用自己的脚本设置自己的 iptables 规则,因为当 ufw 设置自己的脚本时,这些规则将被覆盖。这也意味着 ufw 可能会与其他设置防火墙规则的工具发生冲突。
如果sudo ufw status
返回“inactive”,则表示 ufw 已被禁用(例如,不会在启动时重新应用任何规则)。您需要确保 ufw 已启用sudo ufw enable
,但您还需要为此配置规则以使其有意义。如果您确定已启用 ufw 但它返回“inactive”,则可能存在其他问题。
请注意,“启动”服务不会启用 ufw,它只会激活启动脚本。如果在启动脚本运行时禁用了 ufw,它将不会执行任何操作。
您可以直接使用 iptables 判断您的防火墙规则是否已在任何给定时间应用:
sudo iptables -L
sudo ip6tables -L
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8314 次 |
最近记录: |