Terminal beim Start öffnen und befehle ausführen

  • Sorry bin neu und habe das erste mal heute den Pi angemacht.


    Was ich möchte......
    Ich habe von einer Seite ein fertiges Image geladen und auf den Raspberry geladen.
    Dort ist eine Datei drauf, die wenn der PI Hochgefahren ist startet.
    da ich den PI als vpn nutzen muss damit ich mein Onlinespiel machen kann,
    muss ich:

    1. den Terminal öffnen
    2. Sudo -s eingeben

    3. den VPN Starten ( /usr/sbin/openvpn --daemon --config /etc/openvpn/........................ )

    paar sekunden warten

    4. eine Echo Datei Starten ( echo 1 > /proc/sys/net/ipv4/ip_forward )

    paar sekunden warten


    5. eine maskerade starten ( iptables -t nat -A POSTROUTING -o tap0 -j MASQUERADE )


    und dann die Datei, die anfangs gestartet wurde, nochmal starten da ich die IP vom vpn benötige da sie sonst nicht läuft.



    Damit der VPN automatisch startet sollte ich

    Code
    [root@host ~]# crontab -e

    dann

    Code
    @reboot /usr/sbin/openvpn --daemon --config /etc/openvpn/...............

    eingeben.


    jetzt das Problem beim Starten bzw reboot startet der vpn nicht, bei Nachfrage sollte ich


    dies eintragen

    #!/bin/sh


    # OpenVPN starten

    /usr/sbin/openvpn --daemon --config /etc/openvpn/................................

    # IP-Forwarding aktivieren

    echo 1 > /proc/sys/net/ipv4/ip_forward


    /bin/sleep 10


    # IP-Maskierung aktivieren

    /sbin/iptables -t nat -A POSTROUTING -o tap0 -j MASQUERADE



    aber geht auch nicht.

    :conf::conf::conf::conf::conf:


    Jetzt meine Frage :?:


    was muss ich machen, damit der Raspberry, wenn er startet, erst die VPN aufbaut und wenn er hochgefahren ist die datei

    [Desktop Entry]

    Name=Autostart-Server

    Comment=php Server automatisch starten

    Type=Application

    Exec=lxterminal -e /home/pi/Desktop/Server.sh

    Terminal=true

    X-KeepTerminal=true



    starten Kann ohne sie von Hand nachstarten zu müssen. :?:



    hoffe habe es verständlich erklärt, weis nicht wonach ich suchen soll deshalb schreib ich mal
    :danke_ATDE:

    • Official Post

    Hatte ich vorhin übersehen... Erstmal willkommen im Forum! ;)


    Konversationen sind für andere User mit selbem Problem wenig hilfreich, deshalb antworte ich hier darauf.

    Quote

    ich möchte ja erst den dienst vom VPN gestartet haben

    die datei auf dem Desktop startet ja nur das der vpn dienst nicht läuft

    und sich dadurch nicht verbinden kann.

    Du meinst das Terminalfenster geht auf, aber das Skript startet nicht?

  • das fenster öffnet eine socket php die aber eine ip dresse braucht.

    da ich ipv6 habe muss ich auf dem RPI erst eine vpn leitung dann echo dann maskerade öffnen dann
    terminal schliessen und die datei die startete erneut starten dann hat der RPI eine IPV4 leitung
    worauf sich die Socket PHP verbindet

    • Official Post

    Besser geeignet als die crontab, wäre dafür eine Systemd Service Unit zu verwenden, weil Du damit sicherstellen kannst, dass das Netzwerk zu diesem Zeitpunt schon erreichbar ist.


    Siehe dazu hier: https://www.raspberrypi.org/do…on/linux/usage/systemd.md


    Allerdings würde ich in diesem Fall nicht wie im Link beschrieben After=network.target, sondern After=network-online.target verwenden.

  • Moin,

    so waere unten der weg aber was ich nicht verstehe mein internet ist ja da von der fritzbox, und ich möchte dann den vpn im Terminal oder anders starten können. wo trag ich den das ein
    zb. beim booten Terminal als root öffnen, befehle der reihe nach machen, und wenn der desktop öffnet die socket php startet.




    das heist ich gehe mit Root rein
    sudo -s

    erstelle die datei
    mkdir server.service

    bearbeite sie und
    nano server.service