iptables-xml を使うと、iptables-save の出力をより扱いやすい XML 形式に変換し、標準出力に出力することができる。 ファイルに書き出すには、シェルで提供されている I/O リダイレクションを使うこと。
iptables-xml does a mechanistic conversion to a very expressive xml format; the only semantic considerations are for -g and -j targets in order to discriminate between <call> <goto> and <nane-of-target> as it helps xml processing scripts if they can tell the difference between a target like SNAT and another chain.
出力例を以下に示す。
<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>
XML から iptables-save への変換は、以下のように iptables.xslt スクリプトと xsltproc を使って行うことができる。 libxsltproc などを使ったカスタムプログラムで行うことができる。
xsltproc iptables.xslt my-iptables.xml | iptables-restore
[man1]
[man2]
[man3]
[man4]
[man5]
[man6]
[man7]
[man8]
[a]
[b]
[c]
[d]
[e]
[f]
[g]
[h]
[i]
[j]
[k]
[l]
[m]
[n]
[o]
[p]
[q]
[r]
[s]
[t]
[u]
[v]
[w]
[x]
[y]
[z]