Tente algo assim
Você deseja alterar as regras ufw com base no interface status.
Um bom lugar para esse tipo de ação está em /etc/network/if-down.d/ e /etc/network/if-up.d/
Você pode nesta pasta colocar algum script e fazer uma ação. Por exemplo, coloque esse script em /etc/network/if-down.d/ para alterar as regras ufw sempre que tun0 for desativado.
Faça script chamado script com permissões de execução 755
sudo nano /etc/network/if-down.d/script
Script é
# Check interface
[ "$IFACE" != "tun0" ] || exit 0
# Do something
sudo ufw default deny outgoing
sudo ufw allow out to xxx.xxx.xxx.xxx
Altere a permissão do script
chmod 755 /etc/network/if-down.d/script
Em script xxx.xxx.xxx.xxx representa o ip do seu vpn server
Quando o vpn se reconectar, você precisará alterar novamente as regras ufw .
Faça mais um script, também conhecido como script2
sudo nano /etc/network/if-up.d/script2
Script é algo parecido com isto
# Check interface
[ "$IFACE" != "tun0" ] || exit 0
# Do something
sudo ufw default allow outgoing
#also you can add more ufw rules ...
sudo ufw ....
Altere a permissão do script
chmod 755 /etc/network/if-up.d/script2
O primeiro script irá, se tun0 descer, fazer com que a polícia de saída padrão negue, mas permitirá o acesso a vpn server. O segundo script mudará a polícia de saída padrão para allow