forked from extern/shorewall_code
Make NETMAP acutally work
git-svn-id: https://shorewall.svn.sourceforge.net/svnroot/shorewall/trunk@1206 fbd18981-670d-0410-9b5c-8dc0c1a9a2bb
This commit is contained in:
parent
8d260b7da0
commit
f300c9b31d
@ -1779,15 +1779,26 @@ delete_nat() {
|
||||
# Setup Network Mapping (NETMAP)
|
||||
#
|
||||
setup_netmap() {
|
||||
local allints
|
||||
|
||||
while read net1 interface net2 ; do
|
||||
expandv net1 interface net2
|
||||
|
||||
addnatrule $(input_chain $interface) -d $net1 -j NETMAP --to $net2
|
||||
addnatrule $(output_chain $interface) -s $net2 -j NETMAP --to $net1
|
||||
while read type net1 interface net2 ; do
|
||||
expandv type net1 interface net2
|
||||
|
||||
echo " Network $net1 on $interface mapped to $net2"
|
||||
list_search $interface $all_interfaces || \
|
||||
fatal_error "Unknown interface $interface in entry \"$type $net1 $interface $net2\""
|
||||
|
||||
case $type in
|
||||
DNAT)
|
||||
addnatrule $(input_chain $interface) -d $net1 -j NETMAP --to $net2
|
||||
;;
|
||||
SNAT)
|
||||
addnatrule $(output_chain $interface) -s $net1 -j NETMAP --to $net2
|
||||
;;
|
||||
*)
|
||||
fatal_error "Unvalid type $type in entry \"$type $net1 $interface $net2\""
|
||||
;;
|
||||
esac
|
||||
|
||||
echo " Network $net1 on $interface mapped to $net2 ($type)"
|
||||
|
||||
done < $TMP_DIR/netmap
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user