我在防火墙的 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
我相信您必须为要添加到防火墙的每个服务传递一次服务选项:
firewall --enabled --service=ssh --service=glusterfs --service=tftp --service=ntp
我不记得您是否可以在 kickstart 中使用 bash 大括号扩展,但它看起来与您最初拥有的很接近:
firewall --enabled --service={ssh,glusterfs,tftp,ntp}
请在下面找到解决此问题的详细信息,根据官方文档
在我的情况下
authconfig
失踪了。其次也遵循@GracefulRestart 的建议以获得正确的语法