(Menggabungkan berbagai komentar menjadi jawaban)
Saat ini, metrik rute tidak mungkin diubah. Sebagai pesan 2005 tentang negara-negara LKML :
[...] Metrik / prioritas tidak dapat diubah karena kami tidak memiliki bidang terpisah untuk dicocokkan dengan bidang dan nilai-nilai baru jadi jika Anda menentukan metrik entri tidak akan ditemukan dan permintaan gagal dengan ENOENT karena NLM_F_CREATE tidak ditentukan. Ini adalah batasan protokol saat ini dan mungkin ide yang baik untuk mengubah ini, namun itu tidak sepele [...]
Ini tampaknya berlaku untuk ip route change
dan ip route replace
- yang pertama menghasilkan kesalahan bagi saya, sedangkan yang kedua membuat rute tambahan seperti yang diiklankan (halaman manualnya menyatakan yang replace
akan mengganti atau membuat rute). Ini konsisten dengan kernel yang merespons dengan ENOENT, dan ip route replace
menindaklanjuti dengan permintaan pembuatan rute.
Jadi, solusinya adalah menghapus rute yang ada dan menambahkan yang baru. misalnya
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