Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(gui-client/linux): fix DNS #4802

Merged
merged 16 commits into from
Apr 26, 2024
Merged

chore(gui-client/linux): fix DNS #4802

merged 16 commits into from
Apr 26, 2024

Conversation

ReactorScram
Copy link
Collaborator

@ReactorScram ReactorScram commented Apr 26, 2024

Make the GUI use systemd-resolved to retrieve the system's resolvers. This allows the IPC service to set up sentinels for those resolvers and control the system's DNS.

Closes #3812

@ReactorScram ReactorScram self-assigned this Apr 26, 2024
Copy link

vercel bot commented Apr 26, 2024

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
firezone ✅ Ready (Inspect) Visit Preview 💬 Add feedback Apr 26, 2024 9:31pm

@github-actions github-actions bot added the kind/chore Issues related to repository cleanup or maintenance label Apr 26, 2024
Copy link

Terraform Cloud Plan Output

Plan: 37 to add, 14 to change, 16 to destroy.

Terraform Cloud Plan

Copy link

Performance Test Results

TCP

Test Name Received/s Sent/s Retransmits
direct-tcp-client2server 235.4 MiB (-2%) 236.7 MiB (-2%) 589 (+46%)
direct-tcp-server2client 243.2 MiB (-1%) 244.7 MiB (-1%) 526 (+221%)
relayed-tcp-client2server 223.6 MiB (-1%) 224.5 MiB (-1%) 252 (+52%)
relayed-tcp-server2client 236.6 MiB (+0%) 237.4 MiB (+0%) 319 (-5%)

UDP

Test Name Total/s Jitter Lost
direct-udp-client2server 500.0 MiB (-0%) 0.05ms (+64%) 42.80% (+7%)
direct-udp-server2client 500.0 MiB (-0%) 0.02ms (+24%) 21.88% (+20%)
relayed-udp-client2server 500.0 MiB (-0%) 0.07ms (+147%) 55.16% (+1%)
relayed-udp-server2client 499.9 MiB (-0%) 0.04ms (-29%) 42.54% (+6%)

pub fn get() -> Result<Vec<IpAddr>> {
tracing::error!("Resolvers module not yet implemented for Linux, returning empty Vec");
Ok(Vec::default())
firezone_headless_client::imp::get_system_default_resolvers_systemd_resolved()
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think all desktop systems we support will have systemd and probably systemd-resolved, so I made this the only option here for when the GUI retrieves the system resolvers

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep! Makes sense. "Install systemd-resolved" is a valid requirement I think.

@ReactorScram ReactorScram marked this pull request as ready for review April 26, 2024 22:12
pub fn get() -> Result<Vec<IpAddr>> {
tracing::error!("Resolvers module not yet implemented for Linux, returning empty Vec");
Ok(Vec::default())
firezone_headless_client::imp::get_system_default_resolvers_systemd_resolved()
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep! Makes sense. "Install systemd-resolved" is a valid requirement I think.

@ReactorScram ReactorScram added this pull request to the merge queue Apr 26, 2024
Merged via the queue into main with commit 2314b3a Apr 26, 2024
134 checks passed
@ReactorScram ReactorScram deleted the chore/linux-gui-dns branch April 26, 2024 23:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/chore Issues related to repository cleanup or maintenance
Projects
None yet
Development

Successfully merging this pull request may close these issues.

feat(linux): make systemd-resolved the default DNS control method
2 participants