incron mi pare la soluzione più pulita.
Un'alternativa è quella di inserire nello script, lanciato dall'avvio di ogni interfaccia, un controllo sul contenuto del file
ifstate in modo da eseguire i comandi che ti interessano solo se contiene tutte le interfacce volute.
Il rovescio della medaglia è quello di avere diverse istanze in esecuzione dello script (una per ogni interfaccia attiva), con il rischio che due o più di queste trovino il file
ifstate già interamente popolato.
In questo caso dovresti inserire un ulteriore controllo per verificare che lo script non sia già in esecuzione.
Quindi, per me,
incron è la soluzione di gran lunga migliore. Te la cavi con una riga di
incrontab 
Ciao