]> git.proxmox.com Git - pve-firewall.git/commitdiff
clear mark when entering tapXZY-OUT chain
authorDietmar Maurer <dietmar@proxmox.com>
Tue, 4 Mar 2014 10:46:24 +0000 (11:46 +0100)
committerDietmar Maurer <dietmar@proxmox.com>
Tue, 4 Mar 2014 10:46:24 +0000 (11:46 +0100)
src/PVE/Firewall.pm

index 9afddd088acefdc1f6331b9f18d8f399189a5eb2..14f57b7168acfd6d894ffb07e3288896cbc756c1 100644 (file)
@@ -908,9 +908,11 @@ sub generate_tap_rules_direction {
     ruleset_addrule($ruleset, $tapchain, "-m conntrack --ctstate INVALID -j DROP");
     ruleset_addrule($ruleset, $tapchain, "-m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT");
 
     ruleset_addrule($ruleset, $tapchain, "-m conntrack --ctstate INVALID -j DROP");
     ruleset_addrule($ruleset, $tapchain, "-m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT");
 
-    if ($direction eq 'OUT' && defined($macaddr) && 
-       !(defined($options->{macfilter}) && $options->{macfilter} == 0)) {
-       ruleset_addrule($ruleset, $tapchain, "-m mac ! --mac-source $macaddr -j DROP");
+    if ($direction eq 'OUT') {
+       if (defined($macaddr) && !(defined($options->{macfilter}) && $options->{macfilter} == 0)) {
+           ruleset_addrule($ruleset, $tapchain, "-m mac ! --mac-source $macaddr -j DROP");
+       }
+       ruleset_addrule($ruleset, $tapchain, "-j MARK --set-mark 0"); # clear mark
     }
 
     foreach my $rule (@$rules) {
     }
 
     foreach my $rule (@$rules) {