1、更新软件包

sudo yum update	

使用这条命令来安装防火墙的时候各种报错,脑袋都跟着疼,然后随便取了一条命令问了下GPT,解释如下:

看起来你正在尝试安装或使用 OpenSSH,但是系统提示与现有的 selinux-policy-3.13.1-60.el7.noarch 冲突。这个问题通常是由于系统中已经安装了另一个版本的 OpenSSH 或者存在版本冲突导致的。

以下是几个可能的解决方案:

1. 升级 selinux-policy-3.13.1-60.el7.noarch:如果你已经安装了 selinux-policy-3.13.1-60.el7.noarch,尝试升级它以解决可能存在的兼容性问题。

使用 yum 进行升级:

sudo yum update selinux-policy

2. 尝试安装不同的 OpenSSH 版本:如果可能的话,你可以尝试安装不同版本的 OpenSSH,这可能有助于解决冲突。使用以下命令查看已安装的 OpenSSH 版本:

rpm -qa | grep openssh

如果需要,可以使用 yum 工具卸载旧版本并安装新版本。

3. 手动卸载冲突的包:如果上述方法无法解决问题,你可能需要手动卸载 selinux-policy-3.13.1-60.el7.noarch 或者冲突的 OpenSSH 版本。在卸载之前,最好备份相关的数据和配置文件,以防万一。使用以下命令卸载 selinux-policy:

sudo yum remove selinux-policy

然后,根据情况手动卸载或降级 OpenSSH。

请注意,在执行任何系统级别的操作之前,最好备份重要的数据和配置文件,以防万一出现问题。

如果你提供更多关于你的系统和环境的信息,我可能能够提供更具体的解决方案。

直接卸载,然后重新:

 sudo yum update	

解决!

然后接着往下跑:

2、安装 firewalld

sudo yum install firewalld

3启动

sudo systemctl start firewalld

没想到启动的时候又报错了。。。

firewalld is not running,服务并没有启动

日志如下:

firewalld.service - firewalld - dynamic firewall daemon

Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)

Active: inactive (dead) since Thu 2024-06-13 19:47:52 CST; 1min 32s ago

Docs: man:firewalld(1)

Process: 64429 ExecStart=/usr/sbin/firewalld --nofork --nopid $FIREWALLD_ARGS (code=exited, status=0/SUCCESS)

Main PID: 64429 (code=exited, status=0/SUCCESS)

Jun 13 19:47:52 yisu-666a67f218ed5 systemd[1]: Starting firewalld - dynamic firewall daemon...

Jun 13 19:47:52 yisu-666a67f218ed5 firewalld[64429]: ERROR: Exception DBusException: org.freedesktop....ile

Jun 13 19:47:52 yisu-666a67f218ed5 systemd[1]: Started firewalld - dynamic firewall daemon.

Hint: Some lines were ellipsized, use -l to show in full.

然后默默的复制报错,问了一下GPT,答案如下:

从您提供的系统日志信息来看,firewalld服务在尝试启动时遇到了一个问题,具体是 DBusException 异常。这通常意味着 firewalld 服务尝试通过 D-Bus 与另一个服务进行通信时遇到了问题。

以下是一些可能的解决方案:

1. 重启 D-Bus 服务

有时,重启 D-Bus 服务可以解决这些问题。在大多数基于 Red Hat 的系统上,D-Bus 服务的名称是 dbus.service。您可以使用以下命令重启 D-Bus:

   sudo systemctl restart dbus.service

2. 检查 D-Bus 服务状态

在尝试重启 D-Bus 之前,您可能想要检查它的状态,以确保它实际上是运行的:

   sudo systemctl status dbus.service

3. 查看 firewalld 日志

查看 firewalld 的详细日志可能会提供更多关于问题的信息。通常,这些日志位于 /var/log/firewalld/var/log/messages

   tail -f /var/log/firewalld/*.log

或者,如果您无法直接访问这些日志文件:

   less /var/log/messages

4. 检查 firewalld 配置

确保 firewalld 的配置文件没有问题。位于 /etc/firewalld 的配置文件应该检查一下。

5. 手动启动 firewalld

如果服务无法自动启动,您可以尝试手动启动 firewalld:

   sudo systemctl start firewalld.service

6. 查看内核消息

内核日志可能会包含与网络相关的其他信息,有时这些信息对于解决问题很重要。可以使用以下命令查看内核日志:

   dmesg

如果以上步骤都无法解决问题,可能需要更详细的系统检查,包括硬件和软件环境,以及可能的依赖性问题。在处理这些问题时,请确保遵循系统管理的最佳实践,并在可能的情况下备份重要数据。

重启服务得以解决。

4、如果你在远程位置连接你的服务器,在启用 firewalld 防火墙之前,你必须显式允许进来的 SSH 连接。否则,你将永远都无法连接到机器上。

接着执行下一条命令

sudo firewall-cmd --zone=public --add-port=22/tcp --permanent

提示成功:success

如果 SSH 运行在非标准端口,你需要将上述命令中的 22 端口替换为对应的 SSH 端口。

5、放开 1Panel 系统端口。

sudo firewall-cmd --zone=public --add-port=8090/tcp --permanent

上述命令中的 8090 端口需要替换为安装 1Panel 系统时自定义的端口。

提示成功:success

6、重新加载防火墙规则,使更改生效

sudo firewall-cmd --reload

提示成功:success

7、设置开机启动 firewalld

sudo systemctl enable firewalld

完美结束。