개인정보 보호 확장을 사용하는 온디맨드 새로운 IPv6?

개인정보 보호 확장을 사용하는 온디맨드 새로운 IPv6?

Privacy Extension( net.ipv6.conf.eth0.use_tempaddr=2in /etc/sysctl.conf) 을 활성화 하면 IPv6고정된 기간 동안 새 IP 주소가 제공됩니다. 요청 시 새 IPv6를 얻을 수 있는 방법이 있습니까? 즉, 필요할 때 새 IPv6을 새로 고치시겠습니까?

답변1

"활성" 임시 주소에는 속성이 있습니다.일시적인그리고동적하지만더 이상 사용되지 않음. 더 이상 사용되지 않을 예정인 경우(예:Preferred_lft값이 0으로 떨어지면) 커널이 인터페이스에 새 임시 주소를 추가합니다.

인터페이스의 현재 임시 주소는 여기에 표시된 결과의 일부입니다.

ip -6 address show temporary dynamic

그러나 여전히 유효하지만 더 이상 사용되지 않는 이전 주소의 일부는 아닙니다.

ip -6 address show temporary deprecated

preferred_lft새 임시 주소 생성을 트리거하려면 해당 속성을 0에 가깝게 낮추기만 하면 됩니다 . 시행착오를 통해 preferred_lft3 미만으로 설정하면 작동하지 않습니다. 생성을 트리거하기 전에 카운트다운이 0에 도달하면 더 이상 작동하지 않습니다(그러나 preferred_lft나중에 트리거를 얻기 위해 >= 3으로 다시 설정할 수 있음). 이 특이성에 대해 어떤 손잡이가 있는지 모르겠습니다. 5초는 안전한 값으로 보입니다. 즉, 새 주소가 약 2~3초 후에 표시된다는 의미입니다.

인터페이스에서 현재 발견된 값이 2001:db8::1/64라고 가정해 보겠습니다.eth0:

ip address change 2001:db8::1/64 dev eth0 preferred_lft 5

이를 조작하면 제거됩니다.동적이는 자연스럽게 발생하지 않았으며 나중에 예상보다 빨리 추가 임시 주소 생성을 유발할 수 있습니다.


ipJSON 출력과jq일부 스크립팅 가능성이 가능합니다. 모든 후보 임시 주소를 한 번에 변경하기 위해 쉘에 파이프할 준비가 된 명령을 출력하기 위해 가져온 것은 다음과 같습니다. 일반적으로 둘 이상의 임시 주소를 얻으려면 멀티홈 시스템이 필요하지만 이를 조작하면 여러 주소가 생성될 수 있습니다. 나중에도). 이는일시적인그리고동적주소가 아닙니다더 이상 사용되지 않음후보로 간주하려면 다음을 수행하십시오.

ip -6 -p -j address show temporary dynamic | jq -j '.[] |
    . as $i |
        .addr_info[] as $a |
            if $a.local == null // $a.deprecated == true then
                empty
            else
                "ip -6 address change ",
                $a.local, "/", $a.prefixlen,
                " dev ", $i.ifname,
                " preferred_lft 5\n"
            end'

그러면 다시 출력됩니다.

ip -6 address change 2001:db8::1/64 dev eth0 preferred_lft 5

valid_lft현재 더 이상 사용되지 않는 주소가 완전히 더 빨리 사라지도록 축소하는 것도 고려할 수 있습니다 .

관련 정보