DHCPv6 on Hyper-V - VMs get DHCPv6, External devices do not
-
I have pfSense on Hyper-V on Win 10 1909 (and now currently 2004). I have 3 virtual switches, each with a dedicated physical ethernet port going into pfsense:
WAN1 -> ISP1
LAN -> LAN Switch
WAN2 -> ISP2pfSense has 4 interfaces:
WAN
LAN.50
LAN.40
WAN2If I build a VM in Hyper-V and connect it to the LAN switch on VLAN 50, it gets an IPv4 & IPv6 address. This works in VLAN 40 as well.
If I connect a physical computer (ethernet or wifi) on VLAN 50, devices get only an IPv4 address. Same problem with VLAN 40.
The VMNetworkAdapaterVLAN configuration for pfSense looks like this:
pfsesne wan1 Untagged
pfsense lan Trunk 1,2-4094
pfsense wan2 UntaggedAll VM Switches are configured to allow mac spoofing (same thing I'd do in VMWare).
I've tried setting the lan virtual switch into promiscuous mode, but that did not help. Anything inside the virtual switch gets IPv6, anything outside the virtual switch does not.
When I look at pfSense logs, I see no logged entries for any IPv6 traffic outside the virtual switches.
I also tried converting VLAN50 into a native VLAN on the LAN interface and the appropriate switch configuration. Devices external to the Hyper-V switch have the same behavior. Gets IPv4, no IPv6.
This was easy in ESXi, but something is clearly blocking IPv6 at the Hyper-V virtual switch level. If I swap out Hyper-V for ESXi (while connected to the same switching equipment, same switch port), IPv6 works.
Has anyone run into this? I could use some pointers.
-
Tried these solutions in order. The last one was the trick. HP OfficeConnect 1820G-24 switch.
- Enabled Flow Control - Was off, but didn't help/hurt anything
- Disabled IGMP Snooping - Was on, same as above
- Updated firmware from 2.08 to 2.09, even though the changelog contained only a single line item, which was unrelated to the problem. This was the fix.