将iptables-save格式转换为XML
命令语法格式
iptables-xml [-c] [-v]
命令描述
iptables-xml用于将iptables-save的输出转换为易于操作的XML格式到标准输出。使用Shell提供的I/O重定向来写入文件。
命令支持的选项及含义
-c, –combine
将连续规则与相同匹配但不同目标相结合。iptables目前不支持每个匹配多个目标,因此这通过将连续iptables规则中的目标收集到一个操作标记中来模拟,但仅当规则匹配时才相同。 终止操作(RETURN,DROP,ACCEPT,QUEUE等)不会与后续目标结合使用。
-v, –verbose
输出XML注释,其中包含从中派生XML的iptables行。
注意事项
iptables-xml将机制转换为非常有表现力的xml格式;唯一的语义考虑因素是-g和-j目标,以区分<call>、<goto>、<nane-of-target>,因为它可以帮助xml处理脚本,如果它们可以区分像SNAT目标和另一个链。
输出示例
<iptables-rules> <table name="mangle"> <chain name="PREROUTING" policy="ACCEPT" packet-count="63436" byte-count="7137573"> <rule> <conditions> <match> <p>tcp</p> </match> <tcp> <sport>8443</sport> </tcp> </conditions> <actions> <call> <check_ip/> </call> <ACCEPT/> </actions> </rule> </chain> </table> </iptables-rules>
可以使用iptables.xslt脚本和xsltproc或使用libxsltproc或类似的自定义程序从XML转换为iptables-save格式;以这种方式:xsltproc iptables.xslt my-iptables.xml | iptables-restore
相关手册
iptables-save(8), iptables-restore(8), iptables(8)
参考文献
- man 1 iptables-xml, Version 1.6.0+snapshot20161117-6
更新日志
- 09/16/2018 创建文章