Seu script if-up.d será executado mais de uma vez. A variável $ ADDRFAM será definida como " inet " e " inet6 " respectivamente para quando o IPv4 e o IPv6 estiverem configurados. Verifique esta variável no seu script, se estiver usando o bash:
[ "$ADDRFAM" == "inet6" ] || exit 0
(Nota: isso acontece se você tiver um endereço IPv6 estático configurado, possivelmente não usando SLAAC ou DHCPv6, eu não testei)