Willkommen! Melden Sie sich an oder registrieren Sie sich.

Um schreiben oder kommentieren zu können, benötigen Sie ein Benutzerkonto.

Anmelden - oder - Benutzerkonto erstellen

Mit Python Dateiinhalt ausgeben, darstellen

  • Moin,

    Ich hatte über Sportinfos ganz vergessen das der OpenVpnManager noch einen Mangel hat.


    Ich habe jetzt eine neue openvpn@.service angelegt:

    Mit dieser Service Datei lässt sich OpnVpn problemlos über Telnet steuern:

    Code
    1. root@dm900:~# systemctl enable openvpn@server.service && systemctl start openvpn@server.service

    Startet OpenVpn, und:

    Code
    1. root@dm900:~# systemctl stop openvpn@server.service && systemctl disable openvpn@server.service

    Stoppt den Service, wie gesagt klappt super mit Telnet!


    Das Problem ist, wenn ich das in den Code vom OpenVpnManager einbaue

    Code
    1. cmd = "systemctl enable openvpn@server.service && systemctl start openvpn@server.service"

    wird die Verbindung korrekt gestartet, lässt sich aber weder per Telnet noch ProgrammCode beenden.

    Code
    1. cmd = "systemctl stop openvpn@server.service && systemctl disable openvpn@server.service"

    Hat da vielleicht jemad ne Idee?

  • Also grundsätzlich reicht es ja, den service einmal zu enablen. Danach wird der automatisch beim Booten gestartet.


    Machst du ein os.system() oder wie startest du das? bist du dir sicher, dass alles sauber durchläuft?

  • Gestartet wir so im Code:


    def start():

    cmd = "systemctl enable openvpn@server.service && systemctl start openvpn@server.service"


    das läuft auch zuverlässig durch (bei OpenVpn)

    Stoppen wollte ich so, und das es bei einem Reboot nicht wieder automatisch startet einen disable:


    def stopp():

    cmd = "systemctl stop openvpn@server.service && systemctl disable openvpn@server.service"


    Der Service wird aber nicht gestoppt, da muss ich erst rebooten, dann erst ist der Service gestoppt.


    Und wie gesagt, per Telnet funzen die Befehle, Start und auch Stopp, ohne reboot oder sonst was...

  • das ist dein ganzer Code? Du machst ja nur eine Zuweisung an die Variable cmd. Du musst dann schon mindestens noch ein os.system(cmd) machen.

  • Das Problem oben ist gelöst:topok:

    Ein neues tut sich auf:

    Bei ConfigIP bekomme ich sowas mit value geliefert: [10, 8, 0, 1] :kater: das ist ja keine IP? Wunsch wäre "10.8.0.1"

    genauso bei ConfigFloat value liefert: [0, 2] Wunsch 0.2

    Mit diesen Werten kann ich nichts anfangen, gibt es da ne Lösung? Gefunden habe ich keine.

    Oder ConfigText anwenden, das ist aber keine Lösung, sondern das wäre ein behelf.

  • Ja, ConfigIP ist eine Liste. Kannst z.B. so machen

    Code
    1. ipString = '.'.join(x for x in deinConfigEintrag.value)


    Beim ConfigFloat müsstest du doch mit getFloat() den Wert kriegen.