abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 04:33 | Komunita

    Švýcarsko testuje přechod z Microsoft 365 na FOSS, konkrétně balík openDesk (Wikipedie) od německé státní společnosti ZenDiS (Wikipedie), s cílem posílit digitální suverenitu.

    Ladislav Hagara | Komentářů: 0
    dnes 04:22 | Komunita

    V italském městě Pordenone probíhá LibreOffice Conference 2026. Zúčastnit se lze i online.

    Ladislav Hagara | Komentářů: 0
    včera 18:33 | Nová verze

    Svobodný (GPLv3) šachový engine Stockfish (Wikipedie) byl vydán ve verzi 19 (𝕏). Přehled novinek v příspěvku na blogu. Stockfish 19 je o 44 Elo silnější než Stockfish 18.

    Ladislav Hagara | Komentářů: 0
    včera 12:33 | Nová verze

    Byla vydána nová verze 1.13.0 dynamického programovacího jazyka Julia (Wikipedie) určeného zejména pro vědecké výpočty. Přehled novinek v příspěvku na blogu a v poznámkách k vydání. Aktualizována byla také dokumentace.

    Ladislav Hagara | Komentářů: 0
    včera 11:11 | Pozvánky

    Organizátoři konference LinuxDays zveřejnili program letošního ročníku a spustili registraci návštěvníků. LinuxDays 2026 se uskuteční 3. a 4. října v areálu ČVUT v pražských Dejvicích, na Fakultě informačních technologií. Těšit se můžete na 70 přednášek a workshopů od 66 přednášejících. Konference bude rozdělena do pěti sálů s různou kapacitou. Vstup na LinuxDays je jako obvykle zdarma, stačí včas vyplnit registrační formulář. Opět je možné si na akci zakoupit oběd, ale je třeba to udělat předem, na místě už to nebude možné.

    Petr Krčmář | Komentářů: 0
    včera 11:00 | Nová verze

    Google Chrome 153 byl prohlášen za stabilní. Nejnovější stabilní verze 153.0.8010.36 přináší řadu novinek. Podrobný přehled v poznámkách k vydání. Opraveno bylo 230 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    včera 03:33 | Nová verze

    Open-source hra Shattered Pixel Dungeon (Wikipedie) byla vydána ve verzi 4.0.0. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    9.9. 22:22 | IT novinky Ladislav Hagara | Komentářů: 6
    9.9. 17:44 | IT novinky

    Společnost System76 představila pracovní stanici Thelio Mira AI s předinstalovaným Pop!_OS s prostředím COSMIC nebo Ubuntu. Nakonfigurovat lze až s 16jádrovým CPU AMD Ryzen 9 9950X, 192 GB DDR5 RAM, dvěma GPU NVIDIA RTX Pro 6000 a 192 GB GPU pamětí.

    Ladislav Hagara | Komentářů: 9
    9.9. 17:00 | Komunita

    DigitalOcean je sponzorem nadace Omacom Foundation stojící za linuxovou distribucí Omarchy. Přislíbená částka je 3 miliony dolarů, tj. 1 milion dolarů ročně po dobu tří let.

    Ladislav Hagara | Komentářů: 4
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (4%)
     (21%)
     (29%)
     (7%)
     (5%)
     (2%)
     (14%)
     (21%)
    Celkem 2638 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník

    Dotaz: Pomoc se scriptem - hlídání připojení k internetu

    Petr Maleček avatar 28.9.2013 03:22 Petr Maleček | skóre: 29 | Plzeň - Bolevec
    Pomoc se scriptem - hlídání připojení k internetu
    Přečteno: 863×
    Ahoj,

    potřeboval bych pomoct s následujícícm scriptem. Cílem je, aby v případě výpadku hlavního netu došlo k nastavení nižší priority (metriky) a upřednostnilo se záložní připojení. Ve chvíli, kdy se původní připojení obnoví, tak se metrika opět nastaví na nulu a bude jako hlavní:
    
    #!/bin/bash
    
    ip=/sbin/ip
    ping=/bin/ping
    route=/sbin/route
    
    CS_IP="172.16.26.1"
    CS_IF="eth2"
    
    CS_METRIC=(`$ip route | grep $CS_IP | awk '{print $7}'`)
    CS_PING=(`$ping -w 1 -c 1 -I $CS_IF 8.8.8.8`)
    
    while [ true ]; do
    
      ## Pokud havni pripojeni nefunguje, prepneme na zalozni.
      if [[ "$CS_METRIC" -ne "10" && ! "$CS_PING" ]];
        then
            $route del default gw $CS_IP
            $route add default gw $CS_IP metric 10
            echo "Nefunguje"
    
      fi
    
    
      ## Pokud pripojeni opet zacne fungovat, tak mu zvysime prioritu (hlavni)
      if [[ "$CS_METRIC" -eq "10" && "$CS_PING" ]];
        then
    
            $route del default gw $CS_IP
            $route add default gw $CS_IP metric 0
            echo "Opet funguje"
    
      fi
    
    sleep 5
    done
    
    
    Zdá se mi, že nefunguje právě to ověření PINGu, jakoby to nevracelo false, nebo možná očekávám něco jiného, než to vrací.

    Můžete prosím poradit? :-) Díky.
    LinMuck, WinFuck :-P

    Řešení dotazu:


    Odpovědi

    28.9.2013 10:15 NN
    Rozbalit Rozbalit vše Re: Pomoc se scriptem - hlídání připojení k internetu
    Proc tak slozite, nestacilo by ten 'failover' nakonfigurovat rovnou?
    Petr Maleček avatar 29.9.2013 12:04 Petr Maleček | skóre: 29 | Plzeň - Bolevec
    Rozbalit Rozbalit vše Re: Pomoc se scriptem - hlídání připojení k internetu
    Jasně a nějaká rada jak na to? Já mám nastavené toto:
    
    # vytvoreni routovacich tabulek (CS, PF) a rout
        $ip route add 172.16.26.0 dev eth2 src 172.16.26.62 table T1
        $ip route add default via 172.16.26.1 table T1
        $ip route add 10.109.13.128 dev eth1 src 10.109.13.146 table T2
        $ip route add default via 10.109.13.129 table T2
    
        # nastaveni rout
        $ip route add 172.16.26.0 dev eth2 src 172.16.26.62
        $ip route add 10.109.13.128 dev eth1 src 10.109.13.146
    
        # nasteveni defaultni routy
        $ip route add default via 172.16.26.1
    
        # nasteveni smerovacich rout (aby slo dovnitr a ven to, jakym interfacem to prislo)
        $ip rule add from 172.16.26.62 table T1
        $ip rule add from 10.109.13.146 table T2
    
        # prirazeni konexi do tabulek
        $ip route add 192.168.1.0 dev eth0 table T1
        $ip route add 10.109.13.128 dev eth1 table T1
        $ip route add 127.0.0.0/8 dev lo table T1
        $ip route add 192.168.1.0 dev eth0 table T2
        $ip route add 172.16.26.0 dev eth2 table T2
        $ip route add 127.0.0.0/8 dev lo table T2
    
        # nastaveni nexthopu (volba odchozi GW je na kernelu)
        $ip route add default scope global nexthop via 172.16.26.1 dev eth2 weight 1 nexthop via 10.109.13.129 dev eth1 weight 2
    
    Tak co doplnit?
    LinMuck, WinFuck :-P
    Jashin© avatar 28.9.2013 19:48 Jashin© | skóre: 8 | Keyboard/Home
    Rozbalit Rozbalit vše Re: Pomoc se scriptem - hlídání připojení k internetu
    .

    muzes zkusit IFovat budto navratovou hodnou pingu nebo pocet prijatych packetu:
    ping_gw0=$(ping -c 1 ${gw0})
    if [ $? == 0 ]; then
    #brana funguje
    else
    #brana nejde
    fi



    ping_gw0=$(ping -c 10 ${gw0} | grep received | awk '{print $4 }')
    if [ ${ping_gw0} -ge 8 ]; then
    #brana funguje
    else
    #brana nejde
    fi

    With liberty and metal for all
    28.9.2013 20:58 Patrik Uhrak | skóre: 31 | blog: pato
    Rozbalit Rozbalit vše Re: Pomoc se scriptem - hlídání připojení k internetu

    Na received.com ti to uz fungovat nebude :P a grep nie je nuten.

    gw0=
    ping_gw0=$(ping -c 10 "$gw0" | awk "/--- $gw0 ping statistics ---/"'{ getline; print $4 }')
    if [ "${ping_gw0}" -ge 8 ]; then 
    #brana funguje 
    else
    #brana nejde 
    fi
    29.9.2013 16:25 hermelin | skóre: 21
    Rozbalit Rozbalit vše Re: Pomoc se scriptem - hlídání připojení k internetu
    Nezabyvej se vymyslenim neceho co uz vymyslel a odladil nekdo jiny :-)

    https://code.google.com/p/wanfailoverscript/

    Pouzivam k maximalni spokojenosti
    Petr Maleček avatar 29.9.2013 18:59 Petr Maleček | skóre: 29 | Plzeň - Bolevec
    Rozbalit Rozbalit vše Re: Pomoc se scriptem - hlídání připojení k internetu
    Nohy líbám!!!
    LinMuck, WinFuck :-P
    29.9.2013 19:38 hermelin | skóre: 21
    Rozbalit Rozbalit vše Re: Pomoc se scriptem - hlídání připojení k internetu
    To nemusis :-)

    Resil jsem podobny problem pred par lety - dokonce se tremi pripojenimi

    $ip route add default scope global nexthop via 172.16.26.1 dev eth2 weight 1 nexthop via 10.109.13.129 dev eth1 weight 2

    To mi vubec nefungovalo. Nevim proc kdyz je to vsude uvadene jako prave failover nastaveni. Mozna na to ma vliv to jestli je za tim pripojene jeste nejake zarizeni (napr. AP) ktere i v pripade vypadku linky nejake pakety IN/OUT na port sitove karty posila.
    29.9.2013 20:13 NN
    Rozbalit Rozbalit vše Re: Pomoc se scriptem - hlídání připojení k internetu
    To je to na co jsem narazel, to by melo jako failover zafungovat samo o sobe, bez nutnosti testovani protistrany. Nicmene tipuju, ze to funguje jen kdyz vypadek shodi rozhrani. Osobne bych problem resil implementaci jednoho ze sady NHRP protokolu, ve spolupraci s ISP.
    Petr Maleček avatar 29.9.2013 21:35 Petr Maleček | skóre: 29 | Plzeň - Bolevec
    Rozbalit Rozbalit vše Re: Pomoc se scriptem - hlídání připojení k internetu
    Mě to právě nefunguje v žádné situaci. Schválně jsem mezi to připojil ještě jeden hloupý switch od kterého jsem pak jedno připojení odpojil (fyzicky ale k serveru stále byl připojen kabel) a nic se nepřeplo, prostě net nefungoval. A i když jsem odpojil celý switch (čili rozhraní se odpojilo), tak taky nic.

    Tenhle script který jsi mi poradil a za který moc děkuji funguje přesně jak potřebuji až na jeden drobný detail a to - i když je nastaveno ping -w 1 -c 2 8.8.8.8, tak nevím proč, ale on prostě čeká třeba minutu, než mu dojde, že ten ping neprošel. Jako by čekal na nevím co, když jsem mu jasně parametrem řekl, že má na odpověď počkat vteřinu. To úplně ignoruje. Takže teď třeba přepnutí z hlavní linky na záložní trvá tak 3 minuty.
    LinMuck, WinFuck :-P
    Petr Maleček avatar 29.9.2013 21:39 Petr Maleček | skóre: 29 | Plzeň - Bolevec
    Rozbalit Rozbalit vše Re: Pomoc se scriptem - hlídání připojení k internetu
    Upřesním - tři minuty pro to, že cca minutu čeká než zjistí, že ping neprošel a má na to 3 pokusy. Server jsem dal do testování zatím jen jeden. Až tohle vyřeším, tak dám dva. Asi nějaké public DNS servery. Jeden GOOGLu a jeden NICu.
    LinMuck, WinFuck :-P
    29.9.2013 21:46 hermelin | skóre: 21
    Rozbalit Rozbalit vše Re: Pomoc se scriptem - hlídání připojení k internetu
    mrkni sem https://code.google.com/p/wanfailoverscript/source/browse/trunk/README

    polozky INTERVAL, TESTCOUNT, TRESHOLD
    Petr Maleček avatar 29.9.2013 21:48 Petr Maleček | skóre: 29 | Plzeň - Bolevec
    Rozbalit Rozbalit vše Re: Pomoc se scriptem - hlídání připojení k internetu
    Já jsem readme četl. To mám nastavené zatím dost "ostře" aby to reagovalo okamžitě a stejně nic. Nebo ne?
    
    #
    # WFS - Wan Failover Script
    # Configuration file
    #
    TARGETS_FILE=/etc/wfs/targets.txt
    PRIMARY_GW=172.16.26.1
    SECONDARY_GW=10.109.13.129
    MAX_LATENCY=50
    INTERVAL=5
    TEST_COUNT=2
    THRESHOLD=3
    COOLDOWNDELAY01=5
    COOLDOWNDELAY02=5
    MAIL_TARGET="mail@(muj).cz"
    DAEMON=1
    QUIET=1
    PIDFILE=/var/run/wfs.pid
    PRIMARY_CMD=""
    SECONDARY_CMD=""
    DEBUG=1
    
    
    LinMuck, WinFuck :-P
    29.9.2013 21:52 hermelin | skóre: 21
    Rozbalit Rozbalit vše Re: Pomoc se scriptem - hlídání připojení k internetu
    a co to pise v logu ?
    Petr Maleček avatar 29.9.2013 21:57 Petr Maleček | skóre: 29 | Plzeň - Bolevec
    Rozbalit Rozbalit vše Re: Pomoc se scriptem - hlídání připojení k internetu
    Příloha:
    Píše to přesně to co má, jen mu trvá děsně dlouho, než zjistí, že prostě připojení (ping) neprošel. Viz příloha, všimněte si těch časů.
    LinMuck, WinFuck :-P
    29.9.2013 22:05 hermelin | skóre: 21
    Rozbalit Rozbalit vše Re: Pomoc se scriptem - hlídání připojení k internetu
    Navrhuju tykani :-)

    a proc mas MAX_LATENCY=50 ? Zkus dat 2.

    Pripadne prubni starsi verzi - v te posledni to vypada ze se prave delalo dost zmen ohledne casu.

    Ja aktualne pouzivam 2.01 a tam to funguje presne podle nastaveni.
    Petr Maleček avatar 29.9.2013 22:13 Petr Maleček | skóre: 29 | Plzeň - Bolevec
    Rozbalit Rozbalit vše Re: Pomoc se scriptem - hlídání připojení k internetu
    Díky, ach jo, já jsem kus v*la. Já měl za to, že je to latence v milisekundách a ono je to v sekundách. A ještě ke všemu jsem si myslel že to je braný jakože i když ping projde, ale jeho latence je větší než 50ms, tak že to bere jako podnět k přepnutí na zálohu. OMG, já jsem takovej v*l.

    No, tak se omlouvám za zbytečný spamování, teď už mi to funguje. Sypu si popel na hlavu.
    LinMuck, WinFuck :-P
    Petr Maleček avatar 29.9.2013 22:49 Petr Maleček | skóre: 29 | Plzeň - Bolevec
    Rozbalit Rozbalit vše Re: Pomoc se scriptem - hlídání připojení k internetu
    Jinak teď se mi to chová přesně takhle (moje nahrávka) - YouTube odkaz. Takže super! :-)
    LinMuck, WinFuck :-P
    29.9.2013 22:53 hermelin | skóre: 21
    Rozbalit Rozbalit vše Re: Pomoc se scriptem - hlídání připojení k internetu
    Online forever :-)
    Petr Maleček avatar 29.9.2013 23:44 Petr Maleček | skóre: 29 | Plzeň - Bolevec
    Rozbalit Rozbalit vše Re: Pomoc se scriptem - hlídání připojení k internetu
    No, díky bohu za to. Teď nebudu muset jezdit 2x - 3x do týdne do kanceláře, abych vyřešil výpadek internetu. Povedlo se mi zajistit ještě jednu záložní linku, takže v případě výpadku se to přepne samo a nemsím nikam. Uff. To bude úleva :-))
    LinMuck, WinFuck :-P
    Petr Maleček avatar 29.9.2013 22:00 Petr Maleček | skóre: 29 | Plzeň - Bolevec
    Rozbalit Rozbalit vše Re: Pomoc se scriptem - hlídání připojení k internetu
    Skoro 2 minuty od prvního testování pingu. 2 minuty, než zjistil, že ping neprošel. Ačkoli timeout je nastaven na 1s.
    LinMuck, WinFuck :-P

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.