1 (edytowany przez roblad 2014-05-07 06:08:47)

Temat: Problem z openvpn i cronem

Witam,


Mam dziwny problem a w zasadzie 2

1 to to, ze w cronie wkolko dodaje mi sie 2 wpisy

* * * * * if [ -z "$(ifconfig | grep tun 2>/dev/null)" ] ; then logger "openvpn stopped, restarting" ; /etc/init.d/openvpn restart ; fi

i czasami 1 czasami 2 wpisy

* * * * * if [ -z "tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 " ] ; then logger "openvpn stopped, restarting" ; /etc/init.d/openvpn restart ; fi

nie wiem skad to dokladnie sie bierze ?

czy cos gdzies mam nadmiarowo - co za te wpisy odpowiada, aby wyczyscic ten restart z wczesniejszych releasow GG ?



Czy to moze problem gdzies jest w skrypcie openvpn.firewall

.....

have_watchdog=$( grep "ifconfig.*tun.*init.*openvpn" /etc/crontabs/root )
    if [ "$enabled" == "1" ] ; then
        if [ -z "$have_watchdog" ] ; then
            echo '* * * * * if [ -z "$(ifconfig | grep tun 2>/dev/null)" ] ; then logger "openvpn stopped, restarting" ; /etc/init.d/openvpn restart ; fi' >> /etc/crontabs/root
        fi
    else
        if [ -n "$have_watchdog" ] ; then
            cat /etc/crontabs/root | grep -v "ifconfig.*tun.*init.*openvpn" > "$tmp_cron"
            mv "$tmp_cron" /etc/crontabs/root
        fi
    fi
.....

2 problem to juz omawiany

http://eko.one.pl/forum/viewtopic.php?id=4678&p=2

i problem z

Gargoyle daemon.err openvpn(custom_config)[3056]: TCP/UDP: Socket bind failed on local address [undef]: xxxx : Address already in use

Mam wykozrzystane wszystkie port rj-45 w tym 2 wany mwan3 - i tu tez zagwostka po podlaczeniu 4 lan podnosi on polaczenie na 10 M inne na 100 przy poprzednio bylo tak ze 1 podnosil sie nawet na 1 G reszta na 100 M

Czasami openvpn nie podnosi sie albo nie ma routingu do sieci lokalnej czasami jest

czy mozliwe jest ze router sie na maxa juz dociazyl i nie wyrabia z obrobieniem wszystkiego na raz ?


Zrob ilem narazie cos takiego w

/etc/hotplug.d/iface/27-openvpn

....


        sleep 20
        /sbin/ifconfig tun0 0.0.0.0 down > /dev/null 2>&1
        sleep 5
        /etc/init.d/openvpn restart

....

chodz za ten komunikat i problem z openvpn podejzewam tego crona.


Moze to jakis blad w funkcji pluginu do creona, po wcisnieciu klawisza zapisz w tym pluginie odrazu pojawia mi sie ten wpis z "tun 0.0.0.0 ...


moze to ta funkcja w JS w pluginie cron szwankuje

function saveChanges()
{
    taskTable = document.getElementById('task_table_container').firstChild;    
    tableData = getTableDataArray(taskTable, true, false);
    
    createCommands = [ "touch /etc/crontabs/root", "rm /etc/crontabs/root" ];
    taskTableData = new Array();
    for (rowIndex in tableData)
    {
        rowData = tableData[rowIndex];
        createCommands.push("echo \"" + rowData[0].replace(/"/g,"\\\"") + "\" >> /etc/crontabs/root");
    }
    var commands = createCommands.join("\n");
    var param = getParameterDefinition("commands", commands) + "&" + getParameterDefinition("hash", document.cookie.replace(/^.*hash=/,"").replace(/[\t ;]+.*$/, ""));
    setControlsEnabled(false, true, UI.Wait);
        
    var stateChangeFunction = function(req)
    {
        if(req.readyState == 4)
        {
            setControlsEnabled(true);
            resetData();
        }
    }
    runAjax("POST", "utility/run_commands.sh", param, stateChangeFunction);
}

