首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何启用UFW:通过"systemctl启用“或"ufw启用”?

如何启用UFW:通过"systemctl启用“或"ufw启用”?
EN

Unix & Linux用户
提问于 2019-12-01 07:47:07
回答 1查看 11.7K关注 0票数 7

我知道启动ufw的两种方法:通过系统two和通过ufw本身。例如,当我使用systemctl enable ufw时,我得到了以下状态:

代码语言:javascript
复制
systemctl status ufw

● ufw.service - CLI Netfilter Manager
   Loaded: loaded (/usr/lib/systemd/system/ufw.service; enabled; vendor preset:>
   Active: active (exited) since Sun 2019-12-01 12:34:29 +05; 6min ago

但ufw本身说:

代码语言:javascript
复制
ufw status verbose

Status: inactive

我看不出它的规则和GUFW实用程序说UFW不活跃。但如果我这么做了

代码语言:javascript
复制
systemctl disable ufw
systemctl stop ufw
ufw enable
ufw status verbose

Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

然后我可以使用GUFW,查看UFW实用程序中的详细状态和规则。

那么,从systemctl和ufw本身开始有什么区别,正确的方法是什么呢?

EN

回答 1

Unix & Linux用户

发布于 2019-12-01 09:39:06

如果您执行ufw enablesystemctl disable ufw,然后重新启动系统,那么重启后的ufw status verbose输出是什么?

我猜那将是inactive

如果这是真的,那么解释如下:

  • ufw enable =立即启用防火墙规则,并记录希望的状态从现在起启用防火墙。(如果需要防火墙管理守护进程,这也会自动启动它。)
  • ufw disable =立即禁用防火墙规则,并记录所需的状态是禁用防火墙,直到另有命令为止。
  • systemctl start ufw =恢复以前记录的防火墙的所需状态(如果所需的状态要禁用防火墙,就没有什么可做的了)。此外,如果需要的话,启动任何防火墙管理守护进程,这样管理过程将被systemd识别为不属于任何用户会话的后台进程。如果希望永久启用防火墙,则希望在启动时自动启用防火墙,并设置ufw enable
  • systemctl stop ufw =停止防火墙管理守护进程;可能也可能不会禁用任何现有的防火墙规则(使用iptables -vnLnft list tables检查内核内的实际规则,独立于ufw)。
  • systemctl enable ufw =在以后的任何重新启动时,作为引导过程的一部分自动运行systemctl start ufw
  • systemctl disable ufw =在以后的任何重新启动时,不要做任何事情来恢复防火墙状态,也不要自动启动防火墙管理守护进程:使用内核默认的任何防火墙规则。

例如,如果您需要远程设置新的防火墙规则,并且必须确保不会将自己锁在门外,您可以设置systemctl disable ufw,在大约15分钟内设置一个自动重新启动,然后添加规则并使用ufw enable。如果仍然可以连接到系统,则就远程访问而言,规则是正确的;您可以设置systemctl enable ufw (因此规则在重新启动后也将生效)并删除定时的重新启动作业。

但是,如果您犯了禁用访问的错误,只需等待重新启动作业触发,系统将没有防火墙规则(因为systemctl disable ufw),您将能够重新登录来修复规则配置。

票数 7
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/555020

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档