我很难理解我遇到的这个 ufw 问题。
以下是输出ufw status verbose
:
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip
To Action From
-- ------ ----
5666 ALLOW IN 141.0.32.124
5666 ALLOW IN 141.0.32.125
5666 ALLOW IN 5.153.254.130
5666 ALLOW IN 5.153.255.250
5666 ALLOW IN 5.153.255.251
5666 ALLOW IN 5.153.255.252
5666 ALLOW IN 78.31.107.85
5666 ALLOW IN 89.200.136.31
5666 ALLOW IN 89.200.136.76
40 ALLOW IN 86.30.129.70
40 ALLOW IN 89.200.136.76
40 ALLOW IN Anywhere
80 ALLOW IN Anywhere
993 ALLOW IN Anywhere
25 ALLOW IN Anywhere
443 ALLOW IN Anywhere
60000:60010/udp ALLOW IN Anywhere
48850 ALLOW IN Anywhere
40 (v6) ALLOW IN Anywhere (v6)
80 (v6) ALLOW IN Anywhere (v6)
993 (v6) ALLOW IN Anywhere (v6)
25 (v6) ALLOW IN Anywhere (v6)
443 (v6) ALLOW IN Anywhere (v6)
60000:60010/udp (v6) ALLOW IN Anywhere (v6)
48850 (v6) ALLOW IN Anywhere (v6)
端口 80 和 443 显然对所有连接的客户端开放,但是,根据 ufw 日志文件,重新加载防火墙大约一小时后,合法请求被拒绝(这包括访问其他“开放”端口,但端口 40 除外 - 当前正在运行 ssh,原因我也不确定)。
有一个类似的案例这个问题,但事实上有很多请求表明浏览器正在重试连接,或者用户在放弃之前重新加载。
这是来自 ufw 日志文件的一个示例。主机名、mac 地址、源 IP 和目标 IP 均已隐藏,但都完全相同,符合我的预期。
Aug 9 16:16:20 server_hostname kernel: [UFW BLOCK] IN=eth0 OUT= MAC=my_mac SRC=src_ip DST=my_ip LEN=48 TOS=0x00 PREC=0x00 TTL=110 ID=13107 DF PROTO=TCP SPT=59353 DPT=22 WINDOW=8192 RES=0x00 SYN URGP=0
Aug 9 16:16:26 server_hostname kernel: [UFW BLOCK] IN=eth0 OUT= MAC=my_mac SRC=src_ip DST=my_ip LEN=48 TOS=0x00 PREC=0x00 TTL=110 ID=14035 DF PROTO=TCP SPT=59353 DPT=22 WINDOW=8192 RES=0x00 SYN URGP=0
Aug 9 16:16:29 server_hostname kernel: [UFW BLOCK] IN=eth0 OUT= MAC=my_mac SRC=src_ip DST=my_ip LEN=48 TOS=0x00 PREC=0x00 TTL=110 ID=14730 DF PROTO=TCP SPT=59764 DPT=22 WINDOW=8192 RES=0x00 SYN URGP=0
Aug 9 16:16:32 server_hostname kernel: [UFW BLOCK] IN=eth0 OUT= MAC=my_mac SRC=src_ip DST=my_ip LEN=48 TOS=0x00 PREC=0x00 TTL=110 ID=15403 DF PROTO=TCP SPT=59764 DPT=22 WINDOW=8192 RES=0x00 SYN URGP=0
Aug 9 16:16:36 server_hostname kernel: [UFW BLOCK] IN=eth0 OUT= MAC=my_mac SRC=src_ip DST=my_ip LEN=48 TOS=0x00 PREC=0x00 TTL=110 ID=16002 DF PROTO=TCP SPT=60080 DPT=22 WINDOW=8192 RES=0x00 SYN URGP=0
Aug 9 16:16:38 server_hostname kernel: [UFW BLOCK] IN=eth0 OUT= MAC=my_mac SRC=src_ip DST=my_ip LEN=48 TOS=0x00 PREC=0x00 TTL=110 ID=16401 DF PROTO=TCP SPT=59764 DPT=22 WINDOW=8192 RES=0x00 SYN URGP=0
Aug 9 16:16:39 server_hostname kernel: [UFW BLOCK] IN=eth0 OUT= MAC=my_mac SRC=src_ip DST=my_ip LEN=48 TOS=0x00 PREC=0x00 TTL=110 ID=16673 DF PROTO=TCP SPT=60080 DPT=22 WINDOW=8192 RES=0x00 SYN URGP=0
Aug 9 16:16:43 server_hostname kernel: [UFW BLOCK] IN=eth0 OUT= MAC=my_mac SRC=src_ip DST=my_ip LEN=48 TOS=0x00 PREC=0x00 TTL=110 ID=17426 DF PROTO=TCP SPT=60525 DPT=22 WINDOW=8192 RES=0x00 SYN URGP=0
Aug 9 16:16:45 server_hostname kernel: [UFW BLOCK] IN=eth0 OUT= MAC=my_mac SRC=src_ip DST=my_ip LEN=48 TOS=0x00 PREC=0x00 TTL=110 ID=17758 DF PROTO=TCP SPT=60080 DPT=22 WINDOW=8192 RES=0x00 SYN URGP=0
Aug 9 16:16:46 server_hostname kernel: [UFW BLOCK] IN=eth0 OUT= MAC=my_mac SRC=src_ip DST=my_ip LEN=48 TOS=0x00 PREC=0x00 TTL=110 ID=17959 DF PROTO=TCP SPT=60525 DPT=22 WINDOW=8192 RES=0x00 SYN URGP=0
Aug 9 16:17:07 server_hostname kernel: [UFW BLOCK] IN=eth0 OUT= MAC=my_mac SRC=src_ip DST=my_ip LEN=48 TOS=0x00 PREC=0x00 TTL=110 ID=20735 DF PROTO=TCP SPT=61082 DPT=22 WINDOW=8192 RES=0x00 SYN URGP=0
Aug 9 16:17:17 server_hostname kernel: [UFW BLOCK] IN=eth0 OUT= MAC=my_mac SRC=src_ip DST=my_ip LEN=48 TOS=0x00 PREC=0x00 TTL=110 ID=22576 DF PROTO=TCP SPT=61245 DPT=22 WINDOW=8192 RES=0x00 SYN URGP=0
Aug 9 16:17:37 server_hostname kernel: [UFW BLOCK] IN=eth0 OUT= MAC=my_mac SRC=src_ip DST=my_ip LEN=48 TOS=0x00 PREC=0x00 TTL=110 ID=24621 DF PROTO=TCP SPT=62083 DPT=22 WINDOW=8192 RES=0x00 SYN URGP=0
Aug 9 16:18:00 server_hostname kernel: [UFW BLOCK] IN=eth0 OUT= MAC=my_mac SRC=src_ip DST=my_ip LEN=48 TOS=0x00 PREC=0x00 TTL=110 ID=30227 DF PROTO=TCP SPT=63235 DPT=22 WINDOW=8192 RES=0x00 SYN URGP=0
Aug 9 16:18:17 server_hostname kernel: [UFW BLOCK] IN=eth0 OUT= MAC=my_mac SRC=src_ip DST=my_ip LEN=48 TOS=0x00 PREC=0x00 TTL=110 ID=32393 DF PROTO=TCP SPT=63714 DPT=22 WINDOW=8192 RES=0x00 SYN URGP=0
Aug 9 16:18:46 server_hostname kernel: [UFW BLOCK] IN=eth0 OUT= MAC=my_mac SRC=src_ip DST=my_ip LEN=48 TOS=0x00 PREC=0x00 TTL=110 ID=4219 DF PROTO=TCP SPT=64631 DPT=22 WINDOW=8192 RES=0x00 SYN URGP=0
Aug 9 16:19:02 server_hostname kernel: [UFW BLOCK] IN=eth0 OUT= MAC=my_mac SRC=src_ip DST=my_ip LEN=48 TOS=0x00 PREC=0x00 TTL=110 ID=6636 DF PROTO=TCP SPT=64938 DPT=22 WINDOW=8192 RES=0x00 SYN URGP=0
Aug 9 16:19:31 server_hostname kernel: [UFW BLOCK] IN=eth0 OUT= MAC=my_mac SRC=src_ip DST=my_ip LEN=48 TOS=0x00 PREC=0x00 TTL=110 ID=11548 DF PROTO=TCP SPT=49493 DPT=22 WINDOW=8192 RES=0x00 SYN URGP=0
Aug 9 16:19:40 server_hostname kernel: [UFW BLOCK] IN=eth0 OUT= MAC=my_mac SRC=src_ip DST=my_ip LEN=48 TOS=0x00 PREC=0x00 TTL=110 ID=13669 DF PROTO=TCP SPT=49493 DPT=22 WINDOW=8192 RES=0x00 SYN URGP=0
Aug 9 16:19:58 server_hostname kernel: [UFW BLOCK] IN=eth0 OUT= MAC=my_mac SRC=src_ip DST=my_ip LEN=48 TOS=0x00 PREC=0x00 TTL=110 ID=16165 DF PROTO=TCP SPT=50228 DPT=22 WINDOW=8192 RES=0x00 SYN URGP=0
网络服务器日志文件中没有与此时间戳匹配的记录,而且我也没有想到会有这样的记录,防火墙阻止了该连接。
此时,运行ufw reload
正常(防火墙的行为符合预期,允许在这些端口上进行连接),我目前正在 cron.hourly 中执行一项任务,使用上述命令重新加载防火墙。(我没有使用service ufw reload
该任务,因为重新启动失败意味着防火墙不会处于活动状态,而且我可能需要几个小时甚至几天才能发现它,更不用说解决它了 - 我正在度假,看着一家越南电信公司试图闯入已关闭的 22 端口,自得其乐)。
尽管过去一周一直在搜索这个问题,但似乎没有其他人遇到过这个问题。
我真正想问的问题对于那些想要一个明确问题的人来说,如何允许连接到防火墙上的开放端口,而不会在重新加载之前将它们全部被防火墙阻止?
任何帮助将非常感激!