Experimente com up e down em vez de post-up e pre-down .
Exemplo:
auto eth0
iface eth0 inet static
address 192.168.1.1
netmask 255.255.255.0
up route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.1.1
Ou, mas eu não testei, você pode escrever um script bash e colocá-lo na pasta /etc/network/if-up.d/ e /etc/network/if-down.d/ (você pode usar a variável $ IFACE para saber qual interface está obtendo uma conexão).
Em /etc/network/if-up.d/some-script :
#!/bin/bash
if [[ $IFACE == "eth0" ]]; then
ip route add x.x.x.0/24 via x.x.x.254 dev $IFACE
fi
Espero que isso ajude.