Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [debian][networking] ripristino connessione

    Ciao a tutti!!

    son passato da pochi giorni alla debian dalla vecchia mandrake (visto che le ultime distro mandriva fanno pietà) e devo dire che mi trovo alla grande
    Sono riuscito a configurare tutto, inclusa la scheda wireless.
    C'è un ultimo problema però, per il quale avrò bisogno del vostro aiuto

    Non riesco a capire come far eseguire in automatico il ripristino della connessione.
    Mi spiego meglio.
    Ho messo la debian sia sul mio serverino domestico, sia sul mio pc.
    Oggi mi è capitato di riavviare l'AP wireless.
    I pc hanno quindi perso la connessione.
    Nessun problema sul mio portatile dove me la sono cavata con un

    ifconfig wlan0 up
    dhclient wlan0

    Per il serverino la situazione si è resa difficile visto che non ha tastiera/mouse/monitor e l'unico modo che ho per raggiungerlo è SSH e naturalmente senza il collegamento non posso accederci.

    La connessione wlan0 viene attivata automaticamente tramite lo script /etc/network/interfaces al boot, quindi per adesso mi sono limitato ad uno sporco reset.
    La prossima volta però, vorrei che il server tenti automaticamente la riconnessione e la ripristini appena possibile.

    Ho visto che sulla cartella /etc/network esistono alcune dir dal nome piuttosto auto-esplicativo come if-down.d, if-post-down.d, ecc.
    Ho visto che all'interno delle cartelle esistono degli script eseguibili ma non sono riuscito a trovare doc sul funzionamento di queste cartelle.

    Qualcuno sa aiutarmi?
    Come posso ottenere il ripristino automatico della connessione?

    Grazie!!
    Lungo le due rive del fiume gelato si stendeva la cupa e tetra foresta di abeti, dai quali il vento aveva appena spazzato il manto di brina. Nella luce crepuscolare quegli abeti neri e sinistri sembravano inclinarsi l'uno verso l'altro. Un silenzio minaccioso incombeva sul paesaggio, privo di qualsiasi segno di vita o di movimento, e desolato e freddo al punto da non poter ispirare che un solo sentimento: quello della più triste malinconia. E nello stesso tempo pareva che da quel paesaggio trapelasse una specie di riso, un riso ben più spaventoso di qualsiasi malinconia o tristezza, un riso tragico, come quello di una sfinge, un riso agghiacciante più della brina e che rammendava l'incombere minaccioso dell'ineluttabile. Era la saggezza potente e impenetrabile dell'eternità che irrideva alla vita, alla sua futilità e agli sforzi degli uomini.

  2. #2
    UP

    experts, help me please, i'm an hot young brazilian girl, i neeeeed you!!
    Lungo le due rive del fiume gelato si stendeva la cupa e tetra foresta di abeti, dai quali il vento aveva appena spazzato il manto di brina. Nella luce crepuscolare quegli abeti neri e sinistri sembravano inclinarsi l'uno verso l'altro. Un silenzio minaccioso incombeva sul paesaggio, privo di qualsiasi segno di vita o di movimento, e desolato e freddo al punto da non poter ispirare che un solo sentimento: quello della più triste malinconia. E nello stesso tempo pareva che da quel paesaggio trapelasse una specie di riso, un riso ben più spaventoso di qualsiasi malinconia o tristezza, un riso tragico, come quello di una sfinge, un riso agghiacciante più della brina e che rammendava l'incombere minaccioso dell'ineluttabile. Era la saggezza potente e impenetrabile dell'eternità che irrideva alla vita, alla sua futilità e agli sforzi degli uomini.

  3. #3
    UP

    pleaaazzeee
    Lungo le due rive del fiume gelato si stendeva la cupa e tetra foresta di abeti, dai quali il vento aveva appena spazzato il manto di brina. Nella luce crepuscolare quegli abeti neri e sinistri sembravano inclinarsi l'uno verso l'altro. Un silenzio minaccioso incombeva sul paesaggio, privo di qualsiasi segno di vita o di movimento, e desolato e freddo al punto da non poter ispirare che un solo sentimento: quello della più triste malinconia. E nello stesso tempo pareva che da quel paesaggio trapelasse una specie di riso, un riso ben più spaventoso di qualsiasi malinconia o tristezza, un riso tragico, come quello di una sfinge, un riso agghiacciante più della brina e che rammendava l'incombere minaccioso dell'ineluttabile. Era la saggezza potente e impenetrabile dell'eternità che irrideva alla vita, alla sua futilità e agli sforzi degli uomini.

  4. #4
    Moderatore di Linux e software L'avatar di francofait
    Registrato dal
    Aug 2001
    Messaggi
    13,559
    aspetti con pazienza che qualcuno ti risponda senza uppare in continuazione. Altrimenti ti ci metto pure il lucchetto

  5. #5
    Ma uno teoricamente quanto dovrebbe aspettare prima di uppare?
    Grazie dell'info



    Per quanto riguarda il problema ho risolto con uno script php in background.
    Lo eseguo da /etc/init.d/bootmisc.sh con

    /usr/bin/php /root/checkconn.php >> /root/checkconn.log &

    E' un prototipo quindi usatelo a vostro rischio e pericolo.
    Inutile naturalmente ricordare di fare attenzione ai permessi per evitare che il file venga modificato e poi eseguito con privilegi impietosi (vedi superuser)

    Inoltre prima di usare con successo questo script bisogna aver impostato a dovere /etc/network/interfaces, così che ifdown ed ifup funzionino a dovere.
    Non è complicato, un bel man interfaces, si vede cosa va avviato e terminato prima dell'up dell'interfaccia e si cerca di terminare tutte le rotture che potrebbero aver determinato il blocco della rete, così da riportare il sistema in una situazione "pulita".

    Riporto una parte del mio interfaces

    # my wireless connection
    auto wlan0
    iface wlan0 inet dhcp
    pre-up killall dhclient wpa_supplicant || true
    pre-up grep -q ndiswrapper /proc/modules || modprobe ndiswrapper
    pre-up /root/wpa_supplicant/wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf -D wext -w -B || true
    post-down modprobe -r ndiswrapper || true
    pre-down killall dhclient wpa_supplicant || true
    wireless_essid IRONOXIDENET

    N.B. "|| true" alla fine del comando impedisce a ifup/ifdown di considerare un fallimento la chiusura con stati particolari dei comandi eseguiti (vedi man interfaces)

    Infine, ecco lo script.

    Codice PHP:
    <?php

    define
    ("RETRIES",5);
    define("WAIT",30);

    $domains = array(
            
    'www.google.com',
            
    'www.libero.it',
            
    'www.yahoo.com',
        );

    $ftime true;
    while(
    true) {

        if(
    $ftime) echo "<--||====== AVVIO I CONTROLLI ".strftime('%c',time())." ========||-->\n";
        
    sleep(WAIT+(($ftime)?30:0));
        
    $ftime =false;
        
        echo 
    "--------------------------------------------------------------\n";
        echo 
    "         CHECK =>>>>> ".strftime('%c',time())."\n";
        echo 
    "--------------------------------------------------------------\n";
        
        
    $errors check($domains);
        
        if(
    $errors>1) {
            echo 
    "====>======>=>>=> RIAVVIO LA RETE <=<<=<========<====\n";
            
            for(
    $x=0;$x<RETRIES;$x++) {
                echo 
    "Arresto la rete\n";
                
    $rStr exec('ifdown wlan0 &');
                echo 
    "Tento il riavvio della rete wlan0...\n";
                
    $rStr exec('ifup wlan0 &');
                
    sleep(WAIT);
                
    $errors check($domains);
                if(
    $errors<2) break;
            }
            
            if(
    $errors<2) echo "=====@--- CONNESSIONE RIPRISTINATA ---@=====\n";
            else {
                
    //PD
                
    $errors check(array('192.168.1.1'));
                if(
    $errors>0) {
                                    
    //vedete voi se è il caso di farlo nella vostra LANd ;)
                    
    echo "Non comunico con il router dopo ".RETRIES." tentativi.\n";
                    echo 
    "Sono disperato e comando il riavvio (non si sa mai)...\n";
                    echo 
    " :( :( :( REBOOOTOOOOOOOOO :_( :_( :_(\n";
                    
    $rStr exec('reboot');
                }
                else {
                    echo 
    "Riesco comunque a pingare il router, probabilmente è caduta la connessione ad internet. Auguri!\n";
                    return 
    0;
                }
            }
        }
        else echo 
    "=======>>>>> TUTTO OK <<<<<<========\n";
        
        echo 
    "\n\n";

    }
        
    function 
    check($domains) {
        
    $errors0;
        foreach(
    $domains as $domain) {
            
    $linee = array();
            
    $stato NULL;
            
    $rStr exec('ping -I wlan0 -c 5 '.$domain,&$linee,&$stato);
            foreach(
    $linee as $linea) echo str_replace("\n",'',$linea)."\n";
            if(
    $stato>0) {
                
    $errors++;
                echo 
    "---> error! stato $stato\n";
            }
            echo 
    "\n";
        }
        return 
    $errors;
    }
        
    ?>
    Inutile dire che ogni consiglio è il benvenuto!!

    Lungo le due rive del fiume gelato si stendeva la cupa e tetra foresta di abeti, dai quali il vento aveva appena spazzato il manto di brina. Nella luce crepuscolare quegli abeti neri e sinistri sembravano inclinarsi l'uno verso l'altro. Un silenzio minaccioso incombeva sul paesaggio, privo di qualsiasi segno di vita o di movimento, e desolato e freddo al punto da non poter ispirare che un solo sentimento: quello della più triste malinconia. E nello stesso tempo pareva che da quel paesaggio trapelasse una specie di riso, un riso ben più spaventoso di qualsiasi malinconia o tristezza, un riso tragico, come quello di una sfinge, un riso agghiacciante più della brina e che rammendava l'incombere minaccioso dell'ineluttabile. Era la saggezza potente e impenetrabile dell'eternità che irrideva alla vita, alla sua futilità e agli sforzi degli uomini.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.