'Why Net::DNS::Resolver does not return IP for localhost?
I am inside docker container. When I run: perl -Ilocal/lib/perl5 -MNet::DNS::Resolver -e 'print Net::DNS::Resolver->new()->query( "999781edb101" )' it returns nothing.
But nslookup does:
# nslookup 999781edb101
Server: 127.0.0.11
Address: 127.0.0.11#53
Non-authoritative answer:
Name: 999781edb101
Address: 172.16.16.7
Why Net::DNS::Resolver does not resolve hostname to IP?
What I should configure to make it work?
Thank you
UPD
If I use debug project I can see that it queries domain from search xxx.com, from /etc/resolv.conf:
# perl -Ilocal/lib/perl5 -MNet::DNS::Resolver -e '$r = Net::DNS::Resolver->new(); $r->debug(1); print $r->query( "999781edb101" )'
;; query( 999781edb101.xxx.com )
;; udp send [127.0.0.11]:53
;; reply from [127.0.0.11] 121 bytes
;; HEADER SECTION
;; id = 26399
;; qr = 1 aa = 0 tc = 0 rd = 1 opcode = QUERY
;; ra = 1 z = 0 ad = 0 cd = 0 rcode = NXDOMAIN
;; qdcount = 1 ancount = 0 nscount = 1 arcount = 0
;; do = 0
;; QUESTION SECTION (1 record)
;; 999781edb101.xxx.com. IN A
;; ANSWER SECTION (0 records)
;; AUTHORITY SECTION (1 record)
xxx.com. 1800 IN SOA ( xxx.com. zzzzzzzzzzzzzz.
2021070806 ;serial
43200 ;refresh
3600 ;retry
604800 ;expire
86400 ;minimum
)
;; ADDITIONAL SECTION (0 records)
;; errorstring: NXDOMAIN
# cat /etc/resolv.conf
nameserver 127.0.0.11
search xxx.com
options ndots:0
Solution 1:[1]
Judging from the docs and your debug output, you want Net::DNS::Resolver->new(defnames => 0) to pass unqualified names (with no dots) directly to the server, instead of always appending the default domain.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | hobbs |
