firehol-masquerade - set up masquerading (NAT) on an interface
masquerade real-interface rule-params
masquerade [reverse] rule-params
The masquerade
helper command sets up masquerading on the output of a real network interface (as opposed to a FireHOL interface
definition).
If a real-interface is specified the command should be used before any interface
or router
definitions. Multiple values can be given separated by whitespace, so long as they are enclosed in quotes.
If used within an interface
definition the definition’s real-interface will be used.
If used within a router definition the definition’s outface
(s) will be used, if specified. If the reverse
option is given, then the definition’s inface
(s) will be used, if specified.
Unlike most commands, masquerade
does not inherit its parent definition’s rule-params, it only honours its own. The inface
and outface
parameters should not be used (iptables(8) does not support inface in the POSTROUTING chain and outface will be overwritten by FireHOL using the rules above).
Note
The masquerade always applies to the output of the chosen network interfaces.
FIREHOL_NAT will be turned on automatically (see firehol-defaults.conf(5) ) and FireHOL will enable packet-forwarding in the kernel.
Masquerading is a special form of Source NAT (SNAT) that changes the source of requests when they go out and replaces their original source when they come in. This way a Linux host can become an Internet router for a LAN of clients having unroutable IP addresses. Masquerading takes care to re-map IP addresses and ports as required.
Masquerading is expensive compare to SNAT because it checks the IP address of the outgoing interface every time for every packet. If your host has a static IP address you should generally prefer SNAT.
# Before any interface or router
masquerade eth0 src 192.0.2.0/24 dst not 192.0.2.0/24
# In an interface definition to masquerade the output of its real-interface
masquerade
# In a router definition to masquerade the output of its outface
masquerade
# In a router definition to masquerade the output of its inface
masquerade reverse