quelle est la commande pour modifier la métrique d'une entrée de route existante dans linux? Je peux changer la passerelle d'une entrée existante en utilisant la commande "ip route change" comme ci-dessous mais je ne peux pas changer les métriques. Y a-t-il une autre commande pour cela?
route –n
40.2.2.0 30.1.3.2 255.255.255.0 eth2
ip route change 40.2.2.0/24 via 30.1.2.2
route -n
40.2.2.0 30.1.2.2 255.255.255.0 eth1
Réponses:
Comme indiqué dans un commentaire à la question, citant un message sur la liste de diffusion linux-net: "La métrique / priorité ne peut pas être modifiée [...] Il s'agit d'une limitation du protocole actuel [...]."
La seule façon est de supprimer l'itinéraire et d'en ajouter un nouveau.
Cela se fait en utilisant la
route
commande, exemple:Page de manuel Debian pour la commande route
la source
The metric/priority cannot be changed [...] This is a limitation of the current protocol[...]
. La seule façon est de supprimer l'itinéraire et d'en ajouter un nouveau.(Combinaison de divers commentaires en une réponse)
Actuellement, il n'est pas possible de modifier la métrique d'un itinéraire. Comme un message de 2005 sur LKML déclare :
Cela semble s'appliquer à la fois à
ip route change
etip route replace
- la première entraîne une erreur pour moi, tandis que la seconde crée un itinéraire supplémentaire comme annoncé (sa page de manuel indique quireplace
remplacera ou créera un itinéraire). Ceci est cohérent avec la réponse du noyau avec ENOENT et leip route replace
suivi d'une demande de création de route.La solution consiste donc à supprimer l'itinéraire existant et à en ajouter un nouveau. par exemple
la source
ifmetric
vous permettra de modifier votre métrique d'itinéraire à la volée, compte tenu de l'interface que les itinéraires que vous souhaitez modifier traversent.Usage
Par exemple, utilisez
ifmetric tun0 12
pour changer la métrique à 12 pour tous les itinéraires passanttun0
.la source