NetworkManager를 사용하여 "noprefixroute" 없이 고정 IPv6 주소 생성

NetworkManager를 사용하여 "noprefixroute" 없이 고정 IPv6 주소 생성

방화벽(armbian) LAN 이더넷에 고정 ipv6 주소를 만들었습니다. 네트워크 관리자를 사용합니다. 문제는 주소가 다음과 같이 표시된다는 것입니다.

inet6 2001:DB8:c101:b700::1/64 scope global noprefixroute

noprefixroute 플래그는 이 인터페이스에 2001:DB8:c101:b700에 대한 자동 경로가 없음을 나타냅니다.

NetworkManager를 사용하여 경로를 수동으로 생성할 수 있지만 noprefixroute 플래그 없이 경로가 자동으로 생성되는 것을 선호합니다.

비슷한 구성(debianstretch)을 가진 다른 컴퓨터가 있고 noprefixroute로 표시되지 않은 고정 IP가 있기 때문에 이 작업을 수행할 수 있다는 것을 알고 있습니다.

inet6 2001:db8:c101:b700:beef::44/64 scope global

NetworkManager가 때때로 매우 이상하게 동작하기는 하지만 이러한 차이가 발생하는 이유는 모르겠습니다.

NetworkManager를 계속 사용하는 동안 noprefixroute 플래그를 사용하지 않고 고정 IPv6 주소로 인터페이스를 갖는 가장 좋은 방법은 무엇입니까?

답변1

Linux 커널은 기본적으로 각 주소(IPv4 및 IPv6)에 대한 "장치" 경로를 추가합니다. 즉, 접두사가 위치한 서브넷의 업링크 경로입니다.

우선, 자동으로 추가된 경로에는 항상 고정된 측정항목(IPv6의 경우 256)이 있습니다. 이는 NetworkManager가 원하는 것이 아닙니다. NetworkManager에서는 ipv6.route-metric장치 유형에 따라 달라지는 기본값이 있는(지정되지 않은 경우) 설정을 사용하여 경로 메트릭을 구성합니다 . 예를 들어 이더넷에서 기본 경로 메트릭은 50입니다.

또한 autoconf/SLAAC를 사용하면 라우터 광고에 따라 접두사가 링크에 없을 수도 있습니다. 이 경우 그러한 장치 경로를 추가하는 것은 단순히 잘못된 것입니다.

따라서 NetworkManager는 커널이 자동으로 경로를 추가하는 것을 방지하기 위해 항상 noprefixroute 플래그를 사용하여 주소를 추가합니다. 물론 NetworkManager는 상황에 따라 적절한 /64를 구성합니다.

예를 들어 NetworkManager에서 고정 주소를 구성하는 경우. 을 통해 nmcli connection modify "$PROFILE" +ipv6.addresses "1:2:3:4::1/64" && nmcli connection up "$PROFILE"해당 1:2:3:4::/64 경로가 표시되어야 합니다.

"noprefixroute" 플래그는 실제 문제가 아닌 것 같습니다. 이 플래그는 이유가 있어서 설정되었습니다. NetworkManager에서 구성한 IP 구성이 부적절할 경우 또 다른 문제가 발생할 수 있습니다.

관련 정보