ich habe ein kleines Problem mit OpenVPN. Ich möchte eine VPN-Verbindung mit OpenVPN herstellen, dann eine Datei von einem FTP-Server abrufen und dann die Verbindung schließen.
Das VPN und der FTP funktionieren einwandfrei. Aber wenn ich die VPN-Verbindung starte mit:
sudo /etc/openvpn/openvpn client1.ovpn
Terminal hält an:
Tue Apr 26 13:54:08 2016 /sbin/ip route add 10.8.0.1/32 via 10.8.0.9
Tue Apr 26 13:54:08 2016 Initialization Sequence Completed
Der Tunnel funktioniert also einwandfrei. Aber das Terminal ist blockiert und ich kann den FTP im selben Terminal nicht verbinden.
Schließlich möchte ich so etwas machen:
#!/bin/bash
echo "ich logge mich jetzt beim VPN ein "
sudo openvpn /etc/openvpn/magicbox1.ovpn
echo "bin eingeloggt, hole jetzt die Daten"
sudo ncftpget -DD -T -R -v -u <username> -p <passwort> \10.8.0.1 /home/ /*
echo "Fertig, schließe jetzt den VPN"
sudo killall openvpn
ich habe es auch mit nohup beim OpenVPN-Start versucht. Ich bekomme also keine Informationen über OpenVPN im Terminal, aber es ist auch blockiert.
Antwort1
Da Sie am Ende Ihres Skripts killall verwenden, können Sie Ihre OpenVPN-Aufgabe vom Terminal trennen, indem Sie Folgendes hinzufügen &
:
#!/bin/bash
echo "ich logge mich jetzt beim VPN ein "
sudo openvpn /etc/openvpn/magicbox1.ovpn &
echo "warte auf den server"
sleep 5
echo "bin eingeloggt, hole jetzt die Daten"
sudo ncftpget -DD -T -R -v -u <username> -p <passwort> \10.8.0.1 /home/ /*
echo "Fertig, schließe jetzt den VPN"
sudo killall openvpn