IPv6 link-local addresses use the fe80::/10 prefix and exist on local interfaces even when no global IPv6 internet service is available. They are fundamental to IPv6 operation: Neighbor Discovery, Router Advertisements, and communication with the local router commonly use link-local addresses. Unlike a normal globally routed address, a link-local destination is meaningful only on a specific interface/link, which is why operating systems sometimes append a zone identifier such as %eth0 or %12.

IPv6 link-local addresses stay on the local link

A host can therefore show several IPv6 addresses at once: link-local, global unicast, temporary/privacy addresses, and possibly unique-local addresses. Troubleshooting improves when you ask which scope each address belongs to rather than treating “IPv6 address” as one category.

Check the interface and destination scope

  • Identify the interface associated with the fe80:: address.
  • Check whether the router is sending IPv6 Router Advertisements and whether the client also has a global prefix when internet IPv6 is expected.
  • Use the required zone/interface identifier when testing a link-local address from systems that need it.
  • Do not expect routers to forward link-local traffic between links.
  • Inspect the default IPv6 route and DNS configuration separately from link-local neighbor reachability.
  • When IPv6 is partially broken, test both IPv4 and IPv6 paths rather than disabling IPv6 immediately.

Zone identifiers and IPv6 neighbor discovery

Link-local addresses solve a bootstrap problem: devices need a way to communicate with neighbors and routers before relying on a globally assigned address. IPv6 Neighbor Discovery uses ICMPv6 instead of ARP, and routers advertise prefixes/default-router information on the local link. Blocking essential ICMPv6 can therefore damage IPv6 in ways that do not resemble ordinary IPv4 firewall behavior.

Selecting the correct interface for a link-local peer

A laptop can have fe80::1234 on Wi-Fi even when the ISP has no IPv6 service. If the ISP later delegates a global prefix, the laptop may add a 2001:… address while keeping fe80:: for local protocol functions. The link-local address was not a temporary error; it is part of the design.

Avoid treating fe80 addresses as public internet endpoints

  • Treating fe80:: as a public internet address.
  • Removing link-local configuration because it looks unfamiliar.
  • Blocking all ICMPv6 and then wondering why neighbor/path functions fail.
  • Forgetting the interface/zone when multiple links contain the same link-local scope.

Is fe80:: private IPv6?

It is link-local, not the same concept as RFC 1918 private IPv4. It is valid only on the local link.

Can I browse the internet using only fe80::?

No, not as a normal routed global address.

Why is there a %number after an IPv6 address?

It identifies the local interface/zone needed to disambiguate link-local scope.

Does every IPv6 interface have link-local addressing?

Normal IPv6 operation commonly creates it automatically because core neighbor/router discovery relies on link-local communication.