http://forum.pfsense.org/index.php/topic,38143.0.html
I've sorta fixed it, with help from the response in the forum, using 127.0.0.1 as the first DNS server for "none" and two opendns servers for "WAN".
You could also mess with /etc/inc/system.inc and add 127.0.0.1 as a first DNSserver.
like so:
function system_resolvconf_generate($dynupdate = false) {
global $config, $g;
if(isset($config['system']['developerspew'])) {
$mt = microtime();
echo "system_resolvconf_generate() being called $mt\n";
}
$syscfg = $config['system'];
// Do not create blank domain lines, it breaks tools like dig.
if($syscfg['domain'])
$resolvconf = "domain {$syscfg['domain']}\n";
$havedns = false;
if (isset($syscfg['dnsallowoverride'])) {
/* Local DNS server ignored by DNS forwarder */
$resolvconf .= "nameserver 127.0.0.1\n";
/* OPENDNS DNS servers */
$resolvconf .= "nameserver 208.67.222.222\n";
$resolvconf .= "nameserver 208.67.220.220\n";
/* NEUSTAR (UltraDNS) DNS servers */
$resolvconf .= "nameserver 156.154.70.1\n";
$resolvconf .= "nameserver 156.154.71.1\n";
/* get dynamically assigned DNS servers (if any) */
$ns = array_unique(get_searchdomains());
foreach($ns as $searchserver) {
if($searchserver) {
$resolvconf .= "search {$searchserver}\n";
$havedns = true;
}
}
$ns = array_unique(get_nameservers());
foreach($ns as $nameserver) {
if($nameserver) {
$resolvconf .= "nameserver $nameserver\n";
$havedns = true;
}
}
}
if (!$havedns && is_array($syscfg['dnsserver'])) {
foreach ($syscfg['dnsserver'] as $ns) {
if ($ns) {
$resolvconf .= "nameserver $ns\n";
$havedns = true;
}
}
}
etcetera, etcetera, etcetera, etcetera, ...