2

Odp: Problem z openvpn i cronem

Cezary mozesz jakos pomoc ?

3

Odp: Problem z openvpn i cronem

Naprawde nikt nie mial takiego problemu z pluginem cron - to jest juz pewne ze to sie dzieje przy zapisywaniu ustawien w tym pluginie

przy kazdym zapisie dodaje sie cos takiego:
* * * * * if [ -z "tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 " ] ; then logger "openvpn stopped, restarting" ; /etc/init.d/openvpn restart ; fi


i rozwala pozniej VPN i w koncu wywala pamiec.

ta funkcja:

function saveChanges()
{
    taskTable = document.getElementById('task_table_container').firstChild;    
    tableData = getTableDataArray(taskTable, true, false);
    
    createCommands = [ "touch /etc/crontabs/root", "rm /etc/crontabs/root" ];
    taskTableData = new Array();
    for (rowIndex in tableData)
    {
        rowData = tableData[rowIndex];
        createCommands.push("echo \"" + rowData[0].replace(/"/g,"\\\"") + "\" >> /etc/crontabs/root");
    }
    var commands = createCommands.join("\n");
    var param = getParameterDefinition("commands", commands) + "&" + getParameterDefinition("hash", document.cookie.replace(/^.*hash=/,"").replace(/[\t ;]+.*$/, ""));
    setControlsEnabled(false, true, UI.Wait);
        
    var stateChangeFunction = function(req)
    {
        if(req.readyState == 4)
        {
            setControlsEnabled(true);
            resetData();
        }
    }
    runAjax("POST", "utility/run_commands.sh", param, stateChangeFunction);
}

4

Odp: Problem z openvpn i cronem

Nic takiego nie mam. Mogę zapisywać ile chce, zawsze jest jedna poprawna linia.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

5 (edytowany przez roblad 2014-05-09 22:12:19)

Odp: Problem z openvpn i cronem

nie rozumiem,

przy kazdym zapisie jak juz mam w cronie wpis od vpn

* * * * * if [ -z "$(ifconfig | grep tun 2>/dev/null)" ] ; then logger "openvpn stopped, restarting" ; /etc/init.d/openvpn restart ; fi

jak zapisuje z plugina cron ustawienia , po zapisaniu mam ten wpis zmieniony na

* * * * * if [ -z "tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 " ] ; then logger "openvpn stopped, restarting" ; /etc/init.d/openvpn restart ; fi

moj cron

0 0,4,8,12,16,20 * * * date -u +%Y.%m.%d-%H:%M:%S >/usr/data/time_backup        
0,1,11,21,31,41,51 * * * * /usr/bin/set_kernel_timezone >/dev/null 2>&1        
0 4 * * 0,1,2,3,4,5,6 /etc/backup.sh        
37 15 * * * /sbin/stat.sh        
0 1 * * * /sbin/wifi        
0 5 * * * /etc/init.d/bwmon_gargoyle stop;sleep 10;/etc/init.d/bwmon_gargoyle start        
30 1 * * * /etc/init.d/mwan3 restart        
0 3 * * 6 sh /usr/lib/gargoyle/reboot.sh        
*/3 * * * * /usr/lib/gargoyle/ping_watchdog.sh 240 3 8.8.8.8 wan         
0 0,4,8,12,16,20 * * * /tmp/bw_backup/do_openvpn_bw_backup.sh        
0 0 * * * /usr/lib/gargoyle/usbrelay.sh off 4        
40 23 * * * /usr/lib/gargoyle/usbrelay.sh on 4        
50 0 * * * /usr/lib/gargoyle/usbrelay.sh on 5        
0 1 * * * /usr/lib/gargoyle/usbrelay.sh off 5        
40 22 * * * /usr/lib/gargoyle/usbrelay.sh on 6        
0 23 * * * /usr/lib/gargoyle/usbrelay.sh off 6        
* * * * * if [ -z "$(ifconfig | grep tun 2>/dev/null)" ] ; then logger "openvpn stopped, restarting" ; /etc/init.d/openvpn restart ; fi        
0 0,4,8,12,16,20 * * * /tmp/bw_backup/do_bw_backup.sh        
0 0,4,8,12,16,20 * * * /tmp/do_webmon_backup.sh

