]> git.ipfire.org Git - people/jschlag/ipfire-2.x.git/commitdiff
BUG10994: SNAT rules are missing the outgoing interface
authorAlexander Marx <alexander.marx@ipfire.org>
Mon, 7 Dec 2015 14:57:32 +0000 (15:57 +0100)
committerMichael Tremer <michael.tremer@ipfire.org>
Tue, 15 Dec 2015 13:53:03 +0000 (13:53 +0000)
When creating SNAT rules, the outgoing interface is not set. As a side
effect, traffic that should be send unnatted to a vpn tunnel can be
natted which is a BUG.
With this patch the SNAT rules are getting a outgoing interface
according to the configuration. When selecting the RED Target network,
all SNAT rules will be configured with "-o red0". Otherwise if "all" is
selected, there is no interface in the rule, which matches all networks.

Signed-off-by: Alexander Marx <alexander.marx@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
config/firewall/rules.pl

index daa95651bbecaf02d70bf143856dd6546f082c29..8b0c6ddc8e69ac06339c39e3a1aec11ca47f445f 100644 (file)
@@ -467,6 +467,10 @@ sub buildrules {
                                                } elsif ($NAT_MODE eq "SNAT") {
                                                        my @nat_options = @options;
 
+                                                       if ($destination_intf) {
+                                                               push(@nat_options, ("-o", $destination_intf));
+                                                       }
+
                                                        push(@nat_options, @source_options);
                                                        push(@nat_options, @destination_options);