IPTABLES-XML(1) iptables 1.8.11 IPTABLES-XML(1)

iptables-xml - تبدیل خروجی iptables-save به فرمت XML

iptables-xml [-c] [-v]

دستور iptables-xml برای تبدیل خروجی iptables-save به یک قالب XML با قابلیت دستکاری آسان در خروجی استاندارد (STDOUT) استفاده می‌شود. برای نوشتن در یک فایل، از تغییر مسیر ورودی/خروجی (I/O redirection) پوسته استفاده کنید.

قوانین متوالی با تطابق‌های یکسان اما هدف‌های متفاوت را با یکدیگر ترکیب می‌کند. iptables در حال حاضر از بیش از یک هدف برای هر تطابق پشتیبانی نمی‌کند، بنابراین این گزینه با جمع‌آوری هدف‌ها از قوانین متوالی iptables در یک برچسب اقدام (action tag)، این رفتار را شبیه‌سازی می‌کند؛ اما تنها در صورتی که تطابق‌های قوانین کاملاً یکسان باشند. اقدامات پایانی مانند RETURN، DROP، ACCEPT و QUEUE با هدف‌های پس از خود ترکیب نمی‌شوند.
توضیحات (کامنت‌های) XML شامل خطی از iptables که XML از آن برگرفته شده است را در خروجی درج می‌کند.

دستور iptables-xml تبدیلی ساختاریافته و مکانیکی را به یک قالب بسیار گویای XML انجام می‌دهد؛ تنها ملاحظات معنایی برای هدف‌های -g و -j به منظور تفکیک بین <call>، <goto> و <name-of-target> لحاظ شده است، زیرا توانایی تشخیص تفاوت بین هدفی مانند SNAT و یک زنجیره دیگر، به اسکریپت‌های پردازش XML کمک می‌کند.

نمونه‌ای از خروجی به شرح زیر است:

<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

تا زمان انتشار نسخه iptables-1.3.7 هیچ اشکال شناخته‌شده‌ای وجود ندارد.

Sam Liddicott <azez@ufomechanic.net>

iptables-save(8)، iptables-restore(8)، iptables(8)

iptables 1.8.11