防火墙在 kickstart 中未按预期工作

防火墙在 kickstart 中未按预期工作

我在防火墙的 kickstart 中有以下行

firewall --enabled --service=ssh,glusterfs,tftp,ntp

我期望 tftp 服务器应该可以从其他系统访问,但它只能从本地服务器访问。

firewall-cmd  --list-services
ssh dhcpv6-client

我做了以下步骤,它开始工作

firewall-cmd --permanent --zone=public --add-service=tftp
firewall-cmd --reload

为什么 kickstart 防火墙命令不起作用,也没有抛出任何错误

更新1:在 @Gracefulrestart 回复后,我尝试了以下选项,但仍然没有成功

firewall --enabled --service=ssh --service=glusterfs --service=tftp --service=ntp
firewall --enabled --service={ssh,glusterfs,tftp,ntp}

列表服务的输出是

firewall-cmd  --list-services
ssh dhcpv6-client

手动添加后

firewall-cmd --permanent --zone=public --add-service=tftp

firewall-cmd  --list-services
ssh dhcpv6-client tftp

以下是日志摘录 /var/log/anaconda/journal.log

Apr 23 10:48:10 localhost program[6875]: Running... /usr/bin/firewall-offline-cmd --enabled --port=30083:tcp --port=9090:tcp --port=8080:tcp --service=tftp --service=ssh --service=glusterfs --service=ntp
Apr 23 10:48:10 localhost systemd[1]: Started Locale Service.
Apr 23 10:48:10 localhost program[6875]: INVALID_SERVICE: 'glusterfs' not among existing services
Apr 23 10:48:10 localhost program[6875]: Adding service 'tftp' to default zone.
Apr 23 10:48:10 localhost program[6875]: Adding service 'ssh' to default zone.
Apr 23 10:48:10 localhost program[6875]: ALREADY_ENABLED: ssh
Apr 23 10:48:10 localhost program[6875]: Adding service 'glusterfs' to default zone.
Apr 23 10:48:10 localhost program[6875]: Adding service 'ntp' to default zone.
Apr 23 10:48:10 localhost program[6875]: Adding port '30083/tcp' to default zone.
Apr 23 10:48:10 localhost program[6875]: Adding port '9090/tcp' to default zone.
Apr 23 10:48:10 localhost program[6875]: Adding port '8080/tcp' to default zone.
Apr 23 10:48:10 localhost program[6875]: Return code: 2

答案1

我相信您必须为要添加到防火墙的每个服务传递一次服务选项:

firewall --enabled --service=ssh --service=glusterfs --service=tftp --service=ntp

我不记得你是否可以在 kickstart 中使用 bash 大括号扩展,但它看起来与你最初拥有的很接近:

firewall --enabled --service={ssh,glusterfs,tftp,ntp}

答案2

请按照官方文档查找以下详细信息来解决此问题

A minimal installation's %packages section which will also configure the firewall 
will look similar to the following:

%packages
@Core
authconfig
system-config-firewall-base

就我而言authconfig,失踪了。

其次还要遵循 @GracefulRestart 的建议以获得正确的语法

相关内容