Link-Local & APIPA Addresses

Quick guide to IPv4 APIPA (169.254/16) and IPv6 link-local (fe80::/10) addresses - when they appear and what they mean.

What are Link-Local Addresses?

Link-local addresses are special IP addresses that only work on the local network segment. They're automatically assigned when normal IP configuration fails or isn't available. These addresses allow basic network communication even when DHCP servers are down or network configuration is missing.

IPv4 APIPA (Automatic Private IP Addressing)

pages.linkLocalApipa.apipa.addressRange.title
pages.linkLocalApipa.apipa.addressRange.network: 169.254.0.0/16
pages.linkLocalApipa.apipa.addressRange.fullRange: 169.254.0.1 to 169.254.255.254
pages.linkLocalApipa.apipa.addressRange.usableRange: 169.254.1.0 to 169.254.254.255
pages.linkLocalApipa.apipa.addressRange.reserved: 169.254.0.0, 169.254.255.255, 169.254.0.x, 169.254.255.x

APIPA addresses are automatically assigned by Windows, macOS, and Linux when DHCP fails

pages.linkLocalApipa.apipa.whenUsedTitle

  • DHCP server is unreachable or down
  • Network cable unplugged then reconnected
  • DHCP lease expires and can't be renewed
  • Static IP conflicts with another device
  • Network interface enabled without configuration

pages.linkLocalApipa.apipa.howItWorksTitle

  1. Device requests IP address from DHCP server
  2. No DHCP response received after multiple attempts
  3. Device randomly selects address in 169.254.x.x range
  4. Device sends ARP probe to check if address is already used
  5. If no conflict, device assigns itself the address
  6. Device continues trying to find DHCP server periodically

pages.linkLocalApipa.apipa.characteristicsTitle

  • Only works on local network segment (not routed)
  • Subnet mask is always 255.255.0.0 (/16)
  • No default gateway assigned
  • Cannot reach internet or other subnets
  • Devices can communicate with other APIPA devices

pages.linkLocalApipa.apipa.troubleshootingTitle

Computer has 169.254.x.x address

pages.linkLocalApipa.apipa.troubleshootingLabels.meaning: DHCP assignment failed

pages.linkLocalApipa.apipa.troubleshootingLabels.solution: Check DHCP server, network cables, switch ports

Can't access internet with APIPA

pages.linkLocalApipa.apipa.troubleshootingLabels.meaning: APIPA addresses are not routed

pages.linkLocalApipa.apipa.troubleshootingLabels.solution: Fix DHCP server or configure static IP

Some devices have APIPA, others don't

pages.linkLocalApipa.apipa.troubleshootingLabels.meaning: Inconsistent DHCP server response

pages.linkLocalApipa.apipa.troubleshootingLabels.solution: Check DHCP server capacity and network connectivity

IPv6 Link-Local Addresses

pages.linkLocalApipa.ipv6.addressRange.title
pages.linkLocalApipa.ipv6.addressRange.network: fe80::/10
pages.linkLocalApipa.ipv6.addressRange.fullRange: fe80:: to febf:ffff:ffff:ffff:ffff:ffff:ffff:ffff
pages.linkLocalApipa.ipv6.addressRange.commonFormat: fe80::xxxx:xxxx:xxxx:xxxx

Every IPv6-enabled interface automatically gets a link-local address

pages.linkLocalApipa.ipv6.addressFormationTitle

  1. Start with fe80::/64 prefix
  2. Interface identifier from MAC address (EUI-64) or random
  3. Example: MAC 00:1a:2b:3c:4d:5e becomes fe80::21a:2bff:fe3c:4d5e
  4. Modified EUI-64: flip universal/local bit, insert fffe

pages.linkLocalApipa.ipv6.whenUsedTitle

  • Neighbor Discovery Protocol (NDP)
  • Router Solicitation and Advertisement
  • Initial IPv6 communication before global addresses
  • DHCPv6 communication
  • Network troubleshooting and diagnostics
  • Always present on IPv6 interfaces

pages.linkLocalApipa.ipv6.characteristicsTitle

  • Automatically assigned to every IPv6 interface
  • Only valid on local network segment
  • Cannot be routed beyond local link
  • Required for IPv6 to function properly
  • Used for Neighbor Discovery Protocol
  • Subnet prefix is always /64

pages.linkLocalApipa.ipv6.typesTitle

EUI-64 Based
Derived from MAC address using EUI-64 process
pages.linkLocalApipa.ipv6.typeLabels.example: fe80::21a:2bff:fe3c:4d5e
pages.linkLocalApipa.ipv6.typeLabels.privacy: Reveals MAC address - privacy concerns
Random
Randomly generated interface identifier
pages.linkLocalApipa.ipv6.typeLabels.example: fe80::a1b2:c3d4:e5f6:7890
pages.linkLocalApipa.ipv6.typeLabels.privacy: Better privacy, doesn't reveal MAC
Manual
Administratively configured
pages.linkLocalApipa.ipv6.typeLabels.example: fe80::1
pages.linkLocalApipa.ipv6.typeLabels.privacy: Often used for routers and servers

