Mint 13 Fix for Broken DNS.
I really love Mint, just let me get that out of that way first. That being said, there are usually a couple things I catch, per release, that filter down from Ubuntu, that I wish were taken care of before Mint hits my desktop.
This time it is DNS.
I installed Mint 13 and was cruising around my home network and noticed that my dns searches weren’t appending my local domain. I had to use the FQDN to get to *anything* on my home network. Well, this frustrated me a bit because I worked hard to set up my own home network, I have resources on it including DNS, and I would like to actually use it. So, I went on the hunt for WHY I had to use a fully qualified domain name on my network…
For some strange reason, someone, somewhere thought it would be a great idea to mess with the way we handle DNS. In fact, the way Linux/Unix/unix has traditionally handled DNS for ever. That being if you put stuff ™ in the friggin /etc/resolv.conf file, your DNS just magically works. Well, not any more.
I have done 3 Mint 13 / Cinnamon installs now (assuming that Mate is the same here) and, in fact, THERE IS NO RESOLV.CONF file! What has happened is this, as far as I can tell. Someone in the Ubuntu camp (I assume) decided that it would be a great idea to start using dnsmasq through the NetworkManager to take care of DNS because they wanted to skirt some VPN issues with single homing. In layman’s terms, when you use a VPN, you are *ONLY* supposed to be able to connect to that network to be secure. Using dnsmasq, you could conceivably be on your VPN and route local traffic around too (multi homing). IPSEC guys frost themselves over stuff like this, BTW.
So, I set about to correct this injustice. Here is a simple script you can run which will turn off the dnsmasq garbage, put your resolv.conf files back in place where they belong and start those services back up so stuff works like we have been doing it for 20+ years.
#!/bin/bash clear # Test for UID=0 if [ "$(echo $UID)" != "0" ] then echo “You must be superuser to run this program. Try ‘sudo ./fixmint13.sh’” exit fi sed -i -e 's/dns=dnsmasq/#dns=dnsmasq/g' /etc/NetworkManager/NetworkManager.conf ln -s /run/resolvconf/resolv.conf /etc/resolv.conf resolvconf --create-runtime-directories resolvconf --enable-updates reboot


