máy chủ tên thứ hai trong /etc/resolv.conf không được chọn bởi wget


14

Độ phân giải của tôi trông như thế này:

; generated by /sbin/dhclient-script
search mcdc
nameserver 10.0.4.48
nameserver 8.8.8.8

nếu tôi làm nslookup www.google.comnó hoạt động

nslookup www.google.com
;; Got SERVFAIL reply from 10.0.4.48, trying next server
Server:     8.8.8.8
Address:    8.8.8.8#53

Non-authoritative answer:
www.google.com  canonical name = www.l.google.com.

nhưng khi tôi cuộn tròn www.google.com, nó không thể giải quyết máy chủ.

Tôi đã thử chạy curl theo strace và thấy curl chỉ sử dụng máy chủ tên đầu tiên trong độ phân giải, không phải thứ hai. Nếu tôi chuyển đổi hai dòng máy chủ tên xung quanh, www.google.com sẽ giải quyết, nhưng tên DNS nội bộ thì không, vì vậy đó không phải là một cách giải quyết tốt.

Làm cách nào tôi có thể sửa độ phân giải để sử dụng cả hai máy chủ tên?

Câu trả lời:


24

Hành vi mặc định cho decv.conf và trình phân giải là thử các máy chủ theo thứ tự được liệt kê. Trình phân giải sẽ chỉ thử máy chủ tên tiếp theo nếu máy chủ tên đầu tiên hết thời gian. Các manpage resolv.conf nói:

máy chủ tên Địa chỉ IP máy chủ

Địa chỉ Internet (ký hiệu dấu chấm) của máy chủ tên mà trình phân giải nên truy vấn. Có thể liệt kê tối đa MAXNS (hiện tại là 3, xem) máy chủ tên, mỗi máy chủ một từ khóa. Nếu có nhiều máy chủ, thư viện trình phân giải truy vấn chúng theo thứ tự được liệt kê.

Và:

(Thuật toán được sử dụng là để thử một máy chủ tên và nếu hết truy vấn, hãy thử tiếp theo, cho đến khi hết máy chủ tên, sau đó lặp lại thử tất cả các máy chủ tên cho đến khi số lần thử lại tối đa được thực hiện.)

Đồng thời xem trang hướng dẫn sử dụng trình phân giải (5) để biết thêm thông tin.

Bạn có thể thay đổi hành vi của trình phân giải bằng cách sử dụng rotate, sẽ truy vấn Máy chủ tên theo thứ tự vòng tròn:

xoay đặt RES_ROTATE trong _res.options, điều này gây ra sự lựa chọn vòng tròn của các máy chủ tên trong số những người được liệt kê. Điều này có tác dụng lan truyền tải truy vấn giữa tất cả các máy chủ được liệt kê, thay vì tất cả các máy khách thử máy chủ được liệt kê đầu tiên mỗi lần.

Tuy nhiên, nslookup sẽ sử dụng máy chủ tên thứ hai nếu nó nhận được SERVFAILtừ máy chủ tên thứ nhất. Từ trang nslookup :

[không] thất bại Hãy thử máy chủ tên tiếp theo nếu máy chủ tên phản hồi với SERVFAIL hoặc giới thiệu (nofail) hoặc chấm dứt truy vấn (thất bại) trên phản hồi như vậy.

(Mặc định = nofail)


2

có, bạn có thể sử dụng "xoay" và cài đặt thời gian chờ để cải thiện tra cứu DNS, dưới đây là ví dụ,

Ví dụ:

[root@centos-xxxxxx ~]# cat /etc/resolv.conf
options rotate
options timeout:1
search xyz.abc.local
nameserver 192.168.56.3
nameserver 10.0.2.4

1

Là 10.0.4.48 một máy chủ dns đệ quy hay còn gọi là trình phân giải?

Hoặc nó chỉ là một máy chủ có thẩm quyền cho các khu vực nội bộ của bạn?

Bạn nên thiết lập một trình giải quyết nội bộ có thể đang giữ dữ liệu có thẩm quyền của bạn.


0

Vì vậy, để làm cho nó hoạt động như mong đợi cài đặt dnsmasq hoặc bộ lặp DNS nhẹ khác (hoặc một máy chủ DNS đầy đủ). Xem So sánh phần mềm máy chủ DNS .

Đối với cấu hình dnsmasq đơn giản như:

server=10.0.4.48
server=8.8.8.8

Bạn cũng có thể chỉ định tên miền nào mà một số DNS nên được sử dụng. Ví dụ:

server=/mcdc/10.0.4.48
server=8.8.8.8

Điều này sẽ làm cho dnsmasq tìm kiếm *.mcdctrong 10.0.4.48máy chủ DNS và bất kỳ máy nào khác trong 8.8.8.8.

Trong /etc/resolv.confbạn chỉ cần sử dụng DNS cục bộ của bạn:

nameserver 127.0.0.1

Để biết thêm chi tiết về thiết lập dnsmasq, hãy xem câu trả lời của tôi tại đây: /unix/55090/change-default-dns-on-openvpn-connect/545591#545591 .


-3

Nếu bạn có thể, tôi sẽ cấu hình nó theo cách này.

search mcdc
nameserver 127.0.0.1
nameserver 8.8.8.8


6
Phần nào của câu hỏi cho biết họ chạy máy chủ DNS trên máy của họ hoặc muốn?
Jay


1
Blake: Lưu ý rằng 127.0.0.1 thường chỉ được sử dụng cho các hệ thống có trình nền lưu trữ bộ đệm tên máy chủ trên máy chủ cục bộ. Xem tldp.org/HOWTO/DNS-HOWTO-3.html
Stefan Lasiewski
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.