我刚刚得知我的默认 Ubuntu 18.04 VM 附带了 UFW。根据Ubuntu 维基,UFW:
是 iptables 的前端,特别适合基于主机的防火墙。
安装后,ufw 被禁用,因此我很惊讶 iptables不是已禁用。事实上,它阻塞了大量流量。
现在我启用了 UFW 并告诉它我预计流入什么类型的流量:
ufw enable
ufw logging on
ufw allow "OpenSSH"
ufw allow "Nginx Full"
ufw reload
ufw status verbose
最后一个命令的输出:
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip
To Action From
-- ------ ----
80,443/tcp (Nginx Full) ALLOW IN Anywhere
22/tcp (OpenSSH) ALLOW IN Anywhere
80,443/tcp (Nginx Full (v6)) ALLOW IN Anywhere (v6)
22/tcp (OpenSSH (v6)) ALLOW IN Anywhere (v6)
到目前为止,一切都很好。
但令我惊讶的是,80 端口上的 HTTP 流量仍然被 iptables 阻止。刷新所有规则和链 ( iptables -F
) 可让传入的 HTTP 流量流向 nginx。
我的问题有两个:
- UFW 和 iptables 有什么关系,如果 UFW 可以已禁用当 iptables 是跑步,并且 UFW 可以说允许 HTTP 流量,而 iptables 却阻止它?
- 我怎样才能让 iptables 确实遵循 UFW 配置,以便我有一个工具来配置和检查?