pages.linkLocalApipa.comparison.title

pages.linkLocalApipa.comparison.headers.aspectpages.linkLocalApipa.comparison.headers.ipv4Apipapages.linkLocalApipa.comparison.headers.ipv6LinkLocal
Address Range169.254.0.0/16fe80::/10 (commonly fe80::/64)
Assignment MethodRandom selection with conflict detectionAutomatic from interface MAC or random
When AssignedOnly when DHCP failsAlways assigned to every interface
ScopeLocal subnet onlyLocal link only
Internet AccessNo (requires NAT/gateway)No (link-local only)
Protocol IntegrationFallback mechanismEssential for IPv6 operation

pages.linkLocalApipa.practicalExamples.title

DHCP Server Down
pages.linkLocalApipa.practicalExamples.labels.ipv4Behavior: Devices get 169.254.x.x addresses, can communicate locally
pages.linkLocalApipa.practicalExamples.labels.ipv6Behavior: Devices keep fe80:: addresses, IPv6 still works locally
pages.linkLocalApipa.practicalExamples.labels.impact: Local communication possible, internet access lost
Network Isolation Testing
pages.linkLocalApipa.practicalExamples.labels.ipv4Behavior: Create isolated network with APIPA addresses
pages.linkLocalApipa.practicalExamples.labels.ipv6Behavior: Devices automatically have link-local connectivity
pages.linkLocalApipa.practicalExamples.labels.impact: Useful for testing without full network configuration
Router Configuration
pages.linkLocalApipa.practicalExamples.labels.ipv4Behavior: APIPA doesn't help with router access
pages.linkLocalApipa.practicalExamples.labels.ipv6Behavior: Can access router via its fe80:: address
pages.linkLocalApipa.practicalExamples.labels.impact: IPv6 provides better administrative access options

pages.linkLocalApipa.troubleshootingCommands.title

pages.linkLocalApipa.troubleshootingCommands.headers.purposepages.linkLocalApipa.troubleshootingCommands.headers.windowspages.linkLocalApipa.troubleshootingCommands.headers.linuxpages.linkLocalApipa.troubleshootingCommands.headers.macOS
View APIPA/Link-Local Addressesipconfig /allip addr showifconfig
Test Link-Local Connectivityping 169.254.x.x or ping fe80::x%interfaceping 169.254.x.x or ping6 fe80::x%eth0ping 169.254.x.x or ping6 fe80::x%en0
Force DHCP Renewalipconfig /release && ipconfig /renewdhclient -r && dhclientsudo ipconfig set en0 DHCP
View IPv6 Link-Localnetsh interface ipv6 show addressesip -6 addr show scope linkifconfig | grep fe80

pages.linkLocalApipa.whenToWorry.title

Single device has APIPA
pages.linkLocalApipa.whenToWorry.labels.concernLevel: Low - likely local network issue
pages.linkLocalApipa.whenToWorry.labels.action: Check cable, switch port, DHCP reservation
Multiple devices have APIPA
pages.linkLocalApipa.whenToWorry.labels.concernLevel: High - DHCP server or network problem
pages.linkLocalApipa.whenToWorry.labels.action: Check DHCP server status, network infrastructure
No IPv6 link-local addresses
pages.linkLocalApipa.whenToWorry.labels.concernLevel: High - IPv6 disabled or seriously broken
pages.linkLocalApipa.whenToWorry.labels.action: Check IPv6 configuration, driver issues
Can't ping IPv6 link-local
pages.linkLocalApipa.whenToWorry.labels.concernLevel: Medium - local IPv6 connectivity issue
pages.linkLocalApipa.whenToWorry.labels.action: Check firewall, interface status, addressing

pages.linkLocalApipa.bestPractices.title

  • Don't block link-local addresses in firewalls
  • Monitor for widespread APIPA addresses (indicates DHCP issues)
  • Use link-local addresses for IPv6 router access
  • Understand that APIPA indicates network configuration problems
  • Test connectivity using link-local addresses for troubleshooting
  • Document link-local addresses of critical infrastructure

pages.linkLocalApipa.commonMistakes.title

  • Thinking APIPA addresses provide internet access
  • Blocking fe80::/10 addresses in IPv6 firewalls
  • Not recognizing APIPA as a symptom of DHCP failure
  • Trying to route link-local addresses between subnets
  • Forgetting to specify interface when pinging IPv6 link-local
  • Assuming IPv6 is broken when only seeing link-local addresses

pages.linkLocalApipa.quickReference.title

pages.linkLocalApipa.quickReference.recognitionTitle
169.254.x.x = IPv4 APIPA (DHCP failed)
fe80::x = IPv6 link-local (normal and required)
APIPA = problem to fix, Link-local = normal operation
pages.linkLocalApipa.quickReference.troubleshootingTitle
APIPA present? Check DHCP server and connectivity
Can ping link-local? Network layer is working
IPv6 link-local missing? IPv6 is disabled or broken
Multiple APIPA devices? They can communicate locally
pages.linkLocalApipa.quickReference.keyDifferenceTitle
pages.linkLocalApipa.quickReference.keyDifferenceText