13 min read

How to Find and Fix IP Address Conflicts

Obelinf explains how IP address conflicts happen, the symptoms they leave on your network, the diagnostics that pinpoint the duplicate fast, and the fixes that keep them from coming back.

ByAndré Ribeiro· Founder, Obelinf
How to Find and Fix IP Address Conflicts
How to Find and Fix IP Address Conflicts · August 17, 2026
On this page

An IP address conflict is the network’s version of a poltergeist. A service that answered on 10.0.2.50 one second goes silent the next, the retry lands on a completely different device, and by the time your monitoring marks the host down, the physical link is perfectly healthy. The symptom tracks exactly with the ARP table on every peer, because the address is no longer unique: two devices on the same segment are answering for it, and IPv4 has no arbitration built in to decide which one is right. ARP and routing assume uniqueness, so when that assumption breaks, traffic interleaves between the legitimate device and the interloper in ways that look like packet loss, a failing NIC, or a cranky switch port.

This guide covers the full lifecycle of a conflict in practical terms: what a duplicate address actually does to a segment, how conflicts announce themselves, the diagnostics that pin the duplicate down in minutes, and the commands that give you a clear yes or no answer. It then walks through the fixes that restore service immediately and the allocation discipline that stops conflicts from ever coming back. The record keeping half of that discipline is the part most guides gloss over, which is why IP address management in Obelinf treats conflict prevention as a property of the records themselves rather than something you remember to check.

What an IP Address Conflict Actually Is

Two hosts on the same segment answer the ARP lookup for one address, splitting every peer between two MACs Two hosts, one address, one segment Host A 10.0.2.50 00:1a:2b:3c:4d:5e Host B 10.0.2.50 4c:7f:00:11:22:33 who holds 10.0.2.50? both hosts answer Access switch same VLAN Every peer stores one MAC per address, so the table flips between the two hosts and traffic goes to whichever replied last.

Duplicate address detection in IPv4 is a courtesy, not a rule. A device that wants to claim an address can send ARP probes asking whether that address is already in use, and most clients do, but the truthful answer is only as good as the devices that answer it. A host with a static address typed from memory will not refuse, because it has no way to know the number was already taken. When two devices end up on the same broadcast domain with the same address, every peer’s ARP cache flips between two MAC addresses for that one IP, and each packet is delivered according to whichever reply arrived last. The switch stays healthy, the port counters stay clean, and the traffic alternates between the device that should have the address and the one that should not.

Conflicts are most disruptive when the two devices behave differently. A printer answering lightly alongside a file server, or a VM that wakes from a snapshot with an older MAC, splits the stream so that roughly half of your requests go to the wrong machine. Because the split depends on timing, random retries succeed, which is what makes the problem masquerade as flaky software, aggressive rate limiting, or jitter when it is none of those things. A conflict is, at bottom, a data problem: the address was allocated twice, and the network is simply reporting the consequence.

How a Conflict Announces Itself

A conflict rarely comes with a siren, and knowing the signatures is what lets you identify it before you burn an hour. The most common ones, in rough order of how quickly they get noticed, are these. Intermittent connectivity on one client while everything else on the segment works normally, where a machine answers ping and then goes quiet, cycles every few seconds, and always on the same address. Duplicate address warnings on operating systems that bother to check, such as the classic Windows message “There is an IP address conflict with another system on the network”. DHCP decline events in server logs, thrown when a client’s probe discovers the address already taken and the server marks the lease unusable. And a telltale inconsistency across sources: the ARP table shows one MAC for the address this minute and a different one the next.

The distinguishing fingerprint is that the fault follows the ARP table rather than the physical layer. Every peer of the affected address sees the answering MAC change, while devices on other subnets see nothing wrong at all, because the duplicate never touches them. If a ping test succeeds from one subnet and fails from another, or if the symptom moves with the IP address when you renumber anything, you are almost certainly looking at a conflict. That asymmetry, works from here, fails from there, is the clue that separates a duplicate address from a cable, a port, or a routing problem.

Diagnosing Conflicts in a Practical Order

Diagnostic path from DHCP logs through ARP probes and the switch MAC table to the address records Diagnostics that name the intruder DHCP server logs declines and conflicts ARP probes who answers the address Switch MAC table which port the MAC sits on Address records what should hold it The logs and probes name the MAC, the switch table places it on a port, and the records identify the intruder by comparison.

