Introduction
For someone who needs to direct traffic for specific domains to a particular server, setting up a split DNS configuration on macOS is a straightforward way to achieve this. Today, we’ll explore how to resolve all domains ending in .sf
through a designated DNS server at 172.16.7.1
.
What is Split DNS?
Split DNS is a configuration where DNS queries for specific domains are handled by a designated DNS server, while all other queries go through the default DNS settings. This setup is particularly useful in development environments or for internal network purposes.
Setting Up Split DNS on macOS
To set up a split DNS configuration on macOS, we’ll use the built-in resolver
feature. Here’s how:
Step 1: Create a Resolver Directory
Open Terminal and create a directory for resolver if it doesn’t already exist:
bashCopy code
sudo mkdir -v /etc/resolver
Step 2: Create a Resolver File
In /etc/resolver/
, create a file named sf
:
bashCopy code
sudo nano /etc/resolver/sf
Add the following line to specify the DNS server:Copy code
nameserver 172.16.7.1
Save and exit the editor.
Step 3: Flush DNS Cache
Flush the DNS cache to ensure your changes take effect:
bashCopy code
sudo dscacheutil -flushcache sudo killall -HUP mDNSResponder
Testing Your Configuration
After setting up, test it with nslookup
or dig
:
bashCopy code
nslookup example.sf
The server should now point to 172.16.7.1
.
Troubleshooting
If the DNS queries are still being resolved by the default server (like Google’s 8.8.8.8), here are some things to check:
- Correct File and Syntax: Ensure
/etc/resolver/sf
is correctly set up. - Permissions: Verify the file’s permissions and ownership.
- Direct Testing: Query the DNS server directly with
dig @172.16.7.1 example.sf
. - Network Connectivity: Confirm that
172.16.7.1
is reachable and correctly configured. - Restart Network Services: Sometimes, toggling network services can help.
- Reboot: When in doubt, reboot!