2.0 RC3 AMD64 July 4th build doesn't display DNS names in ARP status page



  • DNS lookup of ARP table entries for everything but public/WAN entries no longer works.  This uses to work, but stopped sometime between RC2->RC3 (I didn't notice it until now).

    We are using DNS forwarder with some local entries so perhaps it's isolated to just that.



  • 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, ...
    
    

Locked