Итак.
Надо либо добавлять sudo перед вызовом скрипта из кронтаба.
Либо прописывать абсолютные пути /sbin/ip и /sbin/iptables в скриптах.
Потому что переменная окружения PATH, похоже, не передаёт при запуске крона /sbin.
Огромное спасибо всем, кто помог здесь решить проблему.