![為什麼 Windows 7 會宣布自己是 IPv6 路由器?](https://rvso.com/image/1317539/%E7%82%BA%E4%BB%80%E9%BA%BC%20Windows%207%20%E6%9C%83%E5%AE%A3%E5%B8%83%E8%87%AA%E5%B7%B1%E6%98%AF%20IPv6%20%E8%B7%AF%E7%94%B1%E5%99%A8%EF%BC%9F.png)
我有一個從 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,否則它應該是純粹的客戶端。