Resolv Conf Multiple DNS Servers with specific domains
Solution 1
Impossible to achieve using /etc/resolv.conf
only.
I'd say the easiest thing is to install dnsmasq
(a caching DNS client), make it the sole resolver by putting nameserver 127.0.0.1
into /etc/resolv.conf
and then modify dnsmasq
configuration:
- uncomment
no-dhcp-interface=
to disablednsmasq
's DHCP server facilities; - add a single generic record:
server=10.8.0.1
; - add specific record:
server=/mydomain.local/10.250.0.2
to all requests for hosts inmydomail.local
go to that server.
Solution 2
This could be difficult to achieve, using plain /etc/resolv.conf
only, imho. Would it be a problem, to install a local resolver? If not - the following plan might be applicable:
- Install a cache-only DNS from your distro repository. The default configuration should work and usually you have
127.0.0.1
as a listening address only. - Backup your existing
/etc/resolv.conf
and create a new one, containing barelynameserver 127.0.0.1
. Test that your local DNS works correctly, resolving Internet names. - Put the following in the
named.conf
:
zone "mydomain.local" {
type forward;
forward only;
forwarders { Your-VPN-DNS-IP; };
};
- Test it again, both Internet and VPN resolution. If successful, you could add a
search
line to/etc/resolv.conf
.
HTH-RB
Related videos on Youtube
Admin
Updated on September 18, 2022Comments
-
Admin over 1 year
I need the ability to have specific dns servers for multiple networks, and i would like to know how to properly update my
/etc/resolv.conf
:lets say I have a major vpn, that I route all my trafiic and DNS queries through it. But know I have another VPN that gives me specific accesss to a network, that VPN also as a DNS server, but it only serves a specific domain lets say: ´mydomain.local´
I have a constructed the following resolv.conf:
nameserver 10.8.0.1 search mydomain.local nameserver 10.250.0.2
But the DNS queries will go on to the first domain server no matter what, changing order does not matter.
Can anyone give me any suggestion?