Only if you have an IPv6-only network. There's essentially 3 scenarios: IPv4-only, IPv4 and IPv6 (dual stack), and IPv6-only. You need default routes for both, if both are enabled on your network (and both have Internet connectivity).
It might help if you let us see your
/etc/rc.conf, to give us a better understanding of your configuration. You can make any names/addresses anonymous if you want to, just please do it consistently, e.g. if the real addresses for the system and router were 192.0.2.45 and 192.0.2.1, change them to xxx.0.2.45 and xxx.0.2.1. Keep things like netmask unchanged.
Please give a brief summary of your network/Internet connection. I.e. which of v4 and v6 are available, and how the FreeBSD system is connected towards the Internet.
It looks like you do have some connectivity, assuming you were doing something like
ping www.google.com
, and not using a raw address like
ping 8.8.8.8
, as your system apparently managed to resolve the address from the name. If you had no connectivity, or a problem with DNS resolution, you would see some other error, possibly the following:
Code:
# ping unknown.example.org
ping: cannot resolve unknown.example.org: Unknown host
The following two commands should aid in diagnosis, letting you see how far packets are getting towards Google's public DNS servers:
traceroute -n 8.8.8.8
(IPv4) and
traceroute6 -n 2001:4860:4860::8888
(IPv6). Try first with the
-n
option to disable DNS lookups, then without it if the first test gets far enough that lookups might be useful.
"ping: sendto: No route to host" does normally mean that packets are not leaving your system (due to either lack of network or route), but the contradiction that you appear to have working DNS makes those traceroutes potentially interesting.