![防火墙在 kickstart 中未按预期工作](https://linux22.com/image/152097/%E9%98%B2%E7%81%AB%E5%A2%99%E5%9C%A8%20kickstart%20%E4%B8%AD%E6%9C%AA%E6%8C%89%E9%A2%84%E6%9C%9F%E5%B7%A5%E4%BD%9C.png)
我在防火墙的 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 的建议以获得正确的语法