use_tempaddr=1 커널 매개변수의 목적은 무엇입니까?

use_tempaddr=1 커널 매개변수의 목적은 무엇입니까?

sysctl문서를 읽어보니 다음과 같은 내용을 발견했습니다.

use_tempaddr - INTEGER
    Preference for Privacy Extensions (RFC3041).
      <= 0 : disable Privacy Extensions
      == 1 : enable Privacy Extensions, but prefer public
             addresses over temporary addresses.
      >  1 : enable Privacy Extensions and prefer temporary
             addresses over public addresses.
    Default:  0 (for most devices)
         -1 (for point-to-point devices and loopback devices)

그래서 use_tempaddr매개변수를 로 설정 하면 0개인정보 확장이 비활성화되어 임시 주소가 사용되지 않습니다. 로 설정하면 2개인 정보 보호 확장이 활성화되므로 임시 주소가 사용됩니다. 하지만 개인 정보 보호 확장을 활성화 use_tempaddr하고 임시 주소를 사용하지 않도록 설정하면 1... 그렇다면 이 세 가지 옵션 중 두 개만 의미가 있을 때 이 세 가지 옵션을 갖는 목적은 무엇입니까? use_tempaddr으로 설정하는 사용 사례는 무엇입니까 1?

답변1

이를 1로 설정하면 일부 애플리케이션은 주소 변경을 선호하고 다른 애플리케이션은 장기 주소를 선호하는 상황을 지원하는 방법입니다.

예를 들어 동일한 노트북에서 SSH, RDP 클라이언트 및 웹 브라우저를 사용하는 경우 RDP 및 SSH에 대해 수명이 긴 주소가 필요할 수 있습니다(두 가지 모두 몇 시간 또는 며칠 동안 열려 있는 TCP 연결을 사용할 수 있기 때문). 웹 브라우저의 주소 변경(추적 문제로 인해)

이 상황을 뒷받침하는 방법에는 여러 가지가 있습니다. 그 중 하나는 use_tempaddr을 1로 설정하고 웹 브라우저에서 소스 주소를 선택하는 특수 코드를 작성하는 것입니다. (이런 코드를 본 적이 있는데 안드로이드 앱에서 본 것 같습니다. 혼란스러워요. 아직 이해가 안 돼요.)

동일한 목표를 달성하는 다른 방법이 있습니다. 그러나 커널이 사용자 공간 관리자가 어떤 방법이 가장 좋은지 결정하도록 해야 한다고 생각한다면 커널이 tempaddr=1을 허용하는 것이 합리적입니다.

관련 정보