]> git.ipfire.org Git - people/teissler/ipfire-2.x.git/blobdiff - config/forwardfw/rules.pl
Forward Firewall: changed /etc/init.d/firewall. deleted stop routine and rearranged...
[people/teissler/ipfire-2.x.git] / config / forwardfw / rules.pl
index 1cbbee7a58b77e4358cfaf74253c0ceda8cb09b9..9f9f7e9919d118b204bd73c427b6d4a4b431bf27 100755 (executable)
@@ -179,7 +179,7 @@ sub buildrules
        my $nat;
        my $fwaccessdport;
        foreach my $key (sort {$a <=> $b} keys %$hash){
-               next if ($$hash{$key}[6] eq 'RED' && $conexists eq 'off' );
+               next if (($$hash{$key}[6] eq 'RED' || $$hash{$key}[6] eq 'RED1') && $conexists eq 'off' );
                if ($$hash{$key}[28] eq 'ON'){
                        $command='iptables -t nat -A';
                        $natip=&get_nat_ip($$hash{$key}[29],$$hash{$key}[31]);
@@ -215,8 +215,20 @@ sub buildrules
                                        }
                                }
                        }elsif($$hash{$key}[5] eq 'ipfire'){
-                               if($$hash{$key}[6] eq 'Default IP'){
-                                       open(FILE, "/var/ipfire/red/local-ipaddress") or die 'Unable to open config file.';
+                               if($$hash{$key}[6] eq 'GREEN'){
+                                       $targethash{$key}[0]=$defaultNetworks{'GREEN_ADDRESS'};
+                               }
+                               if($$hash{$key}[6] eq 'BLUE'){
+                                       $targethash{$key}[0]=$defaultNetworks{'BLUE_ADDRESS'};
+                               }
+                               if($$hash{$key}[6] eq 'ORANGE'){
+                                       $targethash{$key}[0]=$defaultNetworks{'ORANGE_ADDRESS'};
+                               }
+                               if($$hash{$key}[6] eq 'ALL'){
+                                       $targethash{$key}[0]='0.0.0.0/0';
+                               }
+                               if($$hash{$key}[6] eq 'RED' || $$hash{$key}[6] eq 'RED1'){
+                                       open(FILE, "/var/ipfire/red/local-ipaddress")or die "Couldn't open local-ipaddress";
                                        $targethash{$key}[0]= <FILE>;
                                        close(FILE);
                                }else{
@@ -494,7 +506,7 @@ sub get_address
        }elsif($base eq 'ovpn_host_src' ||$base eq 'ovpn_host_tgt' || $base eq 'OpenVPN static host'){
                $$hash{$key}[0]=&fwlib::get_ovpn_host_ip($base2,33);
        }elsif($base eq 'ovpn_n2n_src' ||$base eq 'ovpn_n2n_tgt' || $base eq 'OpenVPN N-2-N'){
-               $$hash{$key}[0]=&fwlib::get_ovpn_n2n_ip($base2,27);
+               $$hash{$key}[0]=&fwlib::get_ovpn_n2n_ip($base2,11);
        }elsif($base eq 'ipsec_net_src' || $base eq 'ipsec_net_tgt' || $base eq 'IpSec Network'){
                $$hash{$key}[0]=&fwlib::get_ipsec_net_ip($base2,11);
        }