Skip to content

feat(securedns): add NetworkManager dispatcher#1370

Merged
RoyalOughtness merged 5 commits intosecureblue:stagingfrom
alexvojproc:unbound-p2
Sep 22, 2025
Merged

feat(securedns): add NetworkManager dispatcher#1370
RoyalOughtness merged 5 commits intosecureblue:stagingfrom
alexvojproc:unbound-p2

Conversation

@alexvojproc
Copy link
Copy Markdown
Collaborator

Effects:

Changelog:

  • Creates a NetworkManager pre-up dispatcher, which is started before every connection.
  • Adds /etc/NetworkManager/sb-connection-defaults.conf, a config file with a [vpn] section.
    • The NetworkManager key = value pairs in this section are applied to all new VPN connections.
    • Connections that have been seen before are left unmodified.

It's written quite generically to allow for this possible roadmap:

  • Add a [wan] section to the config file to apply e.g. custom DNS servers to each connection, which can then be opted out of manually on a case-by-case basis.
    • This would be an improvement on the current blunt "global DNS: on/off" approach inherited from resolved.
  • Changing the config file allows setting future per-connection hardening defaults, such as WPA3 upgrade, strict validation, ciphers, per-connection mDNS, etc.

Future work:

Fixes an issue where Proton VPN does not set an explicit dns-search domain.

Creates a NetworkManager dispatcher that applies key=value pairs in the [vpn]
section of /etc/NetworkManager/sb-connection-defaults.conf to any new
vpn/wireguard connections. It's quite generic as to allow per-connection hardening
options (e.g. MAC randomisation) and per-connection DNS easily in future.
@RoyalOughtness RoyalOughtness merged commit a9258f6 into secureblue:staging Sep 22, 2025
12 of 13 checks passed
@alexvojproc alexvojproc deleted the unbound-p2 branch September 22, 2025 04:21
RoyalOughtness pushed a commit that referenced this pull request Sep 22, 2025
* feat(securedns): dispatcher, initially for VPNs (close #1368)

Fixes an issue where Proton VPN does not set an explicit dns-search domain.

Creates a NetworkManager dispatcher that applies key=value pairs in the [vpn]
section of /etc/NetworkManager/sb-connection-defaults.conf to any new
vpn/wireguard connections. It's quite generic as to allow per-connection hardening
options (e.g. MAC randomisation) and per-connection DNS easily in future.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants