更改 iptables 后无法访问 XAMPP

更改 iptables 后无法访问 XAMPP

我一直在 CentOS 7 机器上开发 Web 应用程序,并在 Windows 机器上对其进行测试。两台机器都在 LAN 网络中,我可以使用 VNC 查看器(有时也使用 Putty)访问 CentOS 机器。

我一直在尝试使用 FileZilla 访问 CentOS 7 计算机,尝试将文件发送到特定位置。但是,在我添加iptables.conf以下行之后:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT

然后重新启动 iptables 和 ip6tables。

# systemctl restart iptables
# systemctl restart ip6tables

我无法再访问我的 Web 应用程序(通过浏览器),或者通过浏览器或 Windows 资源管理器连接到我的 ftp 服务器。

我已将iptables其恢复到原来的状态并重新启动了iptablesip6tables。我还重新启动了 XAMPP,但我仍然无法从我的 Windows 机器访问它的任何内容。但 VNC 和 Putty 都可以正常工作。有人能告诉我如何重新获得对 XAMPP 的访问权限吗?我显然更改了某些内容,但不知道如何找到并修复它。

答案1

我首先建议清除所有iptables规则,看看是否可以在没有防火墙的情况下进行连接,如下所示:

sudo iptables -F

如果您无需iptables规则即可连接,那么这iptables肯定是搞砸了。如果iptables确实搞砸了,那么我建议您仔细查看您刚刚设置的端口 21 规则。

我不确定你为什么--state NEW在命令中进行设置:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT

这通常只用于链中较高级别的相关规则检查。如果没有规则检查逻辑,我相信网络连接将始终等待“新”连接,如果已经存在连接,那么等待时间可能永远都是。

相反,我推荐这个相同概念的更简单版本:

-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT

另外,你似乎还需要在OUTPUT链上打开端口 20根据这个答案

-A OUTPUT -p tcp -m tcp --dport 20 -j ACCEPT

相关内容