Aquí está la solución con la que finalmente resolví mi problema:
while ! ip link show eth0 | grep -q 'state UP'; do
sleep 1
done
ip link add macvlan0 link eth0 type macvlan mode bridge
ip addr add 192.168.0.240/32 dev macvlan0
ip link set macvlan0 up
ip route add 192.168.0.240/28 dev macvlan0
Sin embargo, tenía 2 tareas programadas de "arranque" en mi Synology y recibía algunos errores en el arranque. Para resolver ese problema, configuro esta tarea para tener la otra como tarea previa. En otras palabras, las tareas se ejecutan en secuencia, esperando que termine la tarea anterior antes de comenzar la nueva.
Comprobar el estado de eth0
de /sys/class/net/eth0/operstate
y espere hasta que la interfaz de red esté activa:
while ! [ "$(cat /sys/class/net/eth0/operstate)" = "up" ]
do
echo "waiting for eth0 to be up"
sleep 2
done
ip link add macvlan0 link eth0 type macvlan mode bridge
ip addr add 192.168.0.240/32 dev macvlan0
ip link set macvlan0 up
ip route add 192.168.0.240/28 dev macvlan0