Fehler beim neueinlesen der interfaces



  • hoi.
    ne kurze frage. ich hab auf meinem wrap mit 128mb die 1.0 final drauf.
    ich hatte nach einer möglichkeit gesucht, die 24h zwangstrennung immer zum gleichen zeitpunkt zu haben.
    ich bin auch im forum fündig geworden, aber mit dem neustarten des routers klappt es nicht so recht.
    nach weiterer suche im forum habe ich dann noch was gefunden.
    in dem ich einfach die dsl verbindung kappe.
    das klappt auch soweit ganz gut.
    danach muß ich nur die dsl verbindung wieder aufbauen.
    das sollte mit dem befehl```
    /etc/rc.reload_interfaces

    habe das dann mal auf der console probiert und die eigentliche funktionsweise ist gegeben.
    aber ich bekomme immer einen fehler bei der ausführung des befehls.
    
    

    ./rc.reload_interfaces

    Fatal error: Call to undefined function:  ovpn_config_server() in /etc/rc.reload_interfaces on line 38

    
    das neustarten meiner dsl verbindung klappt, aber wie dagr ich den fehler verstehen?
    ich habe doch gar kein openvpn eingerichtet, oder kann ich die meldung trostlos ignorieren.
    
    mfg randy


  • Ist das eine upgegradete Version oder frisch geflasht?

    Ich denke die Meldung kannst Du getrost ignorieren, da Du kein OpenVPN nutzt. Beim Nutzen von OpenVPN wäre das aber vmtl. ein Problem, weil der Server nicht neu konfiguriert wird für die geänderte Interface IP. Vielleicht ist es aber auch nur kosmetisch und es würde gehen, wenn OpenVPN aktiviert wäre. Ich werde das heute Abend mal im Entwicklerchannel diskutieren.



  • es ist eine frisch geflashte version.

    ok, danke dir erstmal, wenn ich das ignorieren kann.

    einen angenehmen abend noch.



  • Okay so wie es ausschaut, gibt es die Funktion ovpn_config_server() einfach nicht. Muss aber nachschauen bzw. nachfragen, ob das so wirklich stimmt…

    Ein Murksaround wäre einfach zu testen ob ein Auskommentieren der Zeile

    ovpn_config_server("pfreload");
    

    In der Datei```
    /etc/rc.reload_interfaces

    
    Gruss
    Daniel S. Haischt


  • morgens.
    so habe nun mal weiter getestet.

    das neustarten der dsl-verbindung funktioniert nich so recht.
    hoba hatte im catch-all forum geschrieben, wie man die dsl verbindung killt.
    ich habe das dann so hier angewendet:

    28        7        *        *        *        root        killall mpd && /usr/local/sbin/mpd -b -d /var/etc/ -p /var/run/mpd.pid pptp
    

    im weiteren verlauf versuche ich dann die dsl-verbindung wieder zu reconnecten.

    30        7        *        *        *        root        /etc/rc.reload_interfaces
    

    ich habe das heute morgen ausprobiert und bemerkt, daß sich die dsl verbindung zwar wieder aufbaut,
    aber kurz danach ist wieder alles tot. also auch nich so wirklich lauffähig.  :(
    gibt es denn keine einfachere methode immer zur gleichen zeit die dsl-verbindung zu kappen und gleich wieder aufzubauen?

    denn wenn ich folgende befehle im crontab-file eingebe passiert gar nichts:

    30        7        *        *        *        root        shutdown -r now
    

    oder

    30        7        *        *        *        root        /sbin/reboot
    

    das wrap macht bei diesen cron-einstellungen nichts und der neustart bleibt aus.
    und habe ich auch schon cron neugestartet.
    also daran kann esdoch nicht liegen.



  • humm, welches crontab file? warum trägst du den crontab eintrag nicht einfach als root via crontab -e ein?

    Gruss
    Daniel S. Haischt



  • naja ich nutze das crontab-file welches im verzeichnis /etc/ liegt.

    was macht denn der befehl crontab-e ???

    und hoba kannst du mir denn nicht vielleicht erklären wie ich den neustart der dsl-verbindung hinbekomme.

    mfg



  • Ich benutze diesen manuellen Disconnect nicht persönlich, aber laut http://forum.pfsense.org/index.php/topic,2207.msg12936.html#msg12936 sollte es wohl funktionieren.

    @ DanielSHaischt: Wie wäre es, wenn Du das als Option für PPPoE-Verbindungen ins Webgui reinbastelst?  ;) Hier in Deutschland mit den besch**** Zwangstrennungen wäre das wirklich sehr Willkommen, damit z.B. VPN-Verbindungen oder VOIP-Verbindungen z.B. nicht während der Geschäftszeit resettiert werden.


  • LAYER 8 Moderator

    Was ich mich gerade dazu frage: Im Menü unter Status/Interfaces gibt es doch für WAN den Button "disconnect" und sobald dieser aktiviert wurde den Button "connect". Welche Funktion(en) lösen diese beiden aus?
    Denn das wären die beiden, die dann per Cron um x:yz Uhr aktiviert werden müssten - oder irre ich da? Ich selbst habe den "killall mpd etc." in die crontab eingetragen und er - wie in dem Thread zu lesen - tut leider nicht das, was er soll. Ein "reload_interfaces" kommt aber schon irgendwie an die Methode "Brechstange" heran, darum vielleicht eine einfachere Lösung :)



  • Der Button führt für PPPoE einen manuellen Disconnect bzw. Connect aus (klingt logisch  ;D ). Bei DHCP gleicht das einem Release bzw Renew der Lease. Für andere Verbindungen gibt es den Button nicht.


  • LAYER 8 Moderator

    Ja, das ist schon klar :D Die Frage war eher: Welche Befehle führt der Button bei PPPoE aus (um die Verbindung zu trennen), denn das ist ja genau das, was dann per Cron um 4:00 oder wann auch immer erledigt werden soll ;)
    Es wird doch sicher irgendeine - entweder interne oder externe - Funktion oder Befehlszeile aufgerufen?



  • @hoba:

    Ich benutze diesen manuellen Disconnect nicht persönlich, aber laut http://forum.pfsense.org/index.php/topic,2207.msg12936.html#msg12936 sollte es wohl funktionieren.

    @ DanielSHaischt: Wie wäre es, wenn Du das als Option für PPPoE-Verbindungen ins Webgui reinbastelst?  ;) Hier in Deutschland mit den besch**** Zwangstrennungen wäre das wirklich sehr Willkommen, damit z.B. VPN-Verbindungen oder VOIP-Verbindungen z.B. nicht während der Geschäftszeit resettiert werden.

    das habe ich ja gemacht.
    aber die verbindung wird wie oben beschrieben nicht mehr wirklich aufgebaut.
    das is ja mein größtes problem.
    mit dem ersten befehl diconnecte ich das dsl.

    28        7        *        *        *        root        killall mpd && /usr/local/sbin/mpd -b -d /var/etc/ -p /var/run/mpd.pid pptp
    

    und mit

    /etc/rc.reload_interfaces
    

    sollte diese wieder neuaufgebaut werden.
    wenn ich das ganze manuell ausführe macht es seinen zweck.
    ist es aber im crontab-file enthalten, wird die verbindung abgebaut aber nicht mehr aufgebaut.
    :( :( :( :(



  • @randy:

    naja ich nutze das crontab-file welches im verzeichnis /etc/ liegt.

    okay…

    @randy:

    was macht denn der befehl crontab -e ???

    Jeder UNIX-Benutzer hat ja die Möglichkeit einer eigenen Crontab-Datei. crontab -e ausgeführt, editiert einfach die crontab Datei des Benutzers root. crontab -l würde entsprechend nur den Inhalt der Datei auflisten.

    Meine Idee war die nicht die Datei im Verzeichnis /etc zu nutzen, sondern sich als  root anmelden und via crontab -e den Eintrag zu erstellen den du eh schon in der /etc/crontab hast. Vielleicht hat ja der direkte crontab Eintrag Vorrang vor der /etc/crontab, müsste ich jetzt aber auch nachlesen…

    Gruss
    Daniel S. Haischt



  • @Grey:

    Was ich mich gerade dazu frage: Im Menü unter Status/Interfaces gibt es doch für WAN den Button "disconnect" und sobald dieser aktiviert wurde den Button "connect". Welche Funktion(en) lösen diese beiden aus?

    Kurze Antwort:

    • UP: interfaces_wan_pppoe_up(); bzw. interfaces_wan_pptp_up();

    • DOWN: interfaces_wan_pppoe_down(); bzw. interfaces_wan_pptp_down();

    Lange Antwort:

    
    function interfaces_wan_pppoe_down() {
    	global $g;
    	sigkillbypid("{$g['varrun_path']}/mpd.pid", "SIGUSR2");
    	sleep(1);
    }
    
    function interfaces_wan_pppoe_up() {
    	global $g;
    	sigkillbypid("{$g['varrun_path']}/mpd.pid", "SIGUSR1");
    	sleep(1);
    }
    
    /* ========================================================== */
    
    function interfaces_wan_pptp_down() {
    	global $g;
    	sigkillbypid("{$g['varrun_path']}/mpd.pid", "SIGUSR2");
    	sleep(1);
    }
    
    function interfaces_wan_pptp_up() {
    	global $g;
    	sigkillbypid("{$g['varrun_path']}/mpd.pid", "SIGUSR1");
    	sleep(1);
    }
    
    

  • LAYER 8 Moderator

    Da SIGUSR2 bzw. 1 benutzt werden, würde dann nicht ein

    kill -SIGUSR2 cat /%path%/mpd.pid

    und anschließendes -SIGUSR1 genau die Trennung und Neueinwahl bewirken? Oder übersehe ich da gerade etwas? Denn der mpd scheint ja durch beide Funktionen nicht beendet, sondern eher zum resetten gezwungen zu werden.


Log in to reply