NB: Eu respondo aqui para @Henrik, porque meu comentário é muito longo e complexo. E, sim, você está certo, eu uso o Linux no presente caso.
Na verdade, é uma ótima ideia! Eu tenho procurado e pesquisado isso desde que li sua resposta.
Se eu não fizer nada, a rota usou os endereços anônimos. Então eu adiciono uma rota como você disse. Mas, então, você deve usar uma métrica menor que 256, porque senão ainda é a tabela do sistema que a obtém:
[stephane@Jabberwocky all]$ ip -6 route 2001:...::/64 dev eno1 proto kernel metric 256 expires 3598sec pref medium
Então, eu uso seu comando com uma baixa métrica:
[stephane@Jabberwocky all]$ sudo ip -6 route add 2001:...::/64 src 2001:...:fef6:d709 dev eno1 metric 128
Mas então, eu quero fazer isso grande: ele deve funcionar para o meu todo / 48 (o comportamento deve permanecer o mesmo que o computador usa uma interface com fio ou wifi para acessar a rede, apenas o endereço muda naturalmente). Se eu definir uma rota para um / 48, ele terá menos prioridade que o de / 64 (regra do prefixo mais específico). Então eu tenho que suprimir a rota para / 64 e adicionar uma rota para / 48.
Espero que você entenda o que eu escrevo.
(E eu ainda não vejo como vou fazer isso funcionar praticamente no computador: parece que tenho que iniciar um comando depois que a rede for iniciada)