Linux에서 기존 경로 항목의 메트릭을 수정하는 명령은 무엇입니까? 아래와 같이 "ip 경로 변경" 명령을 사용하여 기존 항목의 게이트웨이를 변경할 수 있지만 측정항목은 변경할 수 없습니다. 다른 명령이 있나요?
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
답변1
(다양한 의견을 답변으로 결합)
현재는 경로의 측정항목을 수정할 수 없습니다. 로서2005년 LKML 관련 뉴스가 발표됨:
[...] 필드 및 새 값과 일치하는 별도의 필드가 없기 때문에 측정항목/우선순위를 변경할 수 없습니다. 따라서 측정항목을 지정하면 항목을 전혀 찾을 수 없으며 다음과 같은 NLM_F_CREATE로 요청이 실패합니다. ENOENT 지정되지 않았습니다. 이는 현재 프로토콜의 한계이며 이를 변경하는 것이 좋은 생각일 수도 있지만 사소한 것은 아닙니다 [...]
ip route change
이것은 두 가지 모두 에서 작동하는 것 같습니다 ip route replace
. 전자는 오류를 일으키는 반면 후자는 추가 경로를 생성합니다(맨 페이지에 replace
대체 경로가 명시되어 있음).또는경로를 만듭니다). 이는 ENOENT 및 ip route replace
후속 경로 생성 요청 에 응답하는 커널과 일치합니다 .
따라서 해결책은 기존 경로를 삭제하고 새 경로를 추가하는 것입니다. 예를 들어
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
답변2
ifmetric
변경하려는 경로가 통과하는 인터페이스를 고려하여 경로 메트릭을 동적으로 변경할 수 있습니다.
용법
ifmetric <iface> [<metric>]
예를 들어 ifmetric tun0 12
통과한 모든 경로의 측정항목을 12 로 변경합니다 tun0
.
답변3
답변4
아래와 같이 nmcli를 통해 수행할 수 있습니다.
nmcli connection modify ACTUAL_CONNECTION_NAME ipv4.route-metric 100
nmcli connection up ACTUAL_CONNECTION_NAME