mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-28 11:43:25 +02:00
Und wieder ein commit da ich heute so fleissig bin :D
git-svn-id: http://svn.ipfire.org/svn/ipfire/trunk@690 ea5c0bd1-69bd-2848-81d8-4f18e57aeed8
This commit is contained in:
@@ -955,8 +955,14 @@ sub initprofile
|
|||||||
$pppsettings{'PHONEBOOK'} = 'RELAY_PPP1';
|
$pppsettings{'PHONEBOOK'} = 'RELAY_PPP1';
|
||||||
$pppsettings{'PROTOCOL'} = 'RFC2364';
|
$pppsettings{'PROTOCOL'} = 'RFC2364';
|
||||||
$pppsettings{'METHOD'} = 'PPPOE_PLUGIN';
|
$pppsettings{'METHOD'} = 'PPPOE_PLUGIN';
|
||||||
|
if ( $pppsettings{'METHOD'} eq 'PPPOE_PLUGIN' ){
|
||||||
$pppsettings{'MTU'} = '1492';
|
$pppsettings{'MTU'} = '1492';
|
||||||
$pppsettings{'MRU'} = '1492';
|
$pppsettings{'MRU'} = '1492';
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$pppsettings{'MTU'} = '1452';
|
||||||
|
$pppsettings{'MRU'} = '1452';
|
||||||
|
}
|
||||||
$pppsettings{'DIALMODE'} = 'T';
|
$pppsettings{'DIALMODE'} = 'T';
|
||||||
$pppsettings{'MAXRETRIES'} = 5;
|
$pppsettings{'MAXRETRIES'} = 5;
|
||||||
$pppsettings{'HOLDOFF'} = 30;
|
$pppsettings{'HOLDOFF'} = 30;
|
||||||
|
|||||||
@@ -22,13 +22,12 @@ if ( -e $file ){
|
|||||||
close(FILE);
|
close(FILE);
|
||||||
system("kill -9 $PID");
|
system("kill -9 $PID");
|
||||||
}
|
}
|
||||||
if ($debug){logger("Call of vpn-watch pid not is not existing.");}
|
|
||||||
|
|
||||||
system("echo $$ > $file");
|
system("echo $$ > $file");
|
||||||
|
|
||||||
while ( $i == 0){
|
while ( $i == 0){
|
||||||
sleep(300);
|
|
||||||
if ($debug){logger("We will wait 300 seconds before next action.");}
|
if ($debug){logger("We will wait 300 seconds before next action.");}
|
||||||
|
sleep(300);
|
||||||
|
|
||||||
if (open(FILE, "<${General::swroot}/vpn/config")) {
|
if (open(FILE, "<${General::swroot}/vpn/config")) {
|
||||||
@vpnsettings = <FILE>;
|
@vpnsettings = <FILE>;
|
||||||
@@ -50,10 +49,10 @@ foreach (@vpnsettings){
|
|||||||
|
|
||||||
my $remoteip = `/usr/bin/ping -c 1 $remotehostname 2>/dev/null | head -n1 | awk '{print \$3}' | tr -d '()' | tr -d ':'`;chomp($remoteip);
|
my $remoteip = `/usr/bin/ping -c 1 $remotehostname 2>/dev/null | head -n1 | awk '{print \$3}' | tr -d '()' | tr -d ':'`;chomp($remoteip);
|
||||||
if ($remoteip eq ""){next;if ($debug){logger("Unable to resolve $remotehostname.");}}
|
if ($remoteip eq ""){next;if ($debug){logger("Unable to resolve $remotehostname.");}}
|
||||||
my $connected=system("ipsec whack --status | grep $remoteip >/dev/null");
|
my $connected= `ipsec whack --status | grep $remoteip`;
|
||||||
my $established=system("ipsec whack --status | grep '$settings[1]' | grep 'ISAKMP SA established' >/dev/null");
|
my $established= `ipsec whack --status | grep '$settings[2]' | grep 'ISAKMP SA established'`;
|
||||||
|
|
||||||
if ( $established eq "" || $connected eq "" ){
|
if ( $established eq '' || $connected eq '' ){
|
||||||
logger("Remote IP for host $remotehostname has changed or no connection is established, restarting connection to $remoteip.");
|
logger("Remote IP for host $remotehostname has changed or no connection is established, restarting connection to $remoteip.");
|
||||||
system("/usr/local/bin/ipsecctrl S $settings[0]");
|
system("/usr/local/bin/ipsecctrl S $settings[0]");
|
||||||
next;
|
next;
|
||||||
|
|||||||
Reference in New Issue
Block a user