V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
redsonic
V2EX  ›  Windows

win10 1803 启用 hyperV 宿主机无法通过 dhcpv6 获得 ipv6 地址

  •  
  •   redsonic · 2018-09-10 11:55:54 +08:00 · 3585 次点击
    这是一个创建于 2027 天前的主题,其中的信息可能已经有所发展或是发生改变。
    dhcpv6 服务端为 dnsmasq 配置如下:

    dhcp-authoritative
    domain-needed
    localise-queries
    read-ethers
    bogus-priv
    expand-hosts
    server=/lan/
    dhcp-leasefile=/tmp/dhcp.leases
    resolv-file=/tmp/resolv.conf.auto
    addn-hosts=/tmp/hosts
    conf-dir=/tmp/dnsmasq.d
    stop-dns-rebind
    rebind-localhost-ok
    dhcp-broadcast=tag:needs-broadcast
    dhcp-range=lan,192.168.1.100,192.168.1.249,255.255.255.0,12h
    no-dhcp-interface=eth0.2
    dhcp-range=fd11:4401::100, fd11:4401::200, 64, 12h
    enable-ra

    win10 1803 未启用 hyperV 时可正常获取 ipv6 地址,启用之后并新建 external vswitch,宿主机和客户机都会通过这个 vswitch 和物理网路桥接来和外部网络通信。此时 vswitch 无法获得 ipv6 地址,但 ra 正常可以获得 ipv6 前缀长度和缺省路由以及 dns 等等。而且此时客户机也正常,可以和外部 ipv6 通信。

    用以下步骤尝试解决未果:
    1. netsh interface ipv6 reset 重置网络配置
    2. 完全关闭 win10 内建防火墙

    通过抓包发现宿主机可以正确发出 dhcpv6 的请求,但好像没有收到回应一样多次重试请求:

    11:46:18.204794 IP6 fe80::e1ef:3ab8:4f9d:69ca.dhcpv6-client > ff02::1:2.dhcpv6-server: dhcp6 solicit
    11:46:18.207006 IP6 fe80::20c:43ff:fe28:80a6.dhcpv6-server > fe80::e1ef:3ab8:4f9d:69ca.dhcpv6-client: dhcp6 advertise
    11:46:18.231870 IP6 fe80::e1ef:3ab8:4f9d:69ca.dhcpv6-client > ff02::1:2.dhcpv6-server: dhcp6 solicit
    11:46:18.233859 IP6 fe80::20c:43ff:fe28:80a6.dhcpv6-server > fe80::e1ef:3ab8:4f9d:69ca.dhcpv6-client: dhcp6 advertise
    11:46:19.246108 IP6 fe80::e1ef:3ab8:4f9d:69ca.dhcpv6-client > ff02::1:2.dhcpv6-server: dhcp6 solicit
    11:46:19.247919 IP6 fe80::20c:43ff:fe28:80a6.dhcpv6-server > fe80::e1ef:3ab8:4f9d:69ca.dhcpv6-client: dhcp6 advertise
    11:46:20.254656 IP6 fe80::e1ef:3ab8:4f9d:69ca.dhcpv6-client > ff02::1:2.dhcpv6-server: dhcp6 solicit
    11:46:20.256491 IP6 fe80::20c:43ff:fe28:80a6.dhcpv6-server > fe80::e1ef:3ab8:4f9d:69ca.dhcpv6-client: dhcp6 advertise
    11:46:22.257985 IP6 fe80::e1ef:3ab8:4f9d:69ca.dhcpv6-client > ff02::1:2.dhcpv6-server: dhcp6 solicit
    11:46:22.259784 IP6 fe80::20c:43ff:fe28:80a6.dhcpv6-server > fe80::e1ef:3ab8:4f9d:69ca.dhcpv6-client: dhcp6 advertise
    11:46:26.257935 IP6 fe80::e1ef:3ab8:4f9d:69ca.dhcpv6-client > ff02::1:2.dhcpv6-server: dhcp6 solicit
    11:46:26.259782 IP6 fe80::20c:43ff:fe28:80a6.dhcpv6-server > fe80::e1ef:3ab8:4f9d:69ca.dhcpv6-client: dhcp6 advertise
    11:46:34.276753 IP6 fe80::e1ef:3ab8:4f9d:69ca.dhcpv6-client > ff02::1:2.dhcpv6-server: dhcp6 solicit
    11:46:34.342910 IP6 fe80::20c:43ff:fe28:80a6.dhcpv6-server > fe80::e1ef:3ab8:4f9d:69ca.dhcpv6-client: dhcp6 advertise
    11:46:50.290112 IP6 fe80::e1ef:3ab8:4f9d:69ca.dhcpv6-client > ff02::1:2.dhcpv6-server: dhcp6 solicit
    11:46:50.292013 IP6 fe80::20c:43ff:fe28:80a6.dhcpv6-server > fe80::e1ef:3ab8:4f9d:69ca.dhcpv6-client: dhcp6 advertise
    4 条回复    2019-11-30 21:24:43 +08:00
    PublicDNS
        1
    PublicDNS  
       2019-02-05 14:28:53 +08:00
    楼主这个问题后来解决了吗?我碰到了同样的问题,通过 wireshark 可以看到发出了 dhcpv6 请求而且也收到回复,但是一直在重发。
    redsonic
        2
    redsonic  
    OP
       2019-02-05 15:09:26 +08:00
    @PublicDNS 没有解决,目前只能手动。奇怪的是很少有人反应这个问题,更没有 bug 提交。
    404error
        3
    404error  
       2019-11-30 21:18:34 +08:00 via Android
    我在 win10 1909 上遇到相同问题,不知道怎么解决。
    redsonic
        4
    redsonic  
    OP
       2019-11-30 21:24:43 +08:00
    @404error 我升级到 1909 反而好了,宿主机可以拿到 ipv6 地址了。你把原来虚拟出来的 external vswitch 删掉重建一个新的试试。

    @PublicDNS
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5190 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 09:27 · PVG 17:27 · LAX 02:27 · JFK 05:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.