我有一个从 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,否则它应该只是一个客户端。