为什么我会在 ifconfig 中列出多个全局 IPv6 地址?

Ste*_* RC 71 ipv6

这可能很简单,但是当我查看ifconfig它时,它列出了两个不同的全球IPv6 地址。我有两个被分配的原因吗?我不应该只得到一个地址吗?

valorin@gandalf:~$ ifconfig
eth0      Link encap:Ethernet  HWaddr e8:9a:8f:6d:6a:aa  
          inet addr:172.10.10.1  Bcast:172.10.10.255  Mask:255.255.255.0

          inet6 addr: 2400:4000:cafe:2014:48c8:f262:ebe8:297b/64 Scope:Global
          inet6 addr: 2400:4000:cafe:2014:ea9a:8fff:fe6d:6aaa/64 Scope:Global

          inet6 addr: fe80::ea9a:8fff:fe6d:6aaa/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:258 errors:0 dropped:0 overruns:0 frame:0
          TX packets:313 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:78280 (78.2 KB)  TX bytes:46173 (46.1 KB)
          Interrupt:41 Base address:0xe000 
Run Code Online (Sandbox Code Playgroud)

San*_*ann 92

包含的地址ea9a:8fff:fe6d:6aaa是根据您的以太网 MAC 地址自动配置的地址。您可以识别它们,因为它们包含...ff:fe...在最后 64 位的中间。其余位来自您的 MAC 地址。相比

ea9a:8fff:fe6d:6aaa
Run Code Online (Sandbox Code Playgroud)

e8:9a:8f:6d:6a:aa
Run Code Online (Sandbox Code Playgroud)

因为有些人担心让您的 MAC 地址在互联网上可见会导致内容/网站提供商通过您的 mac 地址跟踪您的行为(这种行为不会让我感到惊讶,尽管他们可以更轻松地使用 cookie、浏览器跟踪您-本地存储等等)引入了隐私扩展。

包含的地址48c8:f262:ebe8:297b就是这样的地址。这是将用于连接到网站和其他传出连接的地址。它会随着时间的推移而改变,以维护您的隐私并使您更难被跟踪。

这两个地址都可供您使用。除非另有配置,传出连接将使用隐私地址。您还可以在基于 MAC 地址的 IPv6 地址上接收传入连接。这一切都是为了给你很大的灵活性。如果需要,您可以添加更多地址。

PS:另一个查看 IPv6 地址的工具是

ip -6 addr
Run Code Online (Sandbox Code Playgroud)

它将向您展示更多细节。您将看到temporary隐私地址后面的单词,表示它是什么。

  • 默认源地址根据 https://tools.ietf.org/html/rfc6724 确定。通常会使用最近生成的临时地址 (2认同)