Tôi có nên chỉnh sửa tệp giải quyếtvv của mình để khắc phục sự cố DNS không?


35

Tôi gặp vấn đề là máy Ubuntu của tôi sử dụng máy chủ DNS sai. Đối với một số lý do máy truy vấn localhostthông tin DNS.

Tôi đã thêm máy chủ DNS trong GUI cài đặt mạng, nhưng /etc/resolv.confvẫn chứa 127.0.0.1địa chỉ máy chủ DNS. Bây giờ, tôi nghĩ rằng tôi chỉ có thể tự chỉnh sửa tệp, nhưng nó nói rõ ràng rằng tôi không nên chỉnh sửa tệp bằng tay.

Bây giờ, do GUI cài đặt mạng không tạo tệp với cài đặt phù hợp, làm cách nào để tôi tự tạo resolv.conftệp mới ?


1
Nếu bạn đang sử dụng Ubuntu Server 12.04 LTS, chỉ cần tạo cho mình một ưu tiên lớn và chỉnh sửa /etc/resolvconf/resolv.conf.d/head ngay khi bạn muốn giải quyết di sản của bạn. Tôi không có gì ngoài vấn đề giải quyết cho đến khi tôi vũ phu.

Askubfox.com/questions/157154/ có thể là một câu hỏi liên quan.
Ehtesh Choudhury

Câu trả lời:


40

Điều mà không có câu trả lời nào được đăng cho đến nay là sự xuất hiện mà người hỏi không hiểu rằng có nameserver 127.0.0.1trong đó /etc/resolv.conflà chính xác, giả sử rằng một máy chủ tên cục bộ đang chạy. Và trong Ubuntu 12.04 Desktop, theo mặc định, một máy chủ tên cục bộ đang chạy, cụ thể là một dnsmasqquá trình được điều khiển bởi NetworkManager lắng nghe 127.0.0.1. Trong Ubuntu 12.10, địa chỉ nghe đã được thay đổi thành 127.0.1.1.

Vì vậy, giải pháp là không thực hiện bất kỳ thay đổi resolv.conf. Đó là chính xác, giả sử rằng người hỏi muốn sử dụng máy chủ tên địa phương.

Nếu dịch vụ tên không hoạt động thì máy chủ tên cục bộ sẽ không được cung cấp địa chỉ chuyển tiếp chính xác hoặc có một số vấn đề về mạng khác.

Người hỏi đã thử sử dụng "GUI cài đặt mạng" để "tạo tệp với cài đặt phù hợp" và điều này không hoạt động. Tôi không biết chính xác điều này có nghĩa là gì, nhưng đây là cách thích hợp để nhập địa chỉ máy chủ tên để chúng kết thúc resolv.confđúng lúc. Tôi giả sử rằng người hỏi đang sử dụng NetworkManagervà không ifupcấu hình giao diện.

Hầu hết các giao diện thường được cấu hình bằng giao thức DHCP. Trong trường hợp đó, không có gì cần phải được cấu hình trên hệ thống cục bộ. Máy chủ DHCP biết địa chỉ máy chủ tên mà máy khách của nó nên sử dụng và gửi thông tin này đến máy khách DHCP, nó sẽ gửi nó đến NetworkManager, nó sẽ gửi nó tới decvconf, đưa thông tin vào resolv.conf. Vì vậy, trong trường hợp này, đó là máy chủ DHCP có thể cần phải được cấu hình.

Nếu giao diện mạng trên máy cục bộ được cấu hình tĩnh thì các địa chỉ máy chủ tên chính xác phải được nhập vào Trình quản lý mạng tại, ví dụ: chỉ báo mạng | Chỉnh sửa kết nối ... | Không dây | kết nối của tôi | Chỉnh sửa ... | Cài đặt IPv4 | Máy chủ DNS bổ sung.

Có thể là máy chủ tên cục bộ không hoạt động đúng. Trong trường hợp đó, người hỏi nên chỉnh sửa/etc/NetworkManager/NetworkManager.conf

