just .lan - single label? Ugghh How about something.lan
So you can not find some fqdn media.lan with nslookup.. What response did you get.. if you were asking pfsense running unbound asking for something it could not resolve you would get nx… Is that what you got?
media.lan
Server: sg4860.local.lan
Address: 192.168.9.253
*** sg4860.local.lan can't find media.lan: Non-existent domain
Or was your client asking something other than unbound running on pfsense? What does nslookup return as the server.. even on linux tells you that..
media.lan
Server: 127.0.0.1
Address: 127.0.0.1#53
** server can't find media.lan: NXDOMAIN
if your seeing something like that - says the linux box is pointing to local cache like dnsmasq... So you need to figure out where the linux box is actually pointing to.. likely your getting it from dhcp and you will see something like
user@ubuntu:~$ cat /etc/resolv.conf
Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.0.1
search local.lan
options single-request-reopen
user@ubuntu:~$
In your /etc/resolv.conf -- you need to correctly configure your clients to use pfsense, and you need to make sure the entries you want to resolve are in there - bet via dhcp adding them, or static adding them or even a host override.
My guess is your linux boxes are being handed that 8.8.8.8 you want to forward too via dhcp your running. And so no they will never be able to resolve your local stuff.