在 CentOS7 上启用 Firewalld 后无法连接

I cannot connect after enable Firewalld on CentOS7

我正在尝试使用 a guide 将 LAMP 设置到 CentOS7。我尝试 运行 这些命令以允许 HTTP 和 HTTPS 流量:

sudo firewall-cmd --permanent --zone=public --add-service=http 
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

但是系统报错:

FirewallD is not running

所以我 searched 然后应用这些命令:

systemctl enable firewalld
systemctl start firewalld

然后它打印“完成”输出,但我的连接被中止,我无法再使用 IP:Port 和 PuTTy 连接到服务器。

我该怎么办?我只能通过这种方式访问​​服务器。我无法物理访问服务器。

您似乎将自己拒之门外,因为您没有指定 ssh 也应该被允许:

sudo firewall-cmd --permanent --zone=public --add-service=http 
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --permanent --zone=public --add-service=ssh
sudo firewall-cmd --reload

上面的指南似乎假定 ssh 已经被允许。

What should I do? The only access to the server was that way for me. I have no physical access to the server.

因此,此时访问服务器的唯一方法通常是通过托管服务提供商/虚拟化解决方案的 VM 控制台。几乎所有提供商都允许您访问该控制台,因此您应该尝试这样做。通过控制台登录后,您可以 运行 上述命令以允许 SSH 通过 SSH 重新获得访问权限。

打开下面的文件 维/usr/sbin/firewalld

#!/usr/bin/python2.7 -Es

-- 编码:utf-8 --

请注意,如果您的 python 版本只是 python 或另一个版本,请将其重命名为 python2.7

然后 systemctl 启动 firewalld