我在碼頭集裝箱內。當我運行時:perl -Ilocal/lib/perl5 -MNet::DNS::Resolver -e 'print Net::DNS::Resolver->new()->query( "999781edb101" )'它什么也不回傳。
但是nslookup:
# nslookup 999781edb101
Server: 127.0.0.11
Address: 127.0.0.11#53
Non-authoritative answer:
Name: 999781edb101
Address: 172.16.16.7
為什么Net::DNS::Resolver不將主機名決議為 IP?
我應該配置什么才能使其作業?
謝謝
UPD
如果我使用debug專案,我可以看到它search xxx.com從以下位置查詢域/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
uj5u.com熱心網友回復:
從檔案和您的除錯輸出來看,您希望Net::DNS::Resolver->new(defnames => 0)將不合格的名稱(不帶點)直接傳遞給服務器,而不是始終附加默認域。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/475684.html
