Mac OS X Mountain Lion - DNS resolving uses wrong order on VPN via dial-up connection
I had the same problem on my Mac, and after fixing it I have figured out that it was caused by FortiClient (VPN client). Even when FortiClient was disconnected - it's DNS still appeared in the scutil.

The solution for me was:

scutil
&gt; list ".*DNS"


This will show you a list of all DNS configs, that will look something like:

subKey [0] = State:/Network/Global/DNS &lt;br&gt;
subKey [1] = State:/Network/MulticastDNS&lt;br&gt;
subKey [2] = State:/Network/OpenVPN/DNS&lt;br&gt;
subKey [3] = State:/Network/OpenVPN/OldDNS&lt;br&gt;
subKey [4] = State:/Network/PrivateDNS&lt;br&gt;
subKey [5] = State:/Network/Service/forticlientsslvpn/DNS &lt;br&gt;


To check each of them run: (until you find the problematic one)

&gt; get key_name
&gt; d.show


…and to fix it run:

&gt; get key_name
&gt; d.remove ServerAddresses
&gt; set key_name


This is how it looked on my machine:

&gt; get State:/Network/Service/forticlientsslvpn/DNS 
&gt; d.show
&lt;dictionary&gt; {
  ServerAddresses : &lt;array&gt; {
    0 : 192.168.30.6
    1 : 192.168.30.15
  }
  SupplementalMatchDomains : &lt;array&gt; {
    0 :
  }
  SupplementalMatchOrders : &lt;array&gt; {
    0 : 100000
  }
}
&gt; d.remove ServerAddresses
&gt; d.show
&lt;dictionary&gt; {
  SupplementalMatchDomains : &lt;array&gt; {
    0 :
  }
  SupplementalMatchOrders : &lt;array&gt; {
    0 : 100000
  }
}
&gt; set State:/Network/Service/forticlientsslvpn/DNS
&gt; exit