Skocz do zawartości

Neostrada - Automagiczne Ponawianie Polaczenia


magevil

Rekomendowane odpowiedzi

Witam, jak powszechnie wiadomo neostrada utrodnia zycie pragnacym bawic sie openssh :) rozlacza co 24h w celu zmiany ajpi... Jak po taki rozlaczeniu automagicznie ponowic polaczenie? uzywam skryptu NEO_Installer.

 

zainstaluj sobie knemo to niekiedy pomaga i masz pelne statystyki oraz info o polaczeniu. To pieknie integruje sie z kde

Odnośnik do komentarza
Udostępnij na innych stronach

Spróbuj dodać do /etc/inittab

adsl:2345:respawn:/usr/sbin/adsl.inittab

 

niestety powyzszy sposob nie dziala :(

 

hmm kolega mi wykodzil takie cos:

 

#!/usr/bin/perl
use Net::Ping;
@host_array = ('google.com', 'onet.pl', 'slackware.com', 'hp.com', 'allegro.pl', 'seagate.com');
$p = Net::Ping->new("syn");
    $p->{port_num} = getservbyname("http", "tcp");
    foreach $host (@host_array) {
      $p->ping($host);
    if (($host,$rtt,$ip) = $p->ack) { $count++;} 
}
$ipcount = @host_array;
sub iptraf {
    system("pppd call neo");
    system("killall pppd");
    exit;
}
    if ($count != 0){ $succes = sprintf "%.0f",$count/$ipcount*100;} 
    else { &iptraf();} 
if ($succes < 80){ &iptraf();}

 

ale nie bardzo dziala.. odpalil bym to sobie w cronie.. ktos wie czemu to cos nie dziala? :)

 

(Nie pisz postów pod własnymi postami, korzystaj z przycisku "EDYCJA" - WalDo)

Odnośnik do komentarza
Udostępnij na innych stronach

Ja to rozwiązałem prostym skryptem w bashu który dodałem do crona:

# cat if_ppp_up.cron
#!/bin/bash
if ! ( /sbin/ifconfig | grep ppp0 > /dev/null )
then
     # PPP nie zyje
     logger "Polaczenie Neostrada PPPoA nie zyje!; uruchomiony ponownie"
     /usr/sbin/pppd call neo &
fi

Odnośnik do komentarza
Udostępnij na innych stronach

Kilka dni temu po jakiejs aktualizacji gdy tpsa zrywa mi polaczenie nie wywala mi sie proces pppd. Aby ominac ten problem troche przerobilem powyzszy skrypt tak aby dodatkowo sprawdzal pingiem czy wszystko gra

#!/bin/bash
IP=194.204.152.34
PING=$(/bin/ping -c2 -q -w2 $IP | grep transmitted | cut -f3 -d',' |cut -f1 -d',' | cut -f 1 -d'%')

if ! ( /sbin/ifconfig | grep ppp0 > /dev/null )
then
     # PPP nie zyje
     logger "Polaczenie Neostrada PPPoA nie zyje!; uruchomiony ponownie"
     /usr/sbin/pppd call neo 
else
   if ! [ $PING -eq ' 0' ]; then
        # cos nie tak
        logger "Ubito polaczenie Neostrada"
        logger "Podniesiono polaczenie Neostrada"
        /usr/bin/killall pppd && sleep 5
        /usr/sbin/pppd call neo 
   fi
fi

Odnośnik do komentarza
Udostępnij na innych stronach

Sadzę że tak ale trzeba by zmienić nazwę połączenia z neo na nazwę twojego połącznia. (o ile modem netii nie jet ethernetowy tylko usb)

ale uzywam system-config-network ..

Nic nie szkodzi to tylko interfejs graficzny ... to samo zrobisz w powłoce.

Odnośnik do komentarza
Udostępnij na innych stronach

To zamiast

/usr/bin/killall pppd && sleep 5
        /usr/sbin/pppd call neo

wpisz sobie w skrypt

/etc/init.d/network reload

aczkolwiek uważam to za wyjątkowo nieelegancji sposób ponawiania połączenia :/

(_acha_ → aha) ORT i wywal

if ! ( /sbin/ifconfig | grep ppp0 > /dev/null )
then
     # PPP nie zyje
     logger "Polaczenie Neostrada PPPoA nie zyje!; uruchomiony ponownie"
     /usr/sbin/pppd call neo
else

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...