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