<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd"> <refentry> <refmeta> <refentrytitle>shorewall-nat</refentrytitle> <manvolnum>5</manvolnum> </refmeta> <refnamediv> <refname>nat</refname> <refpurpose>Shorewall one-to-one NAT file</refpurpose> </refnamediv> <refsynopsisdiv> <cmdsynopsis> <command>/etc/shorewall/nat</command> </cmdsynopsis> </refsynopsisdiv> <refsect1> <title>Description</title> <para>This file is used to define one-to-one Network Address Translation (NAT).</para> <warning> <para>If all you want to do is simple port forwarding, do NOT use this file. See <ulink url="../FAQ.htm#faq1">http://www.shorewall.net/FAQ.htm#faq1</ulink>. Also, in many cases, Proxy ARP (<ulink url="shorewall-proxyarp.html">shorewall-proxyarp</ulink>(5)) is a better solution that one-to-one NAT.</para> </warning> <para>The columns in the file are as follows (where the column name is followed by a different name in parentheses, the different name is used in the alternate specification syntax).</para> <variablelist> <varlistentry> <term><emphasis role="bold">EXTERNAL</emphasis> - {<emphasis>address</emphasis>|[?]COMMENT}</term> <listitem> <para>External IP Address - this should NOT be the primary IP address of the interface named in the next column and must not be a DNS Name.</para> <para>If you put COMMENT in this column, the rest of the line will be attached as a comment to the Netfilter rule(s) generated by the following entries in the file. The comment will appear delimited by "/* ... */" in the output of "shorewall show nat"</para> <para>To stop the comment from being attached to further rules, simply include COMMENT on a line by itself.</para> <note> <para>Beginning with Shorewall 4.5.11, ?COMMENT is a synonym for COMMENT and is preferred.</para> </note> </listitem> </varlistentry> <varlistentry> <term><emphasis role="bold">INTERFACE</emphasis> - <emphasis>interfacelist</emphasis>[<emphasis role="bold">:</emphasis>[<emphasis>digit</emphasis>]]</term> <listitem> <para>Interfaces that have the <emphasis role="bold">EXTERNAL</emphasis> address. If ADD_IP_ALIASES=Yes in <ulink url="shorewall.conf.html">shorewall.conf</ulink>(5), Shorewall will automatically add the EXTERNAL address to this interface. Also if ADD_IP_ALIASES=Yes, you may follow the interface name with ":" and a <emphasis>digit</emphasis> to indicate that you want Shorewall to add the alias with this name (e.g., "eth0:0"). That allows you to see the alias with ifconfig. <emphasis role="bold">That is the only thing that this name is good for -- you cannot use it anywhere else in your Shorewall configuration. </emphasis></para> <para>Each interface must match an entry in <ulink url="shorewall-interfaces.html">shorewall-interfaces</ulink>(5). Shorewall allows loose matches to wildcard entries in <ulink url="shorewall-interfaces.html">shorewall-interfaces</ulink>(5). For example, <filename class="devicefile">ppp0</filename> in this file will match a <ulink url="shorewall-interfaces.html">shorewall-interfaces</ulink>(5) entry that defines <filename class="devicefile">ppp+</filename>.</para> <para>If you want to override ADD_IP_ALIASES=Yes for a particular entry, follow the interface name with ":" and no digit (e.g., "eth0:").</para> </listitem> </varlistentry> <varlistentry> <term><emphasis role="bold">INTERNAL</emphasis> - <emphasis>address</emphasis></term> <listitem> <para>Internal Address (must not be a DNS Name).</para> </listitem> </varlistentry> <varlistentry> <term><emphasis role="bold">ALL INTERFACES</emphasis> (allints) - [<emphasis role="bold">Yes</emphasis>|<emphasis role="bold">No</emphasis>]</term> <listitem> <para>If Yes or yes, NAT will be effective from all hosts. If No or no (or left empty) then NAT will be effective only through the interface named in the <emphasis role="bold">INTERFACE</emphasis> column.</para> </listitem> </varlistentry> <varlistentry> <term><emphasis role="bold">LOCAL</emphasis> - [<emphasis role="bold">Yes</emphasis>|<emphasis role="bold">No</emphasis>]</term> <listitem> <para>If <emphasis role="bold">Yes</emphasis> or <emphasis role="bold">yes</emphasis>, NAT will be effective from the firewall system</para> </listitem> </varlistentry> </variablelist> </refsect1> <refsect1> <title>FILES</title> <para>/etc/shorewall/nat</para> </refsect1> <refsect1> <title>See ALSO</title> <para><ulink url="http://shorewall.net/NAT.htm">http://shorewall.net/NAT.htm</ulink></para> <para><ulink url="http://shorewall.net/configuration_file_basics.htm#Pairs">http://shorewall.net/configuration_file_basics.htm#Pairs</ulink></para> <para>shorewall(8), shorewall-accounting(5), shorewall-actions(5), shorewall-blacklist(5), shorewall-hosts(5), shorewall_interfaces(5), shorewall-ipsets(5), shorewall-maclist(5), shorewall-masq(5), shorewall-netmap(5), shorewall-params(5), shorewall-policy(5), shorewall-providers(5), shorewall-proxyarp(5), shorewall-rtrules(5), shorewall-routestopped(5), shorewall-rules(5), shorewall.conf(5), shorewall-secmarks(5), shorewall-tcclasses(5), shorewall-tcdevices(5), shorewall-tcrules(5), shorewall-tos(5), shorewall-tunnels(5), shorewall-zones(5)</para> </refsect1> </refentry>