(Combinando vários comentários em uma resposta)
Atualmente, não é possível modificar a métrica de uma rota. Como indica uma mensagem de 2005 no LKML :
[...] A métrica / prioridade não pode ser alterada porque não temos campos separados para os campos corresponderem aos novos valores; portanto, se você especificar uma métrica, a entrada simplesmente não será encontrada e a solicitação falhará com ENOENT porque NLM_F_CREATE não está especificado. Esta é uma limitação do protocolo atual e pode ser uma boa ideia alterar isso, no entanto, não é trivial [...]
Isso parece se aplicar a - ip route change
e ip route replace
o primeiro resulta em um erro para mim, enquanto o último cria uma rota adicional conforme anunciado (sua página de manual afirma que replace
substituirá ou criará uma rota). Isso é consistente com o kernel que responde com ENOENT e ip route replace
acompanha uma solicitação de criação de rota.
Portanto, a solução é excluir a rota existente e adicionar uma nova. por exemplo
ip route del 40.2.2.0/24 via 30.1.2.2
ip route add 40.2.2.0/24 via 30.1.2.2 metric 1234