What is EUI-64?
64-bit Extended Unique Identifier
EUI-64 (64-bit Extended Unique Identifier) is a way to turn a 48-bit MAC address into the 64-bit interface identifier of an IPv6 address.
Most IPv6 subnets are /64, so the host fills in the last 64 bits itself. The modified EUI-64 method, used by IPv6, does that from the MAC address in two steps:
- split the MAC in half and insert
ff:fein the middle, making 64 bits; - invert the universal/local bit, the second-lowest bit of the first byte (the bit worth 0x02).
Take the documentation MAC 00:00:5e:00:53:01. Inserting ff:fe gives 00:00:5e:ff:fe:00:53:01, and flipping the bit turns the leading 00 into 02, so the interface identifier is 0200:5eff:fe00:5301. On the prefix 2001:db8:1:1::/64 the address becomes 2001:db8:1:1:200:5eff:fe00:5301, and the link-local address is fe80::200:5eff:fe00:5301. The ff:fe in the middle is the tell-tale sign that an address was built this way.
You meet EUI-64 with SLAAC, on router link-local addresses, and in router configuration options that build an interface address from a prefix plus the MAC. Its weakness is privacy: the identifier stays the same on every network a device joins, so it can be used to track a laptop or phone, and it reveals the hardware vendor through the first half of the MAC. For that reason many operating systems now use stable but opaque identifiers (RFC 7217) and temporary random addresses for outgoing connections instead, while the same SLAAC process runs unchanged. If you see different interface identifiers on the global and link-local addresses, that is usually why. The IPv6 on VyOS lesson shows SLAAC building an EUI-64 address from a client's MAC address.
Lessons that use EUI-64
- IPv6 on VyOS: setup and routingBeginner · 55 min
Number a site from an ISP's /48 on VyOS: WAN and blackhole routes, SLAAC with Router Advertisements, handing a /56 to a downstream router statically and with DHCPv6 prefix delegation, and the forward firewall IPv6 needs because there's no NAT. Every output comes from a real two-router VyOS lab.