Skip to content
gohacks.dev
Security

Reserved IP Address Ranges

The special-purpose IPv4 and IPv6 ranges in one table: private networks, loopback, link-local, CGNAT, documentation, multicast and more, with what each is for.

Free · No sign-up · Your inputs stay in your browser

Reference

Reserved and special-purpose IP ranges

BlockPurposeNotes
0.0.0.0/8This network0.0.0.0 as a listen address means every interface.
10.0.0.0/8Private (RFC 1918)Not routed on the internet.
100.64.0.0/10Carrier-grade NAT (RFC 6598)Shared address space between ISP and customer; also Tailscale's range.
127.0.0.0/8LoopbackThe whole /8, not just 127.0.0.1.
169.254.0.0/16Link-local (RFC 3927)Self-assigned when DHCP fails. 169.254.169.254 is the cloud metadata service: block it from SSRF.
172.16.0.0/12Private (RFC 1918)172.16.0.0 to 172.31.255.255. Docker's default bridge networks live here.
192.0.0.0/24IETF protocol assignments
192.0.2.0/24Documentation (TEST-NET-1)Use in examples; never routed.
192.88.99.0/24Deprecated 6to4 relay anycast
192.168.0.0/16Private (RFC 1918)Home and office networks.
198.18.0.0/15Benchmarking (RFC 2544)
198.51.100.0/24Documentation (TEST-NET-2)
203.0.113.0/24Documentation (TEST-NET-3)
224.0.0.0/4Multicast224.0.0.251 is mDNS.
240.0.0.0/4Reserved for future useUnusable on most stacks.
255.255.255.255/32Limited broadcast
::/128Unspecified (IPv6)Like 0.0.0.0.
::1/128Loopback (IPv6)
::ffff:0:0/96IPv4-mapped IPv6::ffff:203.0.113.10 is how a dual-stack socket shows an IPv4 client.
64:ff9b::/96NAT64 well-known prefix (RFC 6052)
100::/64Discard-only (RFC 6666)
2001::/32Teredo
2001:db8::/32Documentation (IPv6)Use in examples.
2002::/166to4Deprecated.
fc00::/7Unique local addresses (RFC 4193)IPv6's private range; in practice fd00::/8 with a random 40-bit ID.
fe80::/10Link-local (IPv6)Every interface has one; needs a %interface zone to use.
ff00::/8Multicast (IPv6)ff02::1 is all nodes on the link.

From the IANA IPv4 and IPv6 special-purpose address registries. When validating user-supplied URLs against SSRF, reject every range here, not only 127.0.0.1 and RFC 1918, and resolve the hostname before checking, since a DNS name can point at any of them.

SSRF filters need the whole list

An application that fetches user-supplied URLs must refuse internal addresses, and a filter that blocks only 127.0.0.1 and 10.0.0.0/8 misses 169.254.169.254 (cloud credentials), 100.64.0.0/10, IPv6 loopback, IPv4-mapped IPv6 and more. Resolve the hostname first and check the resulting address, since DNS can point anywhere. The registries are maintained by IANA.

Examples that never collide

Documentation and test code should use 192.0.2.0/24, 198.51.100.0/24, 203.0.113.0/24 and 2001:db8::/32, which are reserved for exactly that and never routed.

Share

Frequently asked questions

Which IP ranges are private?
10.0.0.0/8, 172.16.0.0/12 and 192.168.0.0/16 for IPv4 (RFC 1918), and fc00::/7 for IPv6 unique local addresses.
What is 100.64.0.0/10?
Shared address space for carrier-grade NAT between an ISP and its customers (RFC 6598). Tailscale also uses it for device addresses.
Is what I paste sent anywhere?
No. The tool runs entirely in your browser with JavaScript. Nothing you type or paste is sent to our server or stored.

Keep planning

Similar tools