Work the problem from the most authoritative source outward, and start with the record you keep rather than the packet you sniff. If you track your address space in Obelinf or a comparable IPAM ledger, the record already tells you which device is supposed to hold the contested address, and any other MAC answering for it is the interloper by definition. That single comparison, records against reality, converts a network mystery into a short list of suspects before you run a single probe.

Then consult the sources that name the intruder directly. DHCP servers log declines and conflicts, and on a network where the devices are dynamically addressed the log entry almost always includes the offending MAC address, which is the fastest possible answer you can get. On the access layer, the switch’s MAC address table ties that MAC to a physical port: a show mac address-table on most vendors tells you which access port learned the suspect address, which saves you from walking the building. ARP probes and ping checks fill the gaps for statically addressed devices, and they are worth running even when DHCP logs exist, because a statically configured intruder will never appear in a DHCP log at all.

The ARP and Ping Diagnostics

Duplicate address probe output: two unicast replies from two different MAC addresses, which confirms the conflict One probe, two replies, guilty verdict duplicate detection $ arping -D -c 4 10.0.2.50 ARPING 10.0.2.50 from 0.0.0.0 eth0 Unicast reply from 10.0.2.50 [00:1a:2b:3c:4d:5e] 1.4ms Unicast reply from 10.0.2.50 [4c:7f:00:11:22:33] 2.1ms 2 replies, 2 MAC addresses: duplicate address detected arping counts the answers: one MAC for an address means it is free, two different MACs mean a conflict, and the output prints both of them for you.

Two commands turn suspicion into a verdict, and you should run both from a machine on the same segment as the affected address. The first is an ARP probe with duplicate detection enabled: arping -D sends several probes and reports how many replies come back. One MAC answering means the address is clean. Two different MACs answering, even within a single batch, is the conflict, and the output shows you exactly which MACs are fighting over it. The duplicate detection flag exists precisely for this check, and it is how you get a yes or no answer instead of a maybe.

The second is the change test. Ping the contested address a handful of times with a couple of seconds between probes, then read the local ARP table with arp -n on Linux or arp -a on Windows. If the MAC for that IP changes between reads, the table is churning between two devices, which is the conflict caught in the act. On the suspected hosts themselves, ip addr reports which MAC each one believes it owns, so you can match the two answering MACs against what the devices claim. The MAC that matches the documented device is the rightful owner; the other one is the intruder, and you already have its physical port from the switch table in the previous step.

How to Fix a Conflict Fast

Fixing a conflict is a decision followed by a change. The decision is which device keeps the address, and it has nothing to do with who was configured first or who is louder on the network: the device that is reserved and documented for that address, in the plan your team actually follows, keeps it. If the address is a server’s static reservation, the printing desktop or the guest laptop changes. If the duplicate came from a DHCP pool overlapping a static assignment, the pool or the static entry changes, whichever the record says is wrong, and the server scope is then corrected.

Once the decision is made, the change itself is mechanical. On a dynamically addressed device, release the lease and request a new one: ipconfig /release followed by ipconfig /renew on Windows, or dhclient -r and dhclient on a Linux client, or simply toggle the interface off and on. On a statically configured device that is intruding, change its address to the one the record reserves for it, or switch it to DHCP if it never had a legitimate claim on the range. If the intruder is a retired server still plugged in, powering it down or unplugging its uplink is the fix, and the decommission record should be updated the same day, which is where device inventory keeps the hardware story straight.

Confirm the fix with the same probe that found the problem. Run the arping -D check again and require exactly one answering MAC, then flush the stale ARP cache on the affected peers so they do not keep routing to the old entry. Finally, update the record so the resolution is permanent: the rightful owner’s reservation stays, the interloper’s new home is logged with today’s date, and the release is documented. A conflict that gets fixed without a record is just a future conflict that has not happened yet.

Allocation Discipline: The Fix That Sticks

Tree of duplicate address causes: static misconfiguration, overlapping DHCP scopes, snapshot rollback, and stale records Where duplicate address claims come from Static misconfiguration typed in by hand Overlapping DHCP scopes two pools, one range Snapshot rollback an old lease returns Stale address records marked free, still live Duplicate address on the segment two devices, one IP Every cause is a record gap: a missing reservation, an overlapping pool, an unreleased address, or a claim that was never written down.

