Hi all,
Please could someone help me with what I am doing wrong ?
I am running example.local domain on my interface(192.168.2.1) (bind9)
The domain is resolving fine. However I want to use 1.1.1.1 public DNS server for looking up other domains (external domains)
Hence I have put both servers in /etc/resolv.conf
``` nameserver 1.1.1.1
nameserver 192.168.2.1
search example.local```
However dig stops after it gets a null result from 1.1.1.1 and does not proceed to 192.168.2.1 to ask for server.example.local
i.e
```
$ dig server.example.local
; <<>> DiG 9.17.21-1-Debian <<>> server.example.local
;; global options: +cmd
;; Got answer:
;; WARNING: .local is reserved for Multicast DNS
;; You are currently testing what happens when an mDNS query is leaked to DNS
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 11268
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;server.example.local. IN A
;; AUTHORITY SECTION:
. 86400 IN SOA
a.root-servers.net.
nstld.verisign-grs.com. 2022012400 1800 900 604800 86400
;; Query time: 103 msec
;; SERVER: 1.1.1.1#53(1.1.1.1) (UDP)
;; WHEN: Mon Jan 24 10:03:50 GMT 2022
;; MSG SIZE rcvd: 124
```
WHEREAS if I switch the resolv.conf to have my DNS first (and then 1.1.1.1) , the local resolution works whereas external resolution does not work
```
nameserver 192.168.2.1
nameserver 1.1.1.1
search example.local```
$ dig +short server.example.local
192.168.2.2
<other local domain on other servers does not work anymore>
Now, isnt the lookup supposed to fall back to next server if first one doesnt have an answer ? How does multiple DNS servers entry work in resolv.conf ?
My nsswitch.conf is :
hosts: files dns [NOTFOUND=merge]
Please help.
Regards
Bhasker