Cause 1: Virtual machine or container using the host's MAC
This is the most common reason you're seeing a MAC conflict on a home or small office network. You installed Docker, VirtualBox, or VMware, and one of the virtual network adapters ended up with the exact same MAC as your physical NIC. The switch or router sees two ports claiming the same hardware address and starts flipping the connection between them. Your pings time out, web pages load halfway, and streaming buffers every 30 seconds.
What's actually happening here is that the switch's MAC address table — it's a small database that maps MAC addresses to physical ports — gets corrupted. Every time a frame arrives with that MAC on a different port, the switch updates the table entry. Then the next frame arrives on the original port and the switch rewrites the entry again. This process is called MAC flapping. Your device looks like it's constantly moving between ports, so the network stack gets confused.
How to check if this is your problem
- Open a command prompt as admin on Windows. Run
ipconfig /all. - Look for the Physical Address line under each adapter. Write them down.
- If any two adapters show the same MAC — especially one real and one virtual — that's your conflict.
Fix it
- Open Device Manager.
- Expand Network adapters.
- Look for virtual adapters from Hyper-V, VirtualBox, or VMware. They usually have names like "VirtualBox Host-Only Ethernet Adapter" or "Hyper-V Virtual Ethernet Adapter".
- Right-click the virtual adapter and select Disable device.
- Restart your computer (or at least restart the network stack by running
ipconfig /releasethenipconfig /renew).
If you need the VM to still have network access, don't disable the adapter — instead, configure the VM software to use NAT or a bridged adapter with a different MAC. In VirtualBox, go to Settings > Network > Advanced and click the refresh icon next to the MAC address field. In Hyper-V, create a new Virtual Switch and assign it a different MAC.
Cause 2: Router has two devices with cloned MAC addresses
Some routers let you "clone" or spoof a MAC address — usually to trick an ISP's modem into thinking only one device is connected. If you enabled MAC cloning on the router and then connected a second device (like a gaming console or a second PC) with the same cloned MAC manually set in its network settings, you get a conflict. The router can't tell them apart.
The reason step 3 below works is that each device on the network must have a unique MAC at Layer 2. The router sees the same MAC on two different IPs and starts dropping packets. Usually it picks one device to serve and ignores the other entirely. You'll see one device works fine and the other gets no network at all.
Find it
- Log into your router's admin page (usually 192.168.1.1 or 192.168.0.1).
- Look for a section called MAC Clone, MAC Address Clone, or Network Setup.
- If the "Clone MAC" option is enabled, write down the MAC it shows.
- Now check each wired or wireless device on your network — especially devices like a game console, smart TV, or second PC — for a manually set MAC address in their network settings.
Fix it
- On the router, disable MAC cloning if you don't actually need it. Most home ISPs don't require it anymore.
- If you do need it (some cable ISPs still bind to the first MAC they see), then on the other devices remove any manually set MAC address. Set them back to "Use default" or "Automatic".
- Reboot the router and the affected devices.
Cause 3: Rogue device with a duplicate MAC assigned by manufacturer
This is rare but real. Two devices from the same manufacturer, same product batch, sometimes ship with the same burned-in MAC address. It shouldn't happen — MAC addresses are supposed to be globally unique — but factories mess up. I've seen it happen with cheap network switches and Raspberry Pi clones.
What's actually happening here is that both devices announce the same MAC on the network. The switch's MAC table can only map one port to one MAC, so traffic meant for one device goes to the other, or gets lost. You'll notice it when both devices are powered on at the same time. If you turn one off, the other works perfectly.
Check it
- Power off one of the devices. Does the other work fine now? If yes, you likely have a duplicate MAC.
- On each device, find its MAC. On Linux it's
ip link show. On Windows it'sgetmac. On a switch, check the label or the web interface. - If they match, you've found the problem.
Fix it
You have two options. First is to return one device and ask for a replacement with a different MAC. Second — and this is what I'd do — is to manually change the MAC on one device via software. On Linux, run sudo ip link set dev eth0 address 02:11:22:33:44:55 (pick any unique address that starts with 02 — that's a locally administered address, so it won't conflict with global ones). On Windows, go to Device Manager, right-click the network adapter, Properties > Advanced > Network Address, and enter a new MAC.
Don't forget to make this change persistent across reboots. On Linux, add the ip link command to a startup script. On Windows, the registry setting sticks automatically.
Quick-reference: When you see a MAC conflict
| Cause | Signs | Fix |
|---|---|---|
| VM using host's MAC | Network drops when VM is on; virtual adapter shows same MAC as physical | Disable virtual adapter or change VM's MAC in settings |
| Router MAC cloning + device with same cloned MAC | One device works, other gets zero network; router shows same MAC on two IPs | Disable MAC clone on router or remove manual MAC from device |
| Manufacturer duplicate MAC | Both devices fail only when both are on; MAC addresses match exactly | Replace one device or manually assign a new MAC on one |