OpenVZ CentOS 7 上的防火墙命令

OpenVZ CentOS 7 上的防火墙命令

因此,我一直在尝试在装有 CentOS 7 的 VPS 上设置 Web 服务器。为此,我使用了本教程。MySQL/MariaDB 和 PHP 安装成功。但是我无法访问我的服务器,因为我尚未允许外部访问。

为此,我不得不使用以下三个命令(根据教程):

防火墙cmd --permanent --zone=public --add-service=http

防火墙 cmd --permanent --zone=public --add-service=https

防火墙-cmd——重新加载

找不到命令firewall-cmd,因为根据这个帖子,OpenVZ 安装了精简版的 CentOS7,所以我使用了那里的命令。

但是,使用时弹出以下错误消息systemctl 启动防火墙

Firewalld.service 作业失败。请参阅“systemctl status Firewalld.service”和“journalctl -xn”了解详情。

systemctl 状态firewalld.service -l显示此信息:

firewalld.service -firewalld -动态防火墙守护进程 已加载:已加载(/usr/lib/systemd/system/firewalld.service;已启用) 活动:失败(结果:退出代码)自 2016-07-18 星期一 04:31:46 EDT;6 分钟前 进程:12522 ExecStart=/usr/sbin/firewalld --nofork --nopid $FIREWALLD_ARGS(代码=exited,状态=1/FAILURE) 主 PID:12522(代码=exited,状态=1/FAILURE)

7 月 18 日 04:31:46 Christof2 systemd[1]:firewalld.service: 主进程已退出,代码=已退出,状态=1/失败 7 月 18 日 04:31:46 Christof2 systemd[1]: 无法启动 Firewalld - 动态防火墙守护进程。 7 月 18 日 04:31:46 Christof2 systemd[1]: 单元 Firewalld.service 进入失败状态。

仅供参考:我从全新安装 CentOS7 开始做了所有事情,如果您愿意,我可以简单地重新安装 CentOS 并执行一个不同的步骤,如果这有帮助的话。

答案1

首先,检查您是否具有 ipv6 访问权限,如果没有,则修改您的 etc/firewalld/firewalld.conf 以设置 IPv6_rpfilter = 0并运行systemctl restart firewalld.service

如果仍没有答案,请查看journalctl -u firewalld更多详细信息。

然而,您的主机很可能需要NETFILTER="full"为您的容器配置提供该功能,同时他们还需要将 beancounter 分配numiptent给大约 500 个或更多。

执行这些配置应该允许firewalld在centos7 OpenVZ容器和其他任何内容上启动,您的日志将提供答案。

干杯

答案2

Iptables 作为内核功能,需要在 openvz 主机上明确加载并在每个容器中启用。

如果您有权访问主机,请按照man vzctl并查找--netfilter。旧版 openvz 会采用不同的程序来执行相同操作。

相关内容