为什么 Windows 7 宣布自己是 IPv6 路由器?

为什么 Windows 7 宣布自己是 IPv6 路由器?

我有一个从 Linux 机器到代理的 6in4 ipv6 连接。我用它gogoc来建立与代理的连接,并将radvd路由通告给网络上的客户端。

所有这些似乎都有效,问题是我在同一个网络上有一台 Windows 7 机器,它宣称自己是 ipv6 路由器。但事实并非如此。

这是 radvdump 的输出:

 #
# radvd configuration generated by radvdump 1.8.5
# based on Router Advertisement from [snip]:ea2
# received by interface eth0
#

interface eth0
{
        AdvSendAdvert on;
        # Note: {Min,Max}RtrAdvInterval cannot be obtained with radvdump
        AdvManagedFlag on;
        AdvOtherConfigFlag on;
        AdvReachableTime 0;
        AdvRetransTimer 0;
        AdvCurHopLimit 0;
        AdvDefaultLifetime 1800;
        AdvHomeAgentFlag off;
        AdvDefaultPreference medium;
        AdvSourceLLAddress on;
        AdvLinkMTU 1500;
}; # End of interface definition
#
# radvd configuration generated by radvdump 1.8.5
# based on Router Advertisement from [snip]:1121
# received by interface eth0
#

interface eth0
{
        AdvSendAdvert on;
        # Note: {Min,Max}RtrAdvInterval cannot be obtained with radvdump
        AdvManagedFlag off;
        AdvOtherConfigFlag off;
        AdvReachableTime 0;
        AdvRetransTimer 0;
        AdvCurHopLimit 64;
        AdvDefaultLifetime 1800;
        AdvHomeAgentFlag off;
        AdvDefaultPreference medium;
        AdvLinkMTU 1280;
        AdvSourceLLAddress on;

        prefix [snip]::/64
        {
                AdvValidLifetime 86400;
                AdvPreferredLifetime 14400;
                AdvOnLink on;
                AdvAutonomous on;
                AdvRouterAddr off;
        }; # End of prefix definition

}; # End of interface definition

我最终选择了两条路线:

$ ip -6 route
[snip]::/64 dev eth0  proto kernel  metric 256  expires 86117sec
fe80::/64 dev eth0  proto kernel  metric 256
default via [snip]:ea2 dev eth0  proto kernel  metric 1024  expires 1492sec
default via [snip]:1121 dev eth0  proto kernel  metric 1024  expires 1506sec

ea2路由指向 Windows7 机器。它没有安装路由器,也没有任何 tun/tap 接口。我不明白它为什么会这样做。

我可以禁用它的 IPv6,但我希望它是一个客户端,而不是路由器。

更新:IP Helper服务 ( Provides tunnel connectivity using IPv6 transition technologies (6to4, ISATAP, Port Proxy, and Teredo), and IP-HTTPS. If this service is stopped, the computer will not have the enhanced connectivity benefits that these technologies offer.) 似乎是罪魁祸首,因为如果停止了,我就无法获得所公布的路由。所以我的问题现在更具体地是“为什么 IP Helper 会公布路由?”。

答案1

  • 跑高netsh并前往interface ipv6

  • 检查是否show route列出任何发布路线。

  • 如果是,请使用 取消发布它们set route ::/0 "Local Area Connection" publish=no

但是,根据radvdump输出,您的 Windows 机器没有公布任何前缀,所以我不明白为什么 Linux 会通过它添加默认路由。

  • 用于show interface verbose列出网络接口;查找“发送路由器通告”或类似的值。

  • 用于set interface "Local Area Connection forward=disable advertise=disable禁用 IPv6 转发和路由器通告。

答案2

您是否尝试过告诉 Windows 7 计算机默认路由的位置或从路由器中删除坏路由?除非您已打开 ICS,否则它应该只是一个客户端。

相关内容