I'm having problem for some days trying to make a correct configuration
Right now I have a Cisco Catalyst switch, a Cisco Router 2811 and a VMware ESXi node with 4-8 VM (Linux,BSD, Windows), each one of those are configure to use 802.1q and they are group in 5 vlans .
Next, the Node connect to a Cisco Catalyst 2964 to the Interface port 0/1 with this configuration:
switchport trunk allowed vlan 1-11
switchport mode trunk
switchport nonegottiate
Plus "Interface vlan" for each vlan, at this point the Virtual hosts with ipv4 static address are able to ping to the Switch (Host of vlan 2 can ping Interface Vlan2 of the Switch , etc).
Next I configure the Interface of the switch which will be connect to a Cisco 2811 Router
switchport trunk allowed vlan 1-11, 99
switchport mode trunk
switchport nonegottiate
switchport mode trunk native 99
In the Cisco 2811 Router I created one dhcpv4 pool for each Vlan (Except 99) and begin to make the work on the interface
interface FastEthernet0/0.1
encapsulation dot1Q 1
ip address 192.168.1.1 255.255.255.0
ipv6 address 2001:DB8:C0CA:1::1/64
!
interface FastEthernet0/0.2
encapsulation dot1Q 2
ip address 192.168.2.1 255.255.255.0
ipv6 address 2001:DB8:C0CA:2::1/64
!
interface FastEthernet0/0.3
encapsulation dot1Q 3
ip address 192.168.3.1 255.255.255.0
ipv6 address 2001:DB8:C0CA:3::1/64
!
interface FastEthernet0/0.4
encapsulation dot1Q 4
ip address 192.168.4.1 255.255.255.0
ipv6 address 2001:DB8:C0CA:4::1/64
!
interface FastEthernet0/0.5
encapsulation dot1Q 5
ip address 192.168.5.1 255.255.255.0
ipv6 address 2001:DB8:C0CA:5::1/64
!
interface FastEthernet0/0.99
encapsulation dot1Q 99 native
ip address 192.168.99.1 255.255.255.0
With this I removed the static IPv4 address and restart the virtual host. To my surprise they have IPv6 address well configured but not IPv4. My next big surprise come when I try to ping the Default Gateway with IPv6 of each host: I can't , but I can ping the remote hosts.
Next, I pick 2 different virtual hosts and put static IPv4 address on them, they can ping their local gateway without problem and even remote nodes, however the DHCP is still failing.
At some point I enable the "debug ip dhcp server packet" I find something very peculiar: All the broadcast messages are getting to the Router Interface fa 0/0.1 ** (and that interface is answering the DHCPOFFER) . With that I remembered another thing: **Before sending a local ping IPv6 check first with NDP using a Multicast message but is no the case when you try to send a remote packet.
At this point, I'm very sure the VMware ESXi has the Vlan well configured, the switch seem to be the same case because the router is able to deliver the "IPv6 Router advertisement" correctly to the virtual host. BUT the router is getting a wrong delivery with Broadcast (and seem) multicast and because that his answer are send in the wrong vlan (or never answer the NDP Neighbour Solicitation).
Suggestion?
— Added 25/03
Something I'm seeing is the next:
The CDP the VMWare ESXi node is getting from the Switch state that the Vlan is 1 and show the ip address range for that vlan. After some test I removed the Vlan1 from the port to the ESXi host and check again the CDP, the new range of IP address now was from the Vlan 2, but the VLAN is still mark as "1" and now the broadcast of the nodes aren't getting to the router.
— Added 25/03 (Second part)
With the suggestion of @JelmerS this is what VMWare display:
esxcfg-vswitch -l
Switch Name Num Ports Used Ports Configured Ports MTU Uplinks
vSwitch0 128 4 128 1500 vmnic0
PortGroup Name VLAN ID Used Ports Uplinks
VM Network 0 0 vmnic0
Management Network 0 1 vmnic0
Switch Name Num Ports Used Ports Configured Ports MTU Uplinks
vSwitch1 128 13 128 1500 vmnic1
PortGroup Name VLAN ID Used Ports Uplinks
Vlan5 5 2 vmnic1
Vlan4 4 3 vmnic1
Vlan2 2 3 vmnic1
Vlan3 3 2 vmnic1
The switch I'm working is the vSwitch1 which has all his nodes separated from the Internet (the other is used for remote connection to the nodes)
Best Answer
I would check your configuration in ESX.
A simple way to tell if your ESX config is broken would be to add vlan 99 onto Gi0/1 (towards your host) and set it as the native vlan (like you did towards your router). This will prevent untagged packets from ending up on a vlan that connects to Fa0/1.1 of your router and confirm that your vSwitch config needs examining.