table of contents
SHOREWALL-NAT(5) | Configuration Files | SHOREWALL-NAT(5) |
NAME¶
nat - Shorewall one-to-one NAT fileSYNOPSIS¶
/etc/shorewall/nat
DESCRIPTION¶
This file is used to define one-to-one Network Address Translation (NAT).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.
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"
To stop the comment from being attached to further rules, simply include COMMENT
on a line by itself.
Note
Beginning with Shorewall 4.5.11, ?COMMENT is a synonym for COMMENT and is
preferred.
INTERFACE - interfacelist[:[digit]]
Interfaces that have the EXTERNAL address. If
ADD_IP_ALIASES=Yes in shorewall.conf[3](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
digit 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. That is the only thing that this name is good for -- you cannot
use it anywhere else in your Shorewall configuration.
Each interface must match an entry in shorewall-interfaces[4](5).
Shorewall allows loose matches to wildcard entries in
shorewall-interfaces[4](5). For example, ppp0 in this file will match a
shorewall-interfaces[4](5) entry that defines ppp+.
If you want to override ADD_IP_ALIASES=Yes for a particular entry, follow the
interface name with ":" and no digit (e.g.,
"eth0:").
INTERNAL - address
Internal Address (must not be a DNS Name).
ALL INTERFACES (allints) - [Yes|No]
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 INTERFACE column.
LOCAL - [Yes|No]
If Yes or yes, NAT will be effective from
the firewall system
RESTRICTIONS¶
DNAT rules always preempt one-to-one NAT rules. This has subtile consequences when there are sub-zones on an interface. Consider the following: /etc/shorewall/zones:#ZONE TYPE OPTIONS IN OUT # OPTIONS OPTIONS fw firewall net ipv4 loc ipv4 smc:net ipv4
#ZONE INTERFACE OPTIONS net eth0 dhcp,tcpflags,nosmurfs,routefilter,logmartians,sourceroute=0 loc eth1 tcpflags,nosmurfs,routefilter,logmartians
#ZONE HOST(S) OPTIONS smc eth0:10.1.10.0/24
#EXTERNAL INTERFACE INTERNAL ALL LOCAL # INTERFACES 10.1.10.100 eth0 172.20.1.100
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL RATE USER/ MARK CONNLIMIT TIME HEADERS SWITCH HELPER # PORT PORT(S) DEST LIMIT GROUP ?SECTION ALL ?SECTION ESTABLISHED ?SECTION RELATED ?SECTION INVALID ?SECTION UNTRACKED ?SECTION NEW ... DNAT net loc:172.20.1.4 tcp 80
1.Define a CONTINUE policy with smc as the SOURCE
zone (preferred):
#SOURCE DEST POLICY LOG LEVEL LIMIT:BURST smc $FW CONTINUE loc net ACCEPT net all DROP info # THE FOLLOWING POLICY MUST BE LAST all all REJECT info
2.Set IMPLICIT_CONTINUE=Yes in
shorewall.conf(5)[5].
FILES¶
/etc/shorewall/natSEE ALSO¶
http://www.shorewall.net/NAT.htm[6] http://www.shorewall.net/configuration_file_basics.htm#Pairs[7] 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-mangle(5), shorewall-tos(5), shorewall-tunnels(5), shorewall-zones(5)NOTES¶
- 2.
- shorewall-proxyarp
- 3.
- shorewall.conf
- 4.
- shorewall-interfaces
10/19/2014 | Configuration Files |