markdown-link-check
markdown-link-check copied to clipboard
Add config option to ignore reserved IP addresses
Say
"ignoreReserved": true
?
A very complete list is at https://en.m.wikipedia.org/wiki/Reserved_IP_addresses :
IPv4
Address block Address range Number of addresses Scope Description
0.0.0.0/8 0.0.0.0–0.255.255.255 16777216 Software Current network[3]
10.0.0.0/8 10.0.0.0–10.255.255.255 16777216 Private network Used for local communications within a private network.[4]
100.64.0.0/10 100.64.0.0–100.127.255.255 4194304 Private network Shared address space[5] for communications between a service provider and its subscribers when using a carrier-grade NAT.
127.0.0.0/8 127.0.0.0–127.255.255.255 16777216 Host Used for loopback addresses to the local host.[3]
169.254.0.0/16 169.254.0.0–169.254.255.255 65536 Subnet Used for link-local addresses[6] between two hosts on a single link when no IP address is otherwise specified, such as would have normally been retrieved from a DHCP server.
172.16.0.0/12 172.16.0.0–172.31.255.255 1048576 Private network Used for local communications within a private network.[4]
192.0.0.0/24 192.0.0.0–192.0.0.255 256 Private network IETF Protocol Assignments.[3]
192.0.2.0/24 192.0.2.0–192.0.2.255 256 Documentation Assigned as TEST-NET-1, documentation and examples.[7]
192.88.99.0/24 192.88.99.0–192.88.99.255 256 Internet Reserved.[8] Formerly used for IPv6 to IPv4 relay[9] (included IPv6 address block 2002::/16).
192.168.0.0/16 192.168.0.0–192.168.255.255 65536 Private network Used for local communications within a private network.[4]
198.18.0.0/15 198.18.0.0–198.19.255.255 131072 Private network Used for benchmark testing of inter-network communications between two separate subnets.[10]
198.51.100.0/24 198.51.100.0–198.51.100.255 256 Documentation Assigned as TEST-NET-2, documentation and examples.[7]
203.0.113.0/24 203.0.113.0–203.0.113.255 256 Documentation Assigned as TEST-NET-3, documentation and examples.[7]
224.0.0.0/4 224.0.0.0–239.255.255.255 268435456 Internet In use for IP multicast.[11] (Former Class D network.)
233.252.0.0/24 233.252.0.0-233.252.0.255 256 Documentation Assigned as MCAST-TEST-NET, documentation and examples.[11][12]
240.0.0.0/4 240.0.0.0–255.255.255.254 268435455 Internet Reserved for future use.[13] (Former Class E network.)
255.255.255.255/32 255.255.255.255 1 Subnet Reserved for the "limited broadcast" destination address.[3][14]
IPv6:
Address block (CIDR) | First address | Last address | Number of addresses | Usage | Purpose |
---|---|---|---|---|---|
::/0 | :: | ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff | 2128 | Routing | Default route (no specific route) |
::/128 | :: | :: | 1 | Software | Unspecified address |
::1/128 | ::1 | ::1 | 1 | Host | Loopback address—a virtual interface that loops all traffic back to itself, the local host |
::ffff:0:0/96 | ::ffff:0.0.0.0 | ::ffff:255.255.255.255 | 2128 − 96 = 232= 4294967296 | Software | IPv4-mapped addresses |
::ffff:0:0:0/96 | ::ffff:0:0.0.0.0 | ::ffff:0:255.255.255.255 | 232 | Software | IPv4 translated addresses |
64:ff9b::/96 | 64:ff9b::0.0.0.0 | 64:ff9b::255.255.255.255 | 232 | Global Internet | IPv4/IPv6 translation[15] |
64:ff9b:1::/48 | 64:ff9b:1::0.0.0.0 | 64:ff9b:1:ffff:ffff:ffff:255.255.255.255 | 280 | Private internets | IPv4/IPv6 translation[16] |
100::/64 | 100:: | 100::ffff:ffff:ffff:ffff | 264 | Routing | Discard prefix[17] |
2001:0000::/32 | 2001:: | 2001::ffff:ffff:ffff:ffff:ffff:ffff | 296 | Global Internet | Teredo tunneling[18] |
2001:20::/28 | 2001:20:: | 2001:2f:ffff:ffff:ffff:ffff:ffff:ffff | 2100 | Software | ORCHIDv2[19] |
2001:db8::/32 | 2001:db8:: | 2001:db8:ffff:ffff:ffff:ffff:ffff:ffff | 296 | Documentation | Addresses used in documentation and example source code[20] |
2002::/16 | 2002:: | 2002:ffff:ffff:ffff:ffff:ffff:ffff:ffff | 2112 | Global Internet | The 6to4 addressing scheme (deprecated)[8] |
fc00::/7 | fc00:: | fdff:ffff:ffff:ffff:ffff:ffff:ffff:ffff | 2121 | Private internets | Unique local address[21] |
fe80::/10 | fe80:: | fe80::ffff:ffff:ffff:ffff | 264 | Link | Link-local address |
ff00::/8 | ff00:: | ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff | 2120 | Global Internet | Multicast address |
Here's a regex that covers most, if not all, of the reserved IP addresses:
^(
0?10\.|
127\.|
169\.254\.|
172\.0?1[6-9]\.|
172\.0?2[0-9]\.|
172\.0?3[01]\.|
192\.168\.|
192\.0?0?0\.0?0?[02]\.|
192\.0?88\.0?99\.|
198\.0?1[89]\.|
198\.0?51\.100\.|
203\.0?0?0\.113\.|
233\.252\.0?0?0\.|
255\.255\.255\.255|
::1|
2001:0?[dD][bB]8::|
[fF][cCdD][0-9a-fA-F]{2}:|
[fF][eE]80::
)