阅读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的用例是什么?
发布于 2019-07-03 11:52:24
将其设置为1是一种支持这样一种情况的方法,即一些应用程序更喜欢不断更改的地址,而另一些应用程序则更喜欢使用较长时间的地址。
例如,如果您在同一台笔记本上使用SSH、RDP客户端和web浏览器,您可能需要RDP和SSH的长寿命地址(因为这两种地址都可以使用长期开放的TCP连接,可以保持多个小时甚至几天)和web浏览器的不断更改的地址(因为跟踪问题)。
有几种方法可以支持这种情况。其中之一是将use_tempaddr设置为1,并编写特殊代码在web浏览器中选择源地址。(我在android应用程序中见过这样的代码。我对此感到困惑。还不明白这一点。)
要实现同样的目标,还有其他方法。但是,如果您认为内核应该让用户空间维护人员决定哪种方式是最好的,那么内核允许tempaddr=1是有意义的。
https://unix.stackexchange.com/questions/499739
复制相似问题