UFW Deny 没有真正起作用

sig*_*awf 11 networking webserver

我尝试使用以下命令阻止来自我的服务器的 IP 地址:

sudo ufw deny from 15.15.15.51
Run Code Online (Sandbox Code Playgroud)

我重新启动了服务器并检查了规则:

sudo ufw status -v
Run Code Online (Sandbox Code Playgroud)

哪个返回:

To                         Action      From
--                         ------      ----
80/tcp                     ALLOW       Anywhere
443/tcp                    ALLOW       Anywhere
2323/tcp                   ALLOW       Anywhere
Anywhere                   DENY        15.15.15.51
80/tcp (v6)                ALLOW       Anywhere (v6)
443/tcp (v6)               ALLOW       Anywhere (v6)
2323/tcp (v6)              ALLOW       Anywhere (v6)
Run Code Online (Sandbox Code Playgroud)

检查后,IP 仍然可以访问我的服务器,它没有断开连接。会发生什么?

sig*_*awf 15

找到答案后回答我自己的问题:我发现问题出在订购上。拒绝规则应该先行,我必须显示编号为的规则:

sudo ufw status numbered
Run Code Online (Sandbox Code Playgroud)

然后删除规则:

sudo ufw delete 4
Run Code Online (Sandbox Code Playgroud)

然后首先添加它:

sudo ufw insert 1 deny from 15.15.15.51
Run Code Online (Sandbox Code Playgroud)

然后重新加载

sudo ufw reload
Run Code Online (Sandbox Code Playgroud)

现在它正在工作。