做了一些愚蠢的事情,中断了“某些端口”的以太网访问

做了一些愚蠢的事情,中断了“某些端口”的以太网访问

我刚刚在我的服务器上安装了 Ubuntu Server 20.04,但是我没有仔细观察就执行了一个自动脚本,结果出现了非常奇怪的情况。

我还在该服务器上启用了多个 Web 服务器,但使用的是备用端口。在执行此操作之前,我可以通过输入服务器的以太网地址及其端口轻松访问它们。但执行此操作后,我不知道为什么它不起作用。以下是我可以提供的一些信息:

  1. 端口 22(SSHD)、25(Postfix)、80 和 443(Apache)都运行良好。我的 Nginx 服务器监听所有其他端口,例如,如果我让它监听端口 30000,我将能够通过以下方式查看 Nginx 占用的端口:

    lsof -i:40000

但出于某种原因,虽然监听所有其他端口都无法访问,但如果我停止 apache 并让 nginx 监听 80 和 443,它就会起作用。但是,如果我让 Nginx 监听 81 和 444,就不行了。

  1. 不是路由器的问题,不过telnet Nginx address:port 没有反应。

  2. 从以太网访问不起作用,但如果我在本地主机上执行此操作,例如我通过 ssh 和“telnet localhost 40000”登录到我的服务器,我就可以得到 Nginx 的响应。

  3. 所有问题可能都是由于 iRedmail 安装不小心造成的。我仍在研究它的安装脚本。

如果您有任何想法,请告诉我,真的不想为此重新安装整个服务器......提前谢谢!

答案1

此问题是由 iRedmail 安装脚本中提供的 nftable 规则引起的。在安装结束时,脚本会询问您是否要应用 iRedmail 提供的规则。如果您接受,则会备份并替换原始的 nftables.conf。备份文件位于 /etc/nftables.conf-[date]。

删除 iRedmail 提供的 nftables,并恢复备份。它将再次工作。

相关内容