Linux에서 기존 라우팅 항목 수정

Linux에서 기존 라우팅 항목 수정

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

에서 언급했듯이논평이 질문에 대해 다음을 인용해 보세요.정보linux-net 메일링 리스트: "메트릭/우선순위는 변경할 수 없습니다. [...] 이것은 현재 프로토콜의 제한 사항입니다. [...]."
유일한 방법은 경로를 삭제하고 새 경로를 추가하는 것입니다.

이는 route다음과 같은 명령을 사용하여 수행됩니다.

sudo route add -net default gw 10.10.0.1 netmask 0.0.0.0 dev wlan0 metric 1

Route 명령에 대한 Debian 맨페이지

답변4

아래와 같이 nmcli를 통해 수행할 수 있습니다.

nmcli connection modify ACTUAL_CONNECTION_NAME ipv4.route-metric 100
nmcli connection up ACTUAL_CONNECTION_NAME

관련 정보