mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-10 02:55:55 +02:00
Add ovpn-ccd-convert script.
This script is required, to convert existing OpenVPN roadwarrior configurations to work with the new CCD extension.
This commit is contained in:
@@ -95,6 +95,7 @@ usr/local/bin/vpn-watch
|
||||
#usr/local/share/zoneinfo
|
||||
#usr/local/src
|
||||
#usr/sbin
|
||||
usr/sbin/ovpn-ccd-convert
|
||||
#usr/share
|
||||
#usr/share/doc
|
||||
#usr/share/doc/licenses
|
||||
|
||||
@@ -89,6 +89,9 @@ $(TARGET) :
|
||||
chmod 755 /usr/local/bin/`basename $$i`; \
|
||||
done
|
||||
|
||||
# Move script to correct place.
|
||||
mv -vf /usr/local/bin/ovpn-ccd-convert /usr/sbin/
|
||||
|
||||
# Nobody user
|
||||
-mkdir -p /home/nobody
|
||||
chown -R nobody:nobody /home/nobody
|
||||
|
||||
45
src/scripts/ovpn-ccd-convert
Normal file
45
src/scripts/ovpn-ccd-convert
Normal file
@@ -0,0 +1,45 @@
|
||||
#!/usr/bin/perl
|
||||
|
||||
my %net=();
|
||||
my %ovpnconfig=();
|
||||
my @serverconf=();
|
||||
my $greennet;
|
||||
my $greensubnet;
|
||||
|
||||
require '/var/ipfire/general-functions.pl';
|
||||
|
||||
if ( -e "/var/run/openvpn.pid"){
|
||||
system('/usr/local/bin/openvpnctrl', '-k');
|
||||
}
|
||||
|
||||
&General::readhash("/var/ipfire/ethernet/settings", \%net);
|
||||
$greennet=$net{'GREEN_NETADDRESS'};
|
||||
$greensubnet=$net{'GREEN_NETMASK'};
|
||||
open(FILE,"/var/ipfire/ovpn/server.conf");
|
||||
while (<FILE>) {
|
||||
$_=~s/\s*$//g;
|
||||
if ($_ ne "route $greennet $greensubnet"){
|
||||
push (@serverconf,$_."\n");
|
||||
}else{
|
||||
print"\nFound ROUTE >>route $greennet $greensubnet<< in server.conf.. Deleted!";
|
||||
}
|
||||
}
|
||||
|
||||
&General::readhasharray("/var/ipfire/ovpn/ovpnconfig", \%ovpnconfig);
|
||||
foreach my $key (keys %ovpnconfig){
|
||||
if($ovpnconfig{$key}[32] eq ''){
|
||||
open ( CCDRWCONF,'>',"/var/ipfire/ovpn/ccd/$ovpnconfig{$key}[2]") or die "Unable to create clientconfigfile $!";
|
||||
print CCDRWCONF "# OpenVPN Clientconfig from CCD extension by Copymaster#\n\n";
|
||||
print CCDRWCONF "#This client uses the dynamic pool\n\n";
|
||||
print CCDRWCONF "\n#Client gets routes to these Networks (behind IPFIRE)\n";
|
||||
print CCDRWCONF "push \"route $greennet $greensubnet\"\n";
|
||||
close CCDRWCONF;
|
||||
print"Client $ovpnconfig{$key}[2] converted! \n";
|
||||
}else{
|
||||
print "Client $ovpnconfig{$key}[2] NOT converted!\n";
|
||||
}
|
||||
$ovpnconfig{$key}[32] = 'dynamic';
|
||||
}
|
||||
&General::writehasharray("/var/ipfire/ovpn/ovpnconfig", \%ovpnconfig);
|
||||
system('/usr/local/bin/openvpnctrl', '-s');
|
||||
|
||||
Reference in New Issue
Block a user