moze o spacje chodzi w moich wlasnych wpisach ?

6

Odp: Problem z openvpn i cronem

sh -x /etc/openvpn.firewall

zrób i pokaż kilkanaście ostatni linii, bo tam się to fizycznie dzieje.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

7

Odp: Problem z openvpn i cronem

Czesc,

Tu nie podejzewam tego skryptu, bardziej chyba plugin cos zle parsuje przy przepisywaniu zadan do pliku


+ is_hr123=
+ egrep \-lr\-[123]
+ echo openvpn-hr5-upload-day-365
+ is_lr123=
+ [ -n  ]
+ [ -n  ]
+ bw_restore openvpn-hr5-upload-day-365 0
+ bw_id=openvpn-hr5-upload-day-365
+ backup_to_tmp=0
+ [ -e /usr/data/bwmon/openvpn-hr5-upload-day-365.bw ]
+ bw_set -i openvpn-hr5-upload-day-365 -h -f /usr/data/bwmon/openvpn-hr5-upload-day-365.bw
+ [ -e /tmp/tmp.openvpn.cron ]
+ [ 0 = 1 ]
+ echo bw_get -i "openvpn-hr5-upload-day-365" -h -f "/usr/data/bwmon/openvpn-hr5-upload-day-365.bw" >/dev/null 2>&1
+ egrep \-hr\-[123]
+ echo openvpn-lr5-download-month-12
+ is_hr123=
+ egrep \-lr\-[123]
+ echo openvpn-lr5-download-month-12
+ is_lr123=
+ [ -n  ]
+ [ -n  ]
+ bw_restore openvpn-lr5-download-month-12 0
+ bw_id=openvpn-lr5-download-month-12
+ backup_to_tmp=0
+ [ -e /usr/data/bwmon/openvpn-lr5-download-month-12.bw ]
+ bw_set -i openvpn-lr5-download-month-12 -h -f /usr/data/bwmon/openvpn-lr5-download-month-12.bw
+ [ -e /tmp/tmp.openvpn.cron ]
+ [ 0 = 1 ]
+ echo bw_get -i "openvpn-lr5-download-month-12" -h -f "/usr/data/bwmon/openvpn-lr5-download-month-12.bw" >/dev/null 2>&1
+ echo openvpn-lr5-upload-month-12
+ egrep \-hr\-[123]
+ is_hr123=
+ egrep \-lr\-[123]
+ echo openvpn-lr5-upload-month-12
+ is_lr123=
+ [ -n  ]
+ [ -n  ]
+ bw_restore openvpn-lr5-upload-month-12 0
+ bw_id=openvpn-lr5-upload-month-12
+ backup_to_tmp=0
+ [ -e /usr/data/bwmon/openvpn-lr5-upload-month-12.bw ]
+ bw_set -i openvpn-lr5-upload-month-12 -h -f /usr/data/bwmon/openvpn-lr5-upload-month-12.bw
+ [ -e /tmp/tmp.openvpn.cron ]
+ [ 0 = 1 ]
+ echo bw_get -i "openvpn-lr5-upload-month-12" -h -f "/usr/data/bwmon/openvpn-lr5-upload-month-12.bw" >/dev/null 2>&1
+ update_cron
+ md5sum /etc/crontabs/root
+ old_md5=866b5f5704f046ed35610a4c65a045ad  /etc/crontabs/root
+ old_md5=866b5f5704f046ed35610a4c65a045ad
+ md5sum /tmp/tmp.openvpn.cron
+ new_md5=394419fb20d248a17913390caa2207de  /tmp/tmp.openvpn.cron
+ new_md5=394419fb20d248a17913390caa2207de
+ [ 866b5f5704f046ed35610a4c65a045ad  = 394419fb20d248a17913390caa2207de  ]
+ mv /tmp/tmp.openvpn.cron /etc/crontabs/root
+ pidof crond
+ /etc/init.d/cron restart
+ set_block_nonovpn
+ uci get openvpn.custom_config.enable
+ enabled=1
+ client_enabled=false
+ [ 1 = 1 ]
+ uci get openvpn_gargoyle.@client[0].enabled
+ client_enabled=false
+ delete_chain_from_table filter block_non_openvpn
+ [ false = true ]
+ set_openvpn_cron_watchdog
+ uci get openvpn.custom_config.enable
+ enabled=1
+ touch /etc/crontabs/root
+ grep ifconfig.*tun.*init.*openvpn /etc/crontabs/root
+ have_watchdog=* * * * * if [ -z "$(ifconfig | grep tun 2>/dev/null)" ] ; then logger "openvpn stopped, restarting" ; /etc/init.d/openvpn restart ; fi
+ [ 1 == 1 ]
+ [ -z * * * * * if [ -z "$(ifconfig | grep tun 2>/dev/null)" ] ; then logger "openvpn stopped, restarting" ; /etc/init.d/openvpn restart ; fi ]
+ rm /tmp/openvpn.firewall.running

