Connect to a DFS Namespace from macOS
I recently upgraded my domain controllers and implemented Distributed File System (DFS) on my internal network. I have two locations that I work out of, and I have a site-to-site VPN configured so that I can continue working and accessing my files regardless of which site I’m working at. I have DFS configured to replicate files from one location to the other, so by the time I drive to a different location, any files I’ve worked on should already be replicated. All my Windows machines have no issues accessing the DFS namespaces and shares, but my MacBook Air couldn’t access my DFS namespaces.
I looked everywhere, hoping to find a solution. I found some people saying you had to make changes to the nsmb.conf file, others saying you might have to mount the shares from the command line, and even those stating that SMB was broken on specific macOS builds. I went down the Google rabbit hole, trying all sorts of solutions.
After countless attempts, endless searches, and days of trying, I found an Apple article titled “Distributed File System namespace support” stating: “Populate the Search Domains field in the DNS configuration for the network interface with the fully qualified Active Directory domain name.”
The fix: add your AD domain as a DNS search domain
- Open System Settings → Wi-Fi (or Ethernet, if you’re wired).
- Click Details… next to the network you’re connected to.
- Select DNS in the sidebar.
- Under Search Domains, click + and enter your fully qualified Active Directory domain name, for example
corp.example.com. - Click OK.
The setting is per network interface. If you switch between Wi-Fi and Ethernet, add the search domain to both.
The result
After doing this, I was able to ping the root domain name, which I couldn’t do before. Previously I could only reach the shares by bypassing DFS and going straight to the servers hosting them, but that defeated the purpose of having DFS and replicating the shares. Now I can use the DFS namespace by its proper path (smb://corp.example.com/namespace), get prompted for my credentials, and use the share.


