「iptables-xml(1)」-

将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 创建文章