Troubleshooting DNS Resolution Issues¶
Inside the WebGUI, navigate to Diagnostics > Ping and enter in the ISP gateway address. The gateway address is listed on Status > Interfaces for the WAN interface and under Status > Gateways.
If the gateway is unknown, try another known-valid address such as
If the firewall is able to ping that address and receive a response, then repeat
that same ping test from the client PC. Open a command prompt or terminal
window, and ping that same IP address.
If the client can ping by IP address, then try to ping a web site by name such
www.google.com. Try it from the firewall GUI and from the client PC. If
the IP ping test works, but the name test fails, then there is a problem with
DNS resolution. See Figure
Testing Connectivity for Bogon Updates for an example.
If DNS resolution does not work on the firewall, first check which DNS service is enabled on the firewall and how it is configured. By default, pfSense® software is configured to use the DNS Resolver in a mode that does not require any specific DNS servers. It queries the root servers and other authoritative servers directly. Older installations and upgraded installations default to the DNS Forwarder, which requires DNS Servers to be entered under System > General Setup or to be acquired from a dynamic WAN such as DHCP or PPPoE. The DNS Resolver can also operate in this mode if Enable Forwarding Mode is activated in its settings.
If the DNS Resolver is active but the firewall is unable to resolve hostnames, the problem is usually a lack of working WAN connectivity. Aside from that, one possibility is that the WAN or upstream network gear does not properly pass DNS traffic in a way that is compatible with DNSSEC. Disable DNSSEC in the Resolver options to see if that allows resolution to function. It is also possible that the ISP filters DNS requests and requires the use of specific DNS servers. In that case, configure DNS servers and then activate forwarding mode or switch to the DNS Forwarder.
The firewall DNS server settings are under System > General Setup, and are also visible at Status > Interfaces. Check with ping to be sure these DNS servers are reachable. If the firewall can reach the gateway address at the ISP, but not the DNS servers, contact the ISP and double check those values. If the DNS servers are obtained via DHCP or PPPoE and the firewall cannot reach them, contact the ISP. If all else fails, consider using Google’s public DNS (22.214.171.124, 126.96.36.199) name servers on the firewall instead of those provided by the ISP.
If DNS works from the firewall but not from a client PC, it could be the DNS
Resolver or Forwarder configuration on the firewall, the client configuration,
or firewall rules. Out of the box, the DNS Resolver handles DNS queries for
clients behind the firewall. If the client PCs are configured with DHCP, they
will receive the IP address of the firewall interface to which they are
connected as a DNS server, unless that is manually changed. For example, if a PC
is on the LAN interface, and the firewall LAN IP address is
then the client DNS server should also be
192.168.1.1. If the DNS Resolver
and DNS Forwarder are disabled, adjust the DNS servers which get assigned to
DHCP clients under Services > DHCP Server. Normally when the DNS Resolver
and DNS Forwarder are disabled, the system DNS servers are assigned directly to
the clients, but if that is not the case in practice for this setup, define them
in the DHCP settings. If the client PC is not configured for DHCP, be sure it
has the proper DNS servers set: either the LAN IP address of the firewall or an
alternate set of working internal or external DNS servers.
Another possibility for DNS working from the firewall but not a local client is an overly strict firewall rule on the LAN. Check Status > System Logs, on the Firewall tab. If blocked connections appear in the log from the local client trying to reach a DNS server, then add a firewall rule at the top of the LAN rules for that interface which will allow connections to the DNS servers on TCP and UDP port 53.