sudo gedit /etc/NetworkManager/NetworkManager.conf

và nhận xét ra dòng

dns=dnsmasq

trong phần "[chính]". Để nhận xét dòng, đặt một #ở đầu dòng, sau đó lưu tệp. Sau đó khởi động lại trình quản lý mạng.

sudo restart network-manager

Sau này, các địa chỉ máy chủ tên không cục bộ sẽ được nhập vào resolv.confthay vì địa chỉ 127. *.

Nếu người hỏi đang sử dụng ifupthay vì NetworkManager để định cấu hình giao diện mạng thì câu trả lời của jmartin2279 là chính xác: bạn phải thêm địa chỉ máy chủ tên vào / etc / network / interface theo cách jmartin2279 mô tả.

Trái với những gì một số câu trả lời khác tư vấn, nói chung bạn nên không thêm nameserver, domainhoặc searchlựa chọn các tập tin trong /etc/resolvconf/resolv.conf.d/. Xem ý kiến ​​của tôi về những câu trả lời.


1
"Máy chủ DHCP biết địa chỉ máy chủ tên mà khách hàng của nó nên sử dụng" - Ngoại trừ khi bạn không có quyền kiểm soát máy chủ DHCP (nghĩ các điểm truy cập WiFi công cộng) và muốn ghi đè máy chủ tên đang được sử dụng ... Đặt cấu hình tương tự trên mỗi kết nối cơ sở - lặp đi lặp lại cho mỗi điểm truy cập WiFi mà bạn kết nối - không phải là giải pháp.
Teoh Han Hui

Có vẻ như tôi cần phải thực hiện dhclientcho những thay đổi ( nameserverdòng tha ) cuối cùng cũng đến etc/resolv.conf. Tôi đang chạy trực tiếp tùy chỉnh của Xubfox 14.04 (có thể đó là lý do).
Sopalajo de Arrierez

Những bất lợi của việc vô hiệu hóa DNSMasq là gì, jdthood? Tất nhiên, độ phân giải tên và internet dường như hoạt động tốt sau khi làm điều đó.
Sopalajo de Arrierez

Xem bug.launchpad.net/ubfox/+source/dnsmasq/+orms/1003842 , ví dụ: nhận xét của tôi # 60.
jdthood

Độ phân giải của tôi tiếp tục thay đổi 127.0.0.1mặc dù trình quản lý mạng của tôi có các trình đặt tên khác + dnsmasq bị nhận xét + khởi động lại + dnsmasq bị giết (vì nó vẫn được khởi động) + mạng được khởi động lại: /
một số người dùng

17

Nếu bạn đang sử dụng ifup để định cấu hình giao diện tĩnh thì bạn có thể thêm nó vào tệp / etc / network / giao diện.

Mở một thiết bị đầu cuối và gõ:

sudo gedit /etc/network/interface*

Bạn sẽ thấy một cái gì đó như:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

Chỉnh sửa thành:

auto eth0
iface eth1 inet static
address 192.168.1.10 
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8

sử dụng thông tin mạng của riêng bạn. điều này sẽ cho phép bạn thiết lập dns. bạn có thể sử dụng nhiều máy chủ dns tại đây:

dns-nameservers 8.8.8.8 8.8.4.4

Sau khi làm điều này, chạy

ifdown eth0
ifup eth0

Nếu đó là trường hợp của bạn, đây là giải pháp: "Nếu bạn đang sử dụng ifup để định cấu hình giao diện tĩnh ...."
angelcervera

Bạn thậm chí đã kiểm tra điều này? ifdown: interface eth0 not configured
Cerin

3
nếu bạn kết nối với máng ssh, bạn không thể sử dụng ifdown / ifup. thay vì sử dụngsudo /etc/init.d/networking restart
TD_Nijboer

11

Trong Ubuntu 12.04, việc xử lý độ phân giải đã thay đổi.

Nếu bạn muốn thêm (các) địa chỉ máy chủ tên của riêng mình thì hãy chỉnh sửa tệp /etc/resolvconf/resolv.conf.d/ head

