我一直在 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
其恢复到原来的状态并重新启动了iptables
和ip6tables
。我还重新启动了 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