为什么我的 Windows 有数百个临时 IPv6 地址?

fsc*_*enm 20 networking windows ipv6 windows-8 windows-8.1

几周前,我的 ISP 为我启用了 IPv6。现在我注意到 Windows (8.1) 获得了很多临时 IPv6 地址。ipconfig具有以下输出(真实地址被混淆):

Windows IP Configuration

Ethernet adapter Ethernet:

    Connection-specific DNS Suffix  . : fritz.box
    IPv6 Address. . . . . . . . . . . : 2012:65:fd85:5712:e0ca:9e76:661f:c4f1
    Temporary IPv6 Address. . . . . . : 2012:65:fd85:5712:74:5cd9:163c:69ef
    Temporary IPv6 Address. . . . . . : 2012:65:fd85:5712:89:8f2:7643:e51e
    Temporary IPv6 Address. . . . . . : 2012:65:fd85:5712:e3:52fd:b15f:6d7d
    [...over 600 more entries...]
    Temporary IPv6 Address. . . . . . : 2012:65:fd85:5712:fda8:816e:6d3:7713
    Temporary IPv6 Address. . . . . . : 2012:65:fd85:5712:fdc9:7a6b:d2c5:e880
    Temporary IPv6 Address. . . . . . : 2012:65:fd85:5712:fdf4:11ed:9aba:9e27
    Link-local IPv6 Address . . . . . : fe80::e0ca:9e76:661f:c4f1%3
    IPv4 Address. . . . . . . . . . . : 192.168.178.22
    Subnet Mask . . . . . . . . . . . : 255.255.255.0
    Default Gateway . . . . . . . . . : fe80::a96:d7ff:fe1f:cb26%3
                                        192.168.178.1
Run Code Online (Sandbox Code Playgroud)

我真的不知道所有这些地址来自哪里。我在同一网络上的 Mac OS X 没有临时 IPv6 地址的问题。除了是一个奇怪的问题之外,我相信 IPv6 地址的数量正在降低我在 Windows 上的网络性能。

有没有人知道是什么触发了这种行为以及如何防止它。如果可能,我不想完全禁用临时 IPv6 地址。

ada*_*dam 15

有谁知道是什么触发了这种行为以及如何防止它?

从 Brian 给您的链接中,“临时地址是为使用无状态地址自动配置的公共地址前缀生成的。”

更具体地说,每个进程都会生成一个资源请求,然后操作系统进行交付。IPv6 SAA 在RFC 2462 中定义,但“临时 IPv6 地址”是因为RFC 4941的 Windows 实现。因此,问题变成了哪个进程负责发起操作系统请求以打开具有这些隐私扩展的套接字。

要回答您的问题是什么触发了这种情况,让我们看看硬件和软件。

操作系统

Windows 使用 中定义的参数管理临时地址netsh interface ipv6 show privacy。修改netsh interface ipv6 set privacy ?

要检查它们在 Linux 机器上的设置,您可以检查/proc/sys/net. 您可以找到发行版的相关值sysctl -a --pattern ^net\..*ipv?6.*temp.*并更改所需的变量sysctl -w foo.bar.var=<new value>(在您的 Apple 机器上应该是类似的,请检查man sysctl

硬件/操作系统

您做到了netstat -p TCPv6,但它可能不是 TCP 连接。

做一个netstat -bes相互几分钟,看到了* V6块之间的差异比较什么。

虽然我认为这可能是硬件问题,因为 NIC 固件无法处理 ipv6,但更有可能是软件操作系统/进程是触发器。如果是硬件,则软件端可能无法正常处理会话中断,无法恢复先前 IP 上的连接。因此,将其识别为软件问题并不一定排除硬件问题。

软件/操作系统系统进程和服务

为此,请使用http://www.nirsoft.net/utils/network_traffic_view.html查看网络流量以识别进程。

因为根据定义,这些地址是临时的,它们可以在进程结束后临时保留,所以如果套接字立即关闭,您可能看不到当前正在运行的进程在 NTV 中具有打开的连接。

为此,请使用进程资源管理器 ( http://live.sysinternals.com/tools/procexp.exe ) 和差异突出显示(选项 > 差异突出显示持续时间 > 9),然后滚动到新进程(查看 > 滚动到新进程)。整行绿色/红色分别表示在过去 9 秒内创建或销毁的进程。

一旦确定了进程,如果它是浏览器或任何带有插件的应用程序,您将必须通过以安全模式启动浏览器并逐个启用插件来调试哪个插件或网站 javascript 可能导致问题。

  • 我想我发现了我的问题:当尝试按照您的建议使用 NetworkTrafficView 时,我注意到我的 WinPcap 安装以某种方式损坏了。我既不能使用 Wireshark 也不能使用 NetworkTrafficView,因为它们在启动时都挂了。我重新安装了 WinPcap,从那时起一切似乎都完美无缺! (2认同)