Tại sao dnsmasq đặt IP bộ định tuyến của tôi vào /etc/resolv.conf thay vì 127.0.0.1?


7

Tôi đang gặp vấn đề về độ phân giải DNS trong các bối cảnh khác nhau có vẻ như quay trở lại cấu hình mạng của tôi.

Tôi chỉ đang chạy dnsmasq-basecài đặt dnsmasqtrên hai bản cài đặt Linux (Lubfox 12.04 và 12.10). Tôi chưa làm gì đặc biệt để định cấu hình dnsmasq, nhưng tôi nghĩ một số thay đổi khác tôi đã thực hiện trước đây có thể dẫn đến cấu hình không chính xác khi nâng cấp.

Cấu hình hoạt động trên máy 'A' đang chạy 12.04 thiết lập /etc/resolv.confđể sử dụng 127.0.1.1 ( /etc/hostsđược đặt thành $HOSTNAME) Trên máy 'B' trong đó các ứng dụng nhất định như OpenVPN gặp sự cố phân giải DNS, /etc/resolv.confđược đặt thành 192.168.1.1, là cổng của tôi IP. Chỉ một số ứng dụng bị ảnh hưởng. Trình duyệt web, ví dụ, hoạt động tốt.

Bất kỳ ý tưởng nào nếu sự khác biệt này là nguyên nhân của các vấn đề về độ phân giải DNS và tại sao 'B' lại hoạt động khác đi?

Chỉnh sửa:

Cả 'A' và 'B' đều đang chạy dnsmasq, cả hai đều sử dụng DHCP để nhận cấu hình DNS và tôi chỉ sử dụng dnsmasq cho DNS.

Không có /etc/dnsmasq.conftập tin. Tôi hiểu rằng điều này là bình thường khi chạy chỉ dnsmasq-base.

Nội dung /etc/resolvconftrên hai máy có vẻ giống hệt nhau. Không có tập tin ngoại lai / thiếu.

Xin lỗi tôi không thể nói cụ thể hơn về bản chất của vấn đề. "Vấn đề phân giải DNS" là điểm cuối của cuộc thảo luận của tôi với hỗ trợ kỹ thuật tại nhà cung cấp VPN của tôi.


Nếu trình duyệt hoạt động thì DNS không thể là vấn đề. Bất kể dịch vụ nào đang truy vấn máy chủ tên, họ đều thực hiện theo cách tương tự. Cả A và B có sử dụng DHCP để cấu hình mạng của họ không?
tink

Trên máy nào, 'A' hoặc 'B', dnsmasq có chạy không? Dnsmasq có làm DHCP cũng như DNS không? Giá trị của tham số "tệp độ phân giải" trong dnsmasq.conf là gì?
Bruce Ediger

Vâng, không thể tin được rằng phiên bản thương mại (!) Của Ubuntu sẽ làm điều đó với bản phân phối của họ, nhưng họ đã làm hỏng DNS của họ. Kiểm tra máy B của bạn để xem các tập tin trong /etc/resolvconf/và xem nếu có bất kỳ xuất hiện như nó có thể gây ra vấn đề của bạn.
Bananguin

1
dnsmasq được coi là một lỗi bởi một số sysadins và bạn không cần nó. Nó bổ sung thêm một cấp độ của sự gián tiếp trong chuỗi đã được giải quyết. Bạn có thể giết quá trình mà không có tác dụng phụ có thể nhìn thấy và có thể muốn vô hiệu hóa nó vĩnh viễn. dhclient sẽ đáp ứng mọi nhu cầu DHCP của bạn.
msw

Câu trả lời:


1

Trên máy B, nếu /etc/NetworkManager/NetworkManager.confchứa dns=dnsmasqthì resolv.confchỉ nên chứa một dòng "máy chủ tên" nameserver 127.0.1.1. 127.0.1.1 là địa chỉ nơi máy chủ chuyển tiếp tên cục bộ do NetworkManager kiểm soát lắng nghe. NetworkManager cung cấp địa chỉ chuyển tiếp máy chủ tên đó để sử dụng.

Hãy thử chạy sudo dpkg-reconfigure resolvconftrên máy B. Điều này sẽ khôi phục liên kết tượng trưng cần thiết từ /etc/resolv.confđến ../run/resolvconf/resolv.conf.

Bạn đang chạy máy khách VPN của bên thứ ba? Những khách hàng như vậy được biết là clobber /etc/resolv.confvà không khôi phục nó khi họ thoát. Bạn có thể phải làm sudo dpkg-reconfigure resolvconfmỗi khi bạn dừng một khách hàng như vậy.

Một điều cần thử là: Cảm nhận ra dns=dnsmasqtrong /etc/NetworkManager/NetworkManager.confvà sau đó khởi động lại. Điều này vô hiệu hóa máy chủ tên miền chuyển tiếp cục bộ do NetworkManager kiểm soát có một số vấn đề đã biết.

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.