Folks,
Given my own need to update my own machines, I've updated the Qubes network server code to work with 4.0 (and, soon, beyond 4.0).
Unlike the previous iteration (which used qrexec to set
things up in NetVMs and AppVMs), this code re-scopes the feature
to be limited to network-exposing machines directly attached to
NetVMs, uses a proper agent that goes in the NetVM, and does not
set up firewall rules in the AppVMs.
Unfortunately, this iteration of the code requires integration of a pull request in the Qubes OS admin component, responsible for informing the NetVM of which machines require exposure to the network:
The code that actually implements the correct behavior in NetVMs is here:
Additionally, I have no clue why the tests broke.
I could seriously use help getting this code in. I'm happy to work with anyone on this issue.
Thanks in advance!
--
Rudd-O
http://rudd-o.com/
I see all you do is to react to some events and update qubesdb then. We
have specific API that allows you to do that from a 3rd-party extensions.
You can find documentation here (see also other about 'qubes' module,
but you got that part right already):
https://dev.qubes-os.org/projects/core-admin/en/latest/qubes-ext.html
and here is also real-world example:
https://github.com/QubesOS/qubes-core-admin-addon-whonix/
The files you need are:
- qubeswhonix/__init__.py - here is an actual extension (rename the
directory obviously)
- setup.py
plus a standard packaging stuff:
- Makefile
- rpm spec
- Makefile.builder
Good news. Branch
* https://github.com/Rudd-O/qubes-network-server/tree/r4.0
is now updated to include the admin code as a dom0 add-on package, using the Qubes extension mechanisms.
Please, please, help me with a review of the code!
I will now close the pull requests I opened against the qubes-core-admin repository.
Work on >= 4.1 is ongoing. For the time being, this is great
progress, as I can finally configure my VMs correctly, and begin
restoring network services that were previously protected by Qubes
OS.
Thanks.