我已经成功通过以下方式创建了无盘 Ubuntu 系统实例此社区帮助页面并且运行正常。但是,我想使用 UFW 启用防火墙,但当我尝试这样做时,问题出现了。
作为帮助页面上教程的一部分,我准备了完整的“文件系统”,并安装了其他程序,并已使用我的设置引导了操作系统(安装了必要的软件包、更改了配置,...)。后来我将其复制到 NFS 目录并通过无盘机启动它。一切都成功加载(启动每个服务时将 OK 状态打印到控制台),直到显示具有无限启动时间的加载器。启动服务之一也是 UFW。在某个时候,系统变得无响应(我仍然可以使用 Shift-Pg Up/Down 移动控制台,但那里实际上什么也没有发生)。我无法解决这个问题,直到我发现 UFW 是导致此问题的主要问题。所以我禁用了 UFW /etc/ufw/ufw.conf
(直接在 NFS 服务器上),然后重试启动。那时一切顺利,系统成功启动。
但我仍然想启用 UFW,所以我尝试直接从机器上执行此操作。同样的问题再次出现。我执行后不久,ufw enable
系统就变得没有响应。执行此命令时,我捕获了 dmesg 的输出:
[ xxxx.xxxxxx ] bpfilter: Loaded bpfilter_umh pid 748
[ xxxx.xxxxxx ] Started filter
然后系统 2 分钟没有响应,然后我收到另外几条消息:
[ xxxx.xxxxxx ] INFO: task systemd-journal:278 blocked for more than 120 seconds.
[ xxxx.xxxxxx ] Not tainted 5.4.0-86-generic #97-Ubuntu
[ xxxx.xxxxxx ] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
我认为默认规则不允许 NFS 连接可能会有问题。因此我添加了以下规则(一步一步地添加,并在每条规则之后尝试启用 UFW):
ufw allow from 192.168.0.5 # NFS server
ufw allow from 192.168.0.0/24 # local network
ufw allow in on eth0 # client network interface
但没有成功(这也是我也没有想到的,因为这些规则在逻辑上不应该产生任何影响)。
所以我现在还不知道如何解决这个问题。我还可以指出 dmesg 中还有另一个问题,但它可能与 UFW 的问题无关:
[ xxx.xxxxxx] systemd-journald[276]: Failed to set ACL on /var/log/jorunal/.../user-101.journal, ignoring: Operation not permitted
我相信 UFW 一定存在一些规则,默认情况下拒绝访问 NFS 共享,因此整个系统挂断。任何建议/正确的方向都将不胜感激。
编辑:启用 UFW 并添加我的规则(从原始安装中复制)时的 iptables 输出如下:https://pastebin.com/rp5QWLCh