ifconfig up wird nicht von cron ausgeführt

ifconfig up wird nicht von cron ausgeführt

Ich versuche zu kombinierenScott Lowes Anleitung zum Erstellen eines Namespacesmitdiese Antwort zur Weiterleitung des Datenverkehrs zwischen zwei Schnittstellen.

Ich habe dieses Skript, das bei jedem Neustart mit der Cron-Direktive „@reboot“ ausgeführt wird: (Ich verwende das Skript, weil keiner dieser Befehle über Neustarts hinweg bestehen zu bleiben scheint.)

# Setup VPN
ip netns add vpnspace
ip link add vpnopen type veth peer name vpnbind
ip link set vpnopen netns vpnspace
ip netns exec vpnspace ifconfig vpnopen 10.0.0.1/24 up

Wenn ich das Skript manuell mit ausführe sudo, funktioniert es einwandfrei. Wenn das Skript jedoch mit cron ausgeführt wird, ip netns exec vpnspace ifconfig vpnopen 10.0.0.1/24 upwird die vierte Zeile, , nicht ausgeführt. Warum passiert das? Wie kann ich es ausführen?

Kurz zusammengefasst: ifconfig vpnopen 10.0.0.1/24 upwird nicht ausgeführt, wenn es von cron innerhalb eines Namespace aufgerufen wird

=============

Erläuterungen:

  1. Mein Cron-Job ist@reboot /home/ubuntu/startupscripts/rootscripts.sh
  2. Der oben angegebene Code ist der erste Teil des Shell-Skripts namens
  3. Mit „wird nicht ausgeführt“ meine ich, dass sudo ip netns exec vpnspace ifconfigdas Terminal eine leere Ausgabe zurückgibt, wenn ich den Befehl im Terminal ausführe, um zu prüfen, ob die IP-Adresse aufgerufen wurde. Ich habe versucht, die Ausgabe durch Anhängen zu protokollieren >>rootscripts.log, aber es wird nichts protokolliert und keine Fehlermeldung zurückgegeben.

Antwort1

Cron-Befehle werden normalerweise mit einem Standardpfad ausgeführt. Während sich IP normalerweise in /bin befindet, findet man ifconfig meistens in /sbin ... also versuchen Sie, /sbin/ifconfig in Ihre Befehlszeile einzugeben.

verwandte Informationen