FreeNAS has a configurable option under CIFS for DNS lookups. The help popup indicates that turning it off makes things speedier.
My experience: If the box is checked (as it seems to be by default) and DNS is unavailable, forget about fast: CIFS just fails to work.
Worse, if DNS is unreliably reachable (as in the case of a wonky WAN), CIFS -sometimes- works.
Unchecking the box makes CIFS -always- work.
Expected behavior: CIFS should still work, even if DNS is unavailable, even if the checkbox for name lookups is checked, especially if no allow/deny lists are in use. Any logging or rule-checking performed should use the best available data: Either IP addresses, or names if the IPs can be resolved. Failing != cool.
Background:
Two FreeNAS installations built with identical hardware doing identical work at two different locations on two different networks, configured as similarly as realistically possible, and each just providing a single password-protected CIFS share on a LAN. One has always worked fine. The other usually worked fine, and the rest of the time wouldn't work at all.
We troubleshot the heck out of the thing: Ran ping overnight (perfect results), checked cabling, bypassed switches, added a PCI NIC, the works. Eventually, we unplugged it from the Internet and CIFS -immediately- rolled over and died.
Aha!, we said to ourselves. It's something related to the Internet!
We plugged the Internet back in, and CIFS began working as poorly as it did before.
So we unchecked the checkbox for DNS lookups, and it seems to have been doing quite well since, whether it has an Internet connection and/or working DNS, or not. And the conclusion, of course, is that FreeNAS's CIFS module requires a working nameserver in order to operate, and that one of the network locations has a wonky WAN connection that eats DNS requests. (It is a wireless ISP, and not a very well-regarded one, but that's not my problem to solve.)
I propose that this is either a bug in FreeNAS or a bug in its documentation, or both.
My experience: If the box is checked (as it seems to be by default) and DNS is unavailable, forget about fast: CIFS just fails to work.
Worse, if DNS is unreliably reachable (as in the case of a wonky WAN), CIFS -sometimes- works.
Unchecking the box makes CIFS -always- work.
Expected behavior: CIFS should still work, even if DNS is unavailable, even if the checkbox for name lookups is checked, especially if no allow/deny lists are in use. Any logging or rule-checking performed should use the best available data: Either IP addresses, or names if the IPs can be resolved. Failing != cool.
Background:
Two FreeNAS installations built with identical hardware doing identical work at two different locations on two different networks, configured as similarly as realistically possible, and each just providing a single password-protected CIFS share on a LAN. One has always worked fine. The other usually worked fine, and the rest of the time wouldn't work at all.
We troubleshot the heck out of the thing: Ran ping overnight (perfect results), checked cabling, bypassed switches, added a PCI NIC, the works. Eventually, we unplugged it from the Internet and CIFS -immediately- rolled over and died.
Aha!, we said to ourselves. It's something related to the Internet!
We plugged the Internet back in, and CIFS began working as poorly as it did before.
So we unchecked the checkbox for DNS lookups, and it seems to have been doing quite well since, whether it has an Internet connection and/or working DNS, or not. And the conclusion, of course, is that FreeNAS's CIFS module requires a working nameserver in order to operate, and that one of the network locations has a wonky WAN connection that eats DNS requests. (It is a wireless ISP, and not a very well-regarded one, but that's not my problem to solve.)
I propose that this is either a bug in FreeNAS or a bug in its documentation, or both.