8

Odp: Problem z openvpn i cronem

To jest dobrze.

Co zrobisz że się to parsuje inaczej?

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

9

Odp: Problem z openvpn i cronem

Hm,


no wlasnie nie wiem dlaczego - moze cos w tej funkcji "zapisz" cos z ciasteczkami, na wszystkich routerach mam to samo, czyli nie jest to wina przegladarki.

10

Odp: Problem z openvpn i cronem

Ja nie mam smile, dlatego pytam się co robisz że takie coś następuje.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

11 (edytowany przez roblad 2014-05-10 08:46:00)

Odp: Problem z openvpn i cronem

Nic w tym rejonie nie zmienialemmam wszystko co najnowsze z gita skompilowane, bes libusb zmiany ale problem sie pojawil pare comitow wczesniej. Nie wiem czego szukac, a dzieje sie tak tylko przy pluginie cron - i tylko przy zapisywaniu. Nie wiem co jest. Moze dodac sie cos da do tej funkcji aby poprawnie przepisywala zadania - moze jakies opoznienie gdzies i sprawdzic albo moze jakis log zeby pokazal.

mam w konsoli cos takiego na stronie plugina

Metody getUserData() i setUserData() są przestarzałe.  Należy używać WeakMap lub element.dataset.

12

Odp: Problem z openvpn i cronem

Eeh, bo to sobie właśnie odpowiedziałeś. W żaden sposób to nie jest wina gargoyle czy openvpn tylko tego pluginu że niepotrzebne interpretuje dane tam wpisane.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

13

Odp: Problem z openvpn i cronem

a moze byc przyczyna /utility/run_comand.sh

ktory jest dobry ?

ten

#!/usr/bin/haserl
<?
        # This program is copyright Š 2008 Eric Bishop and is distributed under the terms of the GNU GPL
        # version 2.0 with a special clarification/exception that permits adapting the program to
        # configure proprietary "back end" software provided that all modifications to the web interface
        # itself remain covered by the GPL.
        # See http://gargoyle-router.com/faq.html#qfoss for more information
        eval $( gargoyle_session_validator -c "$POST_hash" -e "$COOKIE_exp" -a "$HTTP_USER_AGENT" -i "$REMOTE_ADDR" -r "login.sh" -t $(uci get gargoyle.global.session_timeout) -b "$COOKIE_browser_time"  )

        echo "Content-type: text/plain"
        echo ""

        if [ -n "$FORM_commands" ] ; then

                tmp_file="/tmp/tmp.sh"
                printf "%s" "$FORM_commands" | tr -d "\r" > $tmp_file
                sh $tmp_file

                if [ -e $tmp_file ] ; then
                        rm $tmp_file
                fi
        fi
        echo "Success"
