![做了一些愚蠢的事情,中断了“某些端口”的以太网访问](https://linux22.com/image/774783/%E5%81%9A%E4%BA%86%E4%B8%80%E4%BA%9B%E6%84%9A%E8%A0%A2%E7%9A%84%E4%BA%8B%E6%83%85%EF%BC%8C%E4%B8%AD%E6%96%AD%E4%BA%86%E2%80%9C%E6%9F%90%E4%BA%9B%E7%AB%AF%E5%8F%A3%E2%80%9D%E7%9A%84%E4%BB%A5%E5%A4%AA%E7%BD%91%E8%AE%BF%E9%97%AE.png)
我刚刚在我的服务器上安装了 Ubuntu Server 20.04,但是我没有仔细观察就执行了一个自动脚本,结果出现了非常奇怪的情况。
我还在该服务器上启用了多个 Web 服务器,但使用的是备用端口。在执行此操作之前,我可以通过输入服务器的以太网地址及其端口轻松访问它们。但执行此操作后,我不知道为什么它不起作用。以下是我可以提供的一些信息:
端口 22(SSHD)、25(Postfix)、80 和 443(Apache)都运行良好。我的 Nginx 服务器监听所有其他端口,例如,如果我让它监听端口 30000,我将能够通过以下方式查看 Nginx 占用的端口:
lsof -i:40000
但出于某种原因,虽然监听所有其他端口都无法访问,但如果我停止 apache 并让 nginx 监听 80 和 443,它就会起作用。但是,如果我让 Nginx 监听 81 和 444,就不行了。
不是路由器的问题,不过telnet Nginx address:port 没有反应。
从以太网访问不起作用,但如果我在本地主机上执行此操作,例如我通过 ssh 和“telnet localhost 40000”登录到我的服务器,我就可以得到 Nginx 的响应。
所有问题可能都是由于 iRedmail 安装不小心造成的。我仍在研究它的安装脚本。
如果您有任何想法,请告诉我,真的不想为此重新安装整个服务器......提前谢谢!
答案1
此问题是由 iRedmail 安装脚本中提供的 nftable 规则引起的。在安装结束时,脚本会询问您是否要应用 iRedmail 提供的规则。如果您接受,则会备份并替换原始的 nftables.conf。备份文件位于 /etc/nftables.conf-[date]。
删除 iRedmail 提供的 nftables,并恢复备份。它将再次工作。