Viscosity 1.6, due for release shortly, has some new and exciting improvements to the DNS engine. These changes allow for much greater functionality and control over DNS settings, and for more powerful and advanced VPN setups.
For the vast majority of users transitioning from a previous version of Viscosity to version 1.6 will be seamless. Viscosity's DNS settings for all connections will default to "Automatic" mode under 1.6, where it will attempt to intelligently determine whether DNS should be enabled, and if so what mode (Full or Split) is desired.
However in some rare instances upgrading users may wish to override the Automatic behavior and manually set the DNS mode and related settings. This blog post is designed to give a quick overview of the newly available DNS options and how they function in advance of the 1.6 release so you can determine whether you wish to change the DNS behavior of your connections after upgrading.
Connection Specific DNS Settings
Previous versions of Viscosity allowed DNS to be enabled or disabled on a per-connection basis, and the DNS servers and domains to be used. However the "Apply DNS settings simultaneously" (equivalent to the new "Split" option) could only be applied on a global basis to all connections. This presented a problem for users who wanted differing DNS modes for connections as it required manually toggling the option on and off and required.
Viscosity 1.6 now allows DNS settings to be customized on a per-connection basis by introducing several new DNS modes: Automatic, Full DNS, Split DNS, and Disabled.
Full DNS mode ensures that your VPN's DNS servers become the primary DNS servers on your computer and that they are used for all lookups by default. This is typically the mode you'll use when connecting to a VPN Service Provider. Split DNS mode instead uses your VPN's DNS servers for only VPN domains. For example, using split DNS you can set the domain "example.com" and have requests such as "www.example.com", "myserver.example.com" etc. only use your VPN's DNS servers. For more information please see the Configuring DNS and WINS settings support article.
Automatic mode will intelligently determine which mode should be used, and it is the recommend mode to use in most instances. Viscosity will look at the VPN and routing settings being used to determine the best DNS mode. If all traffic is being routed through the VPN connection Full DNS mode will be automatically used. Likewise, if a split-routing setup is used and DNS domains are set, then Split DNS mode will be automatically used. Finally, DNS will be automatically disabled if there are no DNS servers present. Viscosity will log which mode is being used for a connection in the OpenVPN log.
Version 1.6 also introduces a new "Ignore DNS settings sent by VPN server" option, allowing DNS and WINS settings sent by the remote VPN or DHCP server to be ignored if desired.
Advanced Split DNS For Windows
While the Mac version of Viscosity has been able to perform split DNS since through the use of the old "Apply DNS settings simultaneously" option, the Windows version has not. We're pleased to announce that version 1.6 introduces an advanced internal DNS system for the Windows platform that enabled true split DNS functionality. DNS requests for VPN specific domains for a connection will only ever use your VPN connection's DNS servers. This allows you, for example, to remotely connect to your workplace's network and have DNS requests for work domains use your workplace's DNS servers, while your standard network traffic uses your normal DNS servers.
DHCP Assigned DNS Settings
A highly requested feature that we're pleased to say Viscosity 1.6 implements is DHCP DNS and WINS support. Viscosity can now use DNS servers, WINS servers, and DNS domains set by a remote DHCP server on bridged (Tap) connections. This allows for easier integration of a VPN server with an existing network, with no need to have the OpenVPN server push out duplicate settings or to set them locally in Viscosity. These options can also be easily ignored by using the "Ignore DNS settings sent by VPN server" option.
Improved DNS IPv6 Support
Finally, Viscosity 1.6 also greatly improves support for IPv6 DNS servers. You can expect greater stability and improved performance of IPv6 servers over previous versions of Viscosity.
Version 1.6 of Viscosity is expected to be available shortly for both Mac and Windows, with many more exciting features and updates than just the DNS-related changes listed above. Please keep an eye on our Blog, Twitter account, or Viscosity's inbuilt automatic update support for notification of when it's available.