?>

czy ten

#!/usr/bin/haserl
<?
        echo "Content-type: text/plain"
        echo ""

        if [ -n "$FORM_commands" ] ; then

                tmp_file="/tmp/tmp.sh"
                printf "%s" "$FORM_commands" | tr -d "\r" > $tmp_file
                sh $tmp_file

                if [ -e $tmp_file ] ; then
                        rm $tmp_file
                fi
        fi
        echo "Success"
?>

14

Odp: Problem z openvpn i cronem

To nie jest przyczyna. run_comand.sh wykorzystuje cały system, łącznie z pluginem openvpn. A to się robi dobrze.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

15

Odp: Problem z openvpn i cronem

Czyli bug jest w pluginie Artka - cos da sie tam poprawic ?

16

Odp: Problem z openvpn i cronem

Mari0. A jego błędem było to, że dane które później przekazuje do crona robi przez echo " zamiast echo ', co powoduje że shell interpretuje zmienne w tym echo zamiast wypisać to tak jak jest.

Przyjdzie Mari0 to poprawi.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

17 (edytowany przez roblad 2014-05-10 09:06:19)

Odp: Problem z openvpn i cronem

Oki, gdzies mu to zglosic ? a sam recznie sobie moge cos zamienic jako workaround ?

18

Odp: Problem z openvpn i cronem

Odinstaluj sobie plugin crona i zainstaluj jeszcze raz. Ja w repo poprawiłem pakiet.
PS. Nie, nie rób tego. jeszcze moment.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

19 (edytowany przez roblad 2014-05-10 09:49:20)

Odp: Problem z openvpn i cronem

jest OK

20

Odp: Problem z openvpn i cronem

Co ci znika? Cache z przeglądarki sobie wyczyść, żeby stary skrypt js nie został.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

21

Odp: Problem z openvpn i cronem

Dzieki za pomoc w tym pluginie,

A moze masz odpowiedz na to ze mam 1043 - wszystkie porty lan i wan podlkaczone i cuda

4 lany sa 3 z nich 100M 1 10M - w tym jeden lan jako wan2

po odlaczeniu kabelka 1 robi sie 2 x 100M 1 x 1G - nie wazne do ktorego portu jest podpiety kabel zawsze tak samo sie dzieje

PS

czy skompilowane stare binarki na libusb beda dzialac po nowej zmianie libusb - chodzi mi o powerswitcha bo mam mniejsza binarke niz twoj ale ona byla komp[ilowana na starym libusb i taki mam teraz w systemie, czy przestanie dzialac ?

22

Odp: Problem z openvpn i cronem

PS. Będziesz musiał mieć starą wersję w systemie, choć możesz wykonać po prostu linka i sprawdzić czy będzie działać.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

23

Odp: Problem z openvpn i cronem

albo podgrac twoj i zapomniec o linku bedzie prosciej :-) choc wiekszy. A masz pomysl na te dziwne zachowanie switcha ?

24

Odp: Problem z openvpn i cronem

Nie wiem.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

25

Odp: Problem z openvpn i cronem

Moze juz nie wyrabia z napieciem albo obciazony za duzo - nie przeszkadza narazie, naiwyzej dokupie jakis maly switch i nie bede wnikal a 1 port w routerze bedzie wolny, szkoda czasu na walke - jeszcze raz dzieki za ten plugin, rozwalal mi system i robil restarty ten chory wpis. Az uwalilem zdalny router przez testy - teraz czekam az szwagier na dzialke pojedzie i odkryje brak internetu :-) 50 km nie chce mi sie jechac zeby mu zrobic :-) - milego weekendu - choc pada.