使用firewall-cmd 添加firewalld 服务

使用firewall-cmd 添加firewalld 服务

如何以编程方式从命令行为firewalld创建新服务?

我找不到允许我执行此操作的防火墙命令选项。是我遗漏了它还是它实际上不存在?如果是后者,还有其他选择吗?我知道您可以创建一个 .xml 服务文件,但我正在寻找一种更简洁(更不容易出错)的方法来创建服务文件。

答案1

根据此 FedoraForum 主题,目前还无法做到。

然而,在同一个帖子中,这个帖子解释使用导入firewalld绑定的python脚本的可能的解决方法。

简而言之:

python -c "import firewall.core.io.service as ios
s=ios.Service() #Creates a service object
s.short = 'My Matlab Service' #A short description
s.name = 'matlab' #this defines the name of the xml file
s.ports = [('1234', 'tcp'), ('12345', 'udp')] #A list of ports
ios.service_writer(s, '/etc/firewalld/services')"

相关内容