sudo nano /etc/resolvconf/resolv.conf.d/head

và thêm máy chủ tên của bạn ở đó (ví dụ: Google mở dns)

nameserver 8.8.8.8

lưu tập tin và sau đó chạy

sudo resolvconf -u

Không khởi động lại hoặc bất cứ điều gì khác. Có lẽ bạn sẽ cần phải khởi động lại trình quản lý mạng

sudo service network-manager restart

Làm xong.

Bạn có thể kiểm tra nó bằng lệnh

nslookup www.google.com

Kết quả phải tương tự như

Server: 8.8.8.8
Address: 8.8.8.8#53

4
Thêm một dòng "máy chủ tên" vào /etc/resolvconf/resolv.conf.d/head có thể hoạt động như một bản hack nhanh nhưng nó không phải là giải pháp chính xác cho bất kỳ vấn đề nào. Việc đó làm cho trình phân giải sử dụng địa chỉ máy chủ tên đó trong mọi trường hợp, trong khi các máy chủ tên sử dụng phụ thuộc vào hoàn cảnh. Ví dụ: nếu bạn được kết nối với mạng LAN (có thể thông qua VPN) thì bạn thường muốn sử dụng máy chủ tên LAN để có thể phân giải tên riêng trên mạng LAN. Và trong trường hợp hiện tại, hệ thống dường như đang chạy một máy chủ tên bộ nhớ đệm cục bộ, nhưng thêm "máy chủ tên 8.8.8.8" chỉ cần bỏ qua nó.
jdthood

@jdthood - Bạn đã chỉ ra một vấn đề. Quan tâm để cung cấp một giải pháp?
TJ Biddle

@TJ Tôi đã đăng câu trả lời cho câu hỏi chính ("Làm cách nào để chỉnh sửa tệp giải quyếtvv của tôi?") Nếu đó là ý bạn.
jdthood

1
Xin đừng đề nghị điều này. Tại rất đầu của tập tin, "FILE DO NOT EDIT NÀY BẰNG TAY - THAY ĐỔI CỦA BẠN sẽ được ghi đè".
Cerin

Tôi muốn chỉ ra rằng chỉnh sửa /etc/resolv. cài đặt độ phân giải có khả năng tại sao cảnh báo là có.
Ken

1

Để thêm nhiều mục vào /etc/resolv.conf, tạo một /etc/resolvconf/resolv.conf.d/tailtệp và thêm chúng vào đó.

Nhưng nếu /etc/resolv.conf127.0.0.1, sau đó thêm các mục vào /etc/resolvconf/resolv.conf.d/tailsẽ không thay đổi bất cứ điều gì. Bạn phải đặt địa chỉ máy chủ DNS của mình một cách tĩnh trong Trình quản lý mạng sẽ gửi chúng đến dnsmasq đang lắng nghe 127.0.0.1.

Cấu hình DNS cho một giao diện tĩnh nên đi như “ dns-nameservers”, “ dns-search” và “ dns-domain” mục bổ sung vào đoạn thơ iface thích hợp trong/etc/network/interfaces

Đọc này để biết thêm thông tin.

`Hơn nữa:

Bạn có thể cài đặt một công cụ gui có tên gnome-network-adminsẽ thiết lập DNS của bạn. Thử nó :

sudo apt-get install gnome-network-admin

3
(1) Không, không thêm tùy chọn "máy chủ tên" vào /etc/resolvconf/resolv.conf.d/tail. Điều đó là không hiệu quả (vì các tùy chọn "máy chủ tên" khác được ưu tiên) và dưới mức tối ưu (vì đó là cấu hình tĩnh trong khi cấu hình sẽ phản ánh hoàn cảnh mạng). (2) Không, không sử dụng gnome-mạng-admin. Nó không hoạt động đúng với độ phân giải. Xem lỗi # 60.518 ( bugs.launchpad.net/ubuntu/+source/gnome-system-tools/+bug/60518 ).
jdthood
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.