Every conflict in this article traces back to a gap in the address record, and the four causes above cover most of the real world. A static address typed from memory, in a file nobody scrutinizes, is how off the book assignments begin. Two DHCP servers serving overlapping scopes do exactly what the name says. A snapshot rollback that restores an old lease, or a device that was retired in the records but never unplugged, brings a ghost back onto the segment. And stale records, an address marked available while a device has been live on it for months, make the next assignment a conflict waiting to happen.

The discipline that closes the gaps is unglamorous, and it compounds. Every static address gets a reservation with an owner and a purpose, so nothing is ever configured from memory. DHCP pools are carved from the same plan that holds the reservations, which is the only way a scope cannot overlap a static entry. Addresses are released the day hardware is decommissioned rather than a quarter later. And records are reconciled against the live network on a cadence, because drift is the source of most of the surprises: treat the network audit as something you actually run. Teams that hold this loop find their conflict count trending toward zero, because each resolved duplicate sharpens the record instead of just quieting the pager.

Records That Keep a Duplicate From Ever Existing

The reason allocation discipline fails in most organizations is that it depends on people remembering four separate rules. Obelinf moves the enforcement into the data itself. An address entered in IP address management is validated against its parent subnet as it is typed and checked for duplicates across the entire organization before the save, so a second claim on the same address is refused rather than recorded. Every address carries a status: static, DHCP, reserved, or available, and every reservation carries the owner and purpose that make the question of which device keeps the address answerable from the screen instead of from a meeting.

Because each address links to the device and interface using it, the interloper’s identity becomes a lookup instead of an investigation, and the network topology view shows how the address space sits in your sites, racks, and VLANs, so a contested range reads as context rather than a coincidence. Utilization and change history round it out: you see at a glance which subnets are nearing capacity, and every allocation, release, and edit lands in a field level changelog with the user and timestamp.

That combination, prevention at entry, status on every address, ownership on every reservation, and a changelog that outlives the rotation of the team, is what turns IP conflicts from a recurring incident into a rare event. Start by modeling your address space in Obelinf and assigning the reservations that are currently living in someone’s memory, and the next time a device joins the network, the duplicate will never get created in the first place. Sign up at obelinf.com and bring your spreadsheets with you, because the fix starts with the record.

Frequently Asked Questions

What causes IP address conflicts?
Two devices on the same network segment claim the same IP address. The usual causes are a static address typed in by hand while a DHCP server also hands it out, two DHCP servers serving overlapping scopes, a snapshot or rollback that brings an old lease back, and records that say an address is free while a device is live on it.
How do you detect an IP address conflict?
Run an ARP probe that counts replies, such as arping in duplicate detection mode, because one MAC address answering means the address is clean and two different MAC addresses answering is the conflict. You can also watch the ARP table for a MAC that changes between reads, check DHCP server logs for decline events, and compare the findings against your records. Obelinf keeps that record side authoritative, with every address validated and checked for duplicates across the organization.
What happens when two devices have the same IP address?
Both devices keep trying to use the address, so traffic is delivered to whichever one answered the most recent ARP request. The result is intermittent connectivity, with a device flipping between working and failing as peers alternate between the two answering MAC addresses. The address is unusable until one of the two devices moves to a different one.
Does DHCP prevent IP address conflicts?
Only partially. A DHCP server probes an address before leasing it, but it cannot see statically configured addresses, overlapping scopes, or devices that keep an old lease after a rollback. Conflicts disappear only when every address, static and dynamic, is reserved and documented in one plan.
What is the best way to prevent IP conflicts across a large network?
Prevent them at allocation time: reserve static addresses, carve DHCP pools from the same plan, and release addresses when devices are decommissioned. Obelinf enforces that discipline automatically by refusing duplicate assignments, validating every address against its subnet, and keeping a field level change history, so the record stays authoritative as the network grows.

Stop reaching for a spreadsheet

Obelinf keeps every subnet, device, circuit, and rack in one live source of truth, with audit logs and a topology view. Free for personal use.

Related Articles