Understanding the Traffic Routing Issue
When you connect to a VPN using Viscosity, the software typically installs a virtual network interface (tunnel) that captures incoming and outgoing packets. By default, many VPN configurations are set to route all internet traffic through this encrypted tunnel. While this is ideal for privacy, it can cause issues for non-Apple applications that expect direct access to local network resources or rely on specific DNS servers provided by your ISP or local network.
If an app fails to load pages or connect to services only when the VPN is active, it is likely because the application cannot resolve domain names correctly or is being blocked by the firewall rules associated with the tunnel. Non-Apple apps often have stricter sandboxing or permission requirements compared to native Apple applications, making them more susceptible to these configuration conflicts.
Configuring DNS Overrides in Viscosity
The most common cause of connectivity issues for non-Apple apps is incorrect DNS handling. If the VPN pushes DNS settings that your local network cannot reach, or if they conflict with your system's resolver, apps will fail to connect. You need to ensure that Viscosity allows your system to use the correct DNS servers.
- Open the Viscosity application on your Mac.
- Select the connection profile that is causing the issue from the sidebar.
- Click on the DNS tab within the connection settings.
- Check the option labeled Override DNS Settings. If this is checked, try unchecking it to see if your system's default DNS resolves correctly for external apps.
- If you must keep overrides enabled, ensure that the primary and secondary DNS servers listed are valid and reachable from your current network location.
For more complex scenarios where you need to manually specify DNS servers for an OpenVPN connection, refer to our guide on How to Override DNS Settings for OpenVPN Connection on MacOS with Installed .ovpn. This resource details how to edit the .ovpn file directly to include dhcp-option DNS directives that work reliably across different clients.
Managing Firewall and Network Permissions
macOS includes a built-in firewall that monitors incoming connections. When Viscosity creates a tunnel, it may trigger firewall alerts or block certain outbound/inbound ports required by third-party applications. Additionally, some non-Apple apps require explicit permission to bind to network interfaces.
- Go to System Settings > Network > Firewall.
- Ensure that the firewall is not blocking Viscosity itself. If it is, add Viscosity to the allowed list.
- Check the Options menu in the Firewall settings to see if there are specific rules blocking traffic on the tunnel interface.
- For apps that still fail, check System Settings > Privacy & Security > Network (if available in your macOS version) or look for individual app permissions under Full Disk Access or Local Network depending on the app's needs.
If you recently upgraded to macOS 15 Sequoia, be aware that firewall management has changed slightly. You might encounter difficulties deleting old rules that interfere with new connections. For troubleshooting steps related to firewall persistence in newer macOS versions, see Can't Delete Firewall Rules on macOS 15 (Sequoia) - Tech Support.
Adjusting Split Tunneling Settings
If you do not want all traffic to go through the VPN, you can configure split tunneling. This allows non-Apple apps to bypass the tunnel and use your regular internet connection, while other traffic remains secured.
In Viscosity, navigate to the Tunnel tab of your connection profile. Look for options related to Bypass LAN or Skip Proxy. Some profiles allow you to define specific IP ranges or subnets that should not be routed through the tunnel. By adding your local network subnet (e.g., 192.168.1.0/24) to the exclusion list, you ensure that local apps and devices remain accessible without disrupting the VPN connection.
Verifying Application-Specific Network Behavior
Some non-Apple applications, particularly those built with Electron or similar frameworks, may cache DNS records aggressively. After changing Viscosity settings, restart these applications completely to force a fresh DNS lookup. If the issue persists, try clearing the system DNS cache by running sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder in Terminal. This ensures that both Apple and non-Apple apps receive updated network information immediately after reconnecting to the VPN.
Frequently Asked Questions
Why does my VPN work for Safari but not for Chrome?
Safari uses the system's DNS resolver and network stack, which Viscosity integrates with seamlessly. Chrome, however, often uses its own DNS-over-HTTPS (DoH) service, which may bypass the VPN tunnel entirely or conflict with the DNS servers pushed by Viscosity. Disabling DoH in Chrome's network settings usually resolves this discrepancy.
Can I use Viscosity with WireGuard instead of OpenVPN?
Yes, Viscosity supports WireGuard connections. However, the configuration process differs slightly as WireGuard relies on key pairs rather than certificates. Ensure that your WireGuard client is up-to-date and that the public/private keys are correctly entered in the Viscosity profile to avoid routing failures.
What happens if I disable "Override DNS Settings"?
Disabling this setting forces your Mac to use the DNS servers configured in your System Preferences (usually provided by your router or ISP). This is beneficial if the VPN's DNS servers are slow or unreachable, but it may expose your DNS queries to your local network provider if the VPN does not encrypt DNS traffic separately.
How do I reset Viscosity to default settings?
To reset Viscosity, you can delete the connection profile causing issues and re-import the .ovpn or configuration file. For a complete reset of the application preferences, quit Viscosity and move the contents of ~/Library/Application Support/Viscosity to a backup folder, then restart the app to generate fresh defaults.
Does Viscosity affect Wi-Fi speed on macOS?
Connecting to a VPN inherently adds overhead due to encryption and routing through a remote server, which can reduce throughput. If you notice significant slowdowns, try switching between UDP and TCP protocols in the Viscosity connection settings. UDP is generally faster for streaming and gaming, while TCP offers better reliability for unstable connections.