Fix NET3 bug (netmap)

This commit is contained in:
Tom Eastep 2010-07-04 15:58:37 -07:00
parent 7689831cd7
commit 312624cef5
10 changed files with 22 additions and 6 deletions

View File

@ -207,6 +207,8 @@ LOAD_HELPERS_ONLY=Yes
REQUIRE_INTERFACE=No REQUIRE_INTERFACE=No
FORWARD_CLEAR_MARK=Yes
############################################################################### ###############################################################################
# P A C K E T D I S P O S I T I O N # P A C K E T D I S P O S I T I O N
############################################################################### ###############################################################################

View File

@ -207,6 +207,8 @@ LOAD_HELPERS_ONLY=Yes
REQUIRE_INTERFACE=No REQUIRE_INTERFACE=No
FORWARD_CLEAR_MARK=Yes
############################################################################### ###############################################################################
# P A C K E T D I S P O S I T I O N # P A C K E T D I S P O S I T I O N
############################################################################### ###############################################################################

View File

@ -214,6 +214,8 @@ LOAD_HELPERS_ONLY=Yes
REQUIRE_INTERFACE=No REQUIRE_INTERFACE=No
FORWARD_CLEAR_MARK=Yes
############################################################################### ###############################################################################
# P A C K E T D I S P O S I T I O N # P A C K E T D I S P O S I T I O N
############################################################################### ###############################################################################

View File

@ -155,6 +155,8 @@ LOAD_HELPERS_ONLY=Yes
REQUIRE_INTERFACE=No REQUIRE_INTERFACE=No
FORWARD_CLEAR_MARK=Yes
############################################################################## ##############################################################################
# P A C K E T D I S P O S I T I O N # P A C K E T D I S P O S I T I O N
############################################################################### ###############################################################################

View File

@ -155,6 +155,8 @@ LOAD_HELPERS_ONLY=Yes
REQUIRE_INTERFACE=No REQUIRE_INTERFACE=No
FORWARD_CLEAR_MARK=Yes
############################################################################### ###############################################################################
# P A C K E T D I S P O S I T I O N # P A C K E T D I S P O S I T I O N
############################################################################### ###############################################################################

View File

@ -155,6 +155,8 @@ LOAD_HELPERS_ONLY=Yes
REQUIRE_INTERFACE=No REQUIRE_INTERFACE=No
FORWARD_CLEAR_MARK=Yes
############################################################################### ###############################################################################
# P A C K E T D I S P O S I T I O N # P A C K E T D I S P O S I T I O N
############################################################################### ###############################################################################

View File

@ -461,15 +461,15 @@ sub setup_netmap() {
fatal_error "Unknown interface ($interface)" unless my $interfaceref = known_interface( $interface ); fatal_error "Unknown interface ($interface)" unless my $interfaceref = known_interface( $interface );
unless ( $interfaceref->{root} ) { unless ( $interfaceref->{root} ) {
$rulein = match_source_dev( $interface ) . match_source_net ( $net3 ); $rulein = match_source_dev( $interface );
$ruleout = match_dest_dev( $interface ) . match_dest_net ( $net3 ); $ruleout = match_dest_dev( $interface );
$interface = $interfaceref->{name}; $interface = $interfaceref->{name};
} }
if ( $type eq 'DNAT' ) { if ( $type eq 'DNAT' ) {
add_rule ensure_chain( 'nat' , input_chain $interface ) , $rulein . "-d $net1 -j NETMAP --to $net2"; add_rule ensure_chain( 'nat' , input_chain $interface ) , $rulein . match_source_net( $net3 ) . "-d $net1 -j NETMAP --to $net2";
} elsif ( $type eq 'SNAT' ) { } elsif ( $type eq 'SNAT' ) {
add_rule ensure_chain( 'nat' , output_chain $interface ) , $ruleout . "-s $net1 -j NETMAP --to $net2"; add_rule ensure_chain( 'nat' , output_chain $interface ) , $ruleout . match_dest_net( $net3 ) . "-s $net1 -j NETMAP --to $net2";
} else { } else {
fatal_error "Invalid type ($type)"; fatal_error "Invalid type ($type)";
} }

View File

@ -196,6 +196,8 @@ LOAD_HELPERS_ONLY=No
REQUIRE_INTERFACE=No REQUIRE_INTERFACE=No
FORWARD_CLEAR_MARK=Yes
############################################################################### ###############################################################################
# P A C K E T D I S P O S I T I O N # P A C K E T D I S P O S I T I O N
############################################################################### ###############################################################################

View File

@ -278,12 +278,12 @@ None.
See http://www.shorewall.net/Vserver.html for details. See http://www.shorewall.net/Vserver.html for details.
2) A new CLEAR_FORWARD_MARK option has been added to shorewall.conf 2) A new FORWARD_CLEAR_MARK option has been added to shorewall.conf
and shorewall6.conf. and shorewall6.conf.
Traditionally, Shorewall has cleared the packet mark in the first Traditionally, Shorewall has cleared the packet mark in the first
rule in the mangle FORWARD chain. This behavior is maintained with rule in the mangle FORWARD chain. This behavior is maintained with
the default setting (CLEAR_FORWARD_MARK=Yes). If the new option is the default setting (FORWARD_CLEAR_MARK=Yes). If the new option is
set to No, packet marks set in the PREROUTING chain are retained in set to No, packet marks set in the PREROUTING chain are retained in
the FORWARD chains. the FORWARD chains.

View File

@ -151,6 +151,8 @@ DYNAMIC_BLACKLIST=Yes
LOAD_HELPERS_ONLY=No LOAD_HELPERS_ONLY=No
FORWARD_CLEAR_MARK=yes
############################################################################### ###############################################################################
# P A C K E T D I S P O S I T I O N # P A C K E T D I S P O S I T I O N
############################################################################### ###############################################################################