我租了一台带有 Debian/Ubuntu 的远程机器,并希望通过iptables
via过滤我不使用的所有端口ufw
。
我允许的唯一端口(包括 TCP 和 UPD)是22
, 25
, 80
, 443
。
如果我理解man ufw
正确,ufw
通常用于交互式使用,如果我们想非交互式使用它,我们必须“强制”这种用法。因此:
- 在 Bash 脚本中,语法
ufw --force
使其能够用于非交互式使用。 enable
通过随后添加(如得到ufw --force enable
),我们都重置了防火墙并且makeufw
在操作系统启动后递归启动。
那是对的吗?
答案1
是的,你是对的。查看 ufw using 的手册页man ufw
。在远程管理下,他们说:
当运行 ufw enable 或通过其 init 脚本启动 ufw 时,ufw 将刷新其链。这是必需的,以便 ufw 可以保持一致的状态,但它可能会删除现有连接(例如 ssh)。 ufw确实支持在启用防火墙之前添加规则,因此管理员可以执行以下操作:
ufw 允许从任何端口 22 到任何端口的原始 tcp
在运行“ufw启用”之前。规则仍会被刷新,但启用防火墙后 ssh 端口将打开。请注意,一旦 ufw 被“启用”,ufw 在添加或删除规则时将不会刷新链(但会在修改规则或更改默认策略时刷新)。默认情况下,ufw 在 ssh 下运行时启用防火墙时会提示。可以使用“ufw --force enable”禁用此功能。