AFAIK those are hard coded IP ranges. And you can find them in the âsource codeâ (and as a result in the .xml config files of your VMs)
as you noticed, the documentation not even mentioning this.
But most of the users are not even care - till they have an IP collision
I think I found where the IP addresses that I see some from
For future reference: a NetVMMixin is defined in qubes-core-admin. That module defines two methods: get_ip_for_vm and get_ip6_for_vm (source).
The first method builds IPv4 addresses in the following ranges:
10.138.xxx.xxx (for DispVMs)
10.137.xxx.xxx (otherwise)
Just in case anyone wonders, the ranges in IPv6 are defined by the second method as follows:
yyy::a8a:xxxx (for DispVMs)
yyy::a89:xxxx (otherwise)
In those patterns, yyy is a âQubes-specific site-local prefixâ and xxxx is an hexadecimal representation of the xxx.xxx you got in IPv4. (Note that a8a and a89 are the hexadecimal representations of 10.138 and 10.137 respectively, so you get a âmatchingâ IPv4 and IPv6 for any given VM.)
Iâll see if I can find the source of those ranges to add them to the list. (If you find them first, or anyone knows where to find them, please chime in! When weâve got the sources Iâll edit the post above with credits )
Just following up, the IPs for DNS use are defined in the same file mentioned earlier as those for DispVMs and others. (Those are not really IPs that will get assigned to any qube you create, but I agree that theyâre worth noticing nonetheless.)
I couldnât find any reference to 10.152... in the code.
Yes, it would be somewhere in the whonix code base. Whonix workstation uses 10.152.a.b addresses as proxies while Whonix gateway performs Destination NAT to redirect these IP addresses to specific tor ports. I have not referenced the code; it is just an observation.