ifconfig up no se ejecuta desde cron

ifconfig up no se ejecuta desde cron

Estoy intentando combinarGuía de Scott Lowe para crear un espacio de nombresconesta respuesta sobre el reenvío de tráfico entre dos interfaces.

Tengo este script que se ejecuta en cada reinicio usando la directiva cron @reboot: (estoy usando el script porque ninguno de estos comandos parece persistir durante los reinicios).

# 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

Cuando ejecuto el script manualmente usando sudo, se ejecuta bien. Sin embargo, cuando el script se ejecuta mediante cron, la cuarta línea, ip netns exec vpnspace ifconfig vpnopen 10.0.0.1/24 upno se ejecuta. ¿Por qué está pasando esto? ¿Cómo hago para que se ejecute?

TL;DR: ifconfig vpnopen 10.0.0.1/24 upno se ejecuta cuando lo llama cron dentro de un espacio de nombres

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

Aclaraciones:

  1. Mi trabajo cron es@reboot /home/ubuntu/startupscripts/rootscripts.sh
  2. El código proporcionado arriba es la primera parte del script de shell llamado
  3. Por "no se ejecuta", quiero decir que si ejecuto el comando sudo ip netns exec vpnspace ifconfigen la terminal para verificar si se abrió la dirección IP, la terminal devuelve una salida en blanco. Intenté registrar el resultado agregando >>rootscripts.log, pero no se registra nada y no se devuelve ningún mensaje de error.

Respuesta1

Los comandos cron generalmente se ejecutan con una RUTA predeterminada. Mientras que ip suele estar en /bin, ifconfig se encuentra con mayor frecuencia en /sbin. . . Así que intenta poner /sbin/ifconfig en tu línea de comando.

información relacionada