Ik zit met het volgende probleem:
Ik heb hier een server staan met daarop een PoPToP server. Nu is het zo dat een VPN/PPP verbinding wel eens wegvalt en daarom moet een gebruiker opnieuw inloggen. Het probleem is dan dat de VPN verbinding op de server nog niet weg is en pptpd zorgt er dan voor dat de nieuwe interface geblokkeerd wordt tot dat de oude weg is (wat niet meer kan omdat deze nergens 'echt' actief meer is).
Ik heb daarop de volgende workaround gevonden: in het /etc/ppp/ip-up script worden de oude ppp* interfaces opgezocht die bij de account/vpn-ip horen. Vervolgens moet deze oude verbinding worden verbroken. Dit is dan het probleem waar dit topic over gaat: hoe verbreek ik de oude verbinding juist?
Nu doe ik bijvoorbeeld gewoon "ifconfig ppp0 down", maar dit verbreek de verbinding niet compleet, omdat er ook nog processen achter zitten e.d. Het werkt deels, maae het gaat in ieder gavel niet op de manier hoe dat pptpd de verbindingen normaal verbreekt (als de gebruik van uit zijn eigen client de verbinding verbreekt). Ik heb wel een script gevonden uit Webmin die ppp verbindingen wel op de juiste manier kan verbreken, maar hier kan ik weinig wijs uit:
Ook via dit forum en via Google kan ik niet echt wat concreets vinden, wie helpt mij uit de brand, want ik denk zelf dat het niet erg moeilijk kan zijn.
Ik heb hier een server staan met daarop een PoPToP server. Nu is het zo dat een VPN/PPP verbinding wel eens wegvalt en daarom moet een gebruiker opnieuw inloggen. Het probleem is dan dat de VPN verbinding op de server nog niet weg is en pptpd zorgt er dan voor dat de nieuwe interface geblokkeerd wordt tot dat de oude weg is (wat niet meer kan omdat deze nergens 'echt' actief meer is).
Ik heb daarop de volgende workaround gevonden: in het /etc/ppp/ip-up script worden de oude ppp* interfaces opgezocht die bij de account/vpn-ip horen. Vervolgens moet deze oude verbinding worden verbroken. Dit is dan het probleem waar dit topic over gaat: hoe verbreek ik de oude verbinding juist?
Nu doe ik bijvoorbeeld gewoon "ifconfig ppp0 down", maar dit verbreek de verbinding niet compleet, omdat er ook nog processen achter zitten e.d. Het werkt deels, maae het gaat in ieder gavel niet op de manier hoe dat pptpd de verbindingen normaal verbreekt (als de gebruik van uit zijn eigen client de verbinding verbreekt). Ik heb wel een script gevonden uit Webmin die ppp verbindingen wel op de juiste manier kan verbreken, maar hier kan ik weinig wijs uit:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| #!/usr/local/bin/perl
# disc.cgi
# Disconnect a VPN connection
require './pptp-server-lib.pl';
&ReadParse();
&error_setup($text{'disc_err'});
$access{'conns'} || &error($text{'conns_ecannot'});
@conns = &list_connections();
($conn) = grep { $_->[0] eq $in{'pid'} } @conns;
$conn || &error($text{'disc_egone'});
&kill_logged('TERM', $conn->[0]) || &error($text{'disc_ekill'});
&kill_logged('TERM', $conn->[1]);
sleep(2); # wait for it to quit
&webmin_log("disc", undef, $conn->[2]);
&redirect("list_conns.cgi"); |
Ook via dit forum en via Google kan ik niet echt wat concreets vinden, wie helpt mij uit de brand, want ik denk zelf dat het niet erg moeilijk kan zijn.