diff options
| -rw-r--r-- | talpid-core/src/tunnel_state_machine/connected_state.rs | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/talpid-core/src/tunnel_state_machine/connected_state.rs b/talpid-core/src/tunnel_state_machine/connected_state.rs index 9e2d00f34d..f0bd874530 100644 --- a/talpid-core/src/tunnel_state_machine/connected_state.rs +++ b/talpid-core/src/tunnel_state_machine/connected_state.rs @@ -125,10 +125,16 @@ impl ConnectedState { .map_err(BoxedError::new)?; #[cfg(target_os = "linux")] - shared_values - .route_manager - .route_exclusions_dns(&self.metadata.interface, &dns_ips) - .map_err(BoxedError::new)?; + { + let mut dns_routes = vec![IpAddr::V4(self.metadata.ipv4_gateway)]; + if let Some(gateway) = self.metadata.ipv6_gateway { + dns_routes.push(IpAddr::V6(gateway)); + } + shared_values + .route_manager + .route_exclusions_dns(&self.metadata.interface, &dns_routes) + .map_err(BoxedError::new)?; + } Ok(()) } |
