Randomize Mac adress globally - some questions

So I’ve had some success here. But my ethernet is not randomizing, only my wifi. Any thoughts?

@Suspicious_Actions might have some input to offer.

As per the qubes-community guideline I entered a variation of:

"[device]
wifi.scan-rand-mac-address=yes

[connection]
wifi.cloned-mac-address=stable
ethernet.cloned-mac-address=stable
connection.stable-id=${CONNECTION}/${BOOT}"

I changed the word 'stable' to 'random' in all three instances.

Any input on why I may be having troubles?

You should not change the connection.stable-id=... part. the stable is part of the name for the variable/option.
Further you do not need it, if setting both stable-ids to random.

Try it without, maybe restart your sys-net.

Am also discovering a new issue.

When creating dhclient.conf to prevent hostname sending…

/etc/NetworkManager/conf.d/dhclient.conf

I’m also noticing that the 00-macrandomize.conf file i’d previously placed and saved for MAC randomization is gone.

When checking if my wifi-MAC still randomizes, it does.

Am going to try your above suggestion and see if that clears my first ethernet-not-randomizing problem.

This file must be placed inside the Template, not the AppVM to be persistent.

1 Like

It’s always going into ‘Template (Disp): debian-11-dvm’, which seeds my disposable sys-net.

Does the bind-dirs solution still apply do you think?

You have to either:

  • Put the file in the template of your dvm (debian-11)
  • Use the bind dirs and put it in the dvm (debian-11-dvm)
1 Like

This is not a TemplateVM, it’s more like specific AppVM that is using debian-11 TemplateVM but is also sort of “template” for disposable vms.

2 Likes

Yes. I think in this case your solution is more fitting.

1 Like

Oh snap, can we not make changes to our disposable templates without bind-dirs?

I thought that we could edit a disposable template to seed into a disposableVM.

So the topography (without bind-dirs) would be to: Edit Debian 11 template > which then > forwards the edit to Debian 11 disposable template > which then >affects change in any Qube based on Debian 11 disposable?

I thought disposable templates were more persistent than that.

exactly.

So the base system comes from your template (debian-11)
The user folders like ~ for example come from your dvm (debian-11-dvm)
Everything in the disp i non persistent.

/etc is a system directory, not suer directory and is as such inherited from your template (debian-11). You can change it there without further modification. However this would propagate to all debian-11 based machines. As you only want this modification for your sys-net you should use the second approach: Using bind-dirs in the dvm to make additional directories persistent.

1 Like

If that’s the case I have to say, I think the nomenclature might be a little misleading.

Maybe Qubes could do with some separation in naming.

For instance, you have a Debian 11 template, which then creates a Debian 11 Disposable seed or something?

You guys have just closed a massive loop for me. You’ve made my day.

2 Likes

Absolutely agree on that. Pretty much all new users are confused by that at first.

I’m gonna be able to do away with so many standalones now.

This also ties the bow on so many other questions I’ve had about template managers and so on.

Has anyone gotten it to work in Fedora 36? It’s not generating a random user number. Works for me in Debian 11 but not in Fedora. Maybe it’s user error, but I’m not sure.

Edit: I got it to work in Fedora 36 after 5 or so tries. I’m not sure why it finally worked - for ethernet, but not wifi. I followed the same steps.

i can`t understand this part of forum

Also make sure that you have addr-gen-mode=stable-privacy in the [ipv6] section of your /rw/config/NM-system-connections/*.nmconnection files as this setting can only be set per connection.

To see all the available configuration options, refer to the man page: man nm-settings

You can check the MAC address currently in use by looking at the status pages of your router device(s), or inside the NetVM with the command sudo ip link show.