100.64.0.0/10: shared address space
100.64.0.0/10 is shared address space, reserved by RFC 6598 for internet providers running carrier-grade NAT (CGNAT). It covers 100.64.0.0 to 100.127.255.255, 4,194,304 addresses. It is neither public nor one of the RFC 1918 private ranges.
100.64.0.0/10 is 4,194,304 addresses: 100.64.0.0 to 100.127.255.255. 4,194,302 usable for hosts (the first is the network address, the last is broadcast).
- Network
100.64.0.0- First usable
100.64.0.1- Last usable
100.127.255.254- Broadcast
100.127.255.255- Addresses
4,194,304- Usable hosts
4,194,302- Netmask
255.192.0.0- Wildcard (ACL) mask
0.63.255.255- Historic class
A- Range type
Shared address space (carrier-grade NAT) · not routed on the internet
Special-purpose range
Shared address space (carrier-grade NAT) 100.64.0.0/10 RFC 6598
Used by internet providers between their carrier-grade NAT and customers' routers, and by some overlay VPNs. Not private in the RFC 1918 sense, and not public.
Split it into subnets
4 subnets.
| Subnet | Usable range | Hosts | Broadcast |
|---|---|---|---|
100.64.0.0/12 | 100.64.0.1 – 100.79.255.254 | 1,048,574 | 100.79.255.255 |
100.80.0.0/12 | 100.80.0.1 – 100.95.255.254 | 1,048,574 | 100.95.255.255 |
100.96.0.0/12 | 100.96.0.1 – 100.111.255.254 | 1,048,574 | 100.111.255.255 |
100.112.0.0/12 | 100.112.0.1 – 100.127.255.254 | 1,048,574 | 100.127.255.255 |
Is this IP in the range?
Range to CIDR blocks
What to know
ISPs short of IPv4 addresses put many customers behind one shared public address. The link between the ISP's NAT and each customer's router needs addresses that cannot clash with whatever private range the customer uses at home, so a separate block was set aside for it.
If your router's WAN address is between 100.64.0.0 and 100.127.255.255, you are behind CGNAT: port forwarding on your router will not make services reachable from the internet, because the ISP's NAT sits in front of it. IPv6, a tunnel, or asking the ISP for a public address are the usual ways around it.
Tailscale assigns each device an address from this range, because it is unlikely to collide with LAN addresses.
Gotchas
- Tools disagree on how to label it. Python's
ipaddressreports 100.64.0.0/10 as neither private nor global, and firewall presets that list only the RFC 1918 ranges as "private" will treat it as external. - The /10 boundary falls inside the second number: 100.64 to 100.127 are shared space; 100.63.x.x and 100.128.x.x are ordinary public addresses.