Tại sao tệp giải quyếtvv của tôi được tạo lại mỗi lần?


17

/etc/resolv.confTệp của tôi được tạo lại mỗi lần, khiến tôi mất các máy chủ Google DNS khi tôi kết nối lại modem 3G của mình.

Để thay đổi cài đặt DNS, tôi đã xem http://code.google.com.vn/intl/fr-FR/speed/public-dns/docs/USE.html .

Của tôi dhclient.conflà khá lớn (58 dòng), vì vậy tôi đã đăng nó trên pastebin .

Tuy nhiên, đây là toàn bộ dhclient.confkhông có dòng bình luận hoặc dòng trống:

option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;
send host-name "<hostname>";
request subnet-mask, broadcast-address, time-offset, routers,
    domain-name, domain-name-servers, domain-search, host-name,
    netbios-name-servers, netbios-scope, interface-mtu,
    rfc3442-classless-static-routes, ntp-servers;
prepend domain-name-servers 8.8.8.8, 8.8.4.4;

Tôi đang sử dụng wvdialthay vì Quản lý mạng.


Thật không may, tôi không biết gì về wvdial. Tại thời điểm này tôi nghi ngờ nó hoặc một gói khác chưa được phát hiện có liên quan ở đây. Bạn có biết nếu bạn đã cài đặt các ứng dụng hoặc công cụ liên quan đến mạng khác có thể chạm vào DNS, DHCP, giao diện, v.v.
belacqua

Câu trả lời:


6

Trong 12.04, độ phân giải được cài đặt theo mặc định. Dưới đây là tóm tắt nhanh về cách thực hiện thay đổi cấu hình DNS cho một số trường hợp sử dụng phổ biến:

Đối với một cấu hình tĩnh bằng cách sử dụng ifup, sử dụng dns-nameserversdns-searchcác mục trong /etc/network/interfaces.

Đối với cấu hình tĩnh bằng cách sử dụng NetworkManager, chọn Automatic (DHCP) addresses only Methodvà nhập địa chỉ và tên miền vào Additional DNS serversAdditional search domainscác trường trong Trình chỉnh sửa kết nối.

Để ghi đè resolvconf của cấu hình mặc định, sử dụng base, headtail/etc/resolvconf/resolv.conf.d/. Chỉ nhập địa chỉ và tên miền trong các tệp này làm thước đo tạm thời, vì chúng thực sự thuộc về nơi khác, như được mô tả ở trên.

Không nên vô hiệu hóa độ phân giải, nhưng bạn có thể thay thế symlink /etc/resolv.confbằng một tệp thông thường.

Để biết thêm thông tin, hãy xem bài đăng trên blog của Stéphane Graber .


4

Nếu tất cả những gì bạn muốn làm là giữ cho các máy chủ Google DNS của bạn ở độ phân giải, bạn có thể chỉnh sửa
/etc/dhcp3/dhclient.confvà thêm:

prepend domain-name-servers 8.8.8.8;
prepend domain-name-servers 8.8.4.4;

Sự khác biệt duy nhất giữa những gì bạn có và những gì tôi đang hiển thị ở đây là bạn có cả hai máy chủ tên trên một dòng, theo các tài liệu bạn đã đề cập.

Trừ khi tôi thiếu một cái gì đó, dhclient.conf của bạn không phải là vấn đề ở đây. Tại thời điểm này, tôi cho rằng vấn đề liên quan đến wvdial.

Đây là một cái gì đó để thử, từ ubuntuforums :

gksudo gedit /etc/ppp/peers/wvdial

XÓA thông số usepeerdns và lưu tập tin. Mã số:

gksudo gedit /etc/wvdial.conf

thêm những dòng này:

check DNS = no
auto DNS = no

@jgbelacqua tôi đã thử nó trong các dòng spearated nhưng không hoạt động: P
Jakh Saidlikp

@Jakh Tôi cho rằng việc di chuyển các dòng tiền vào gần đầu cũng không thành công? (Đây là cách tôi đã thiết lập của tôi.)
belacqua

@jgbelacqua vâng tôi cũng đã thử như vậy;]
Jakh Saidlikp

@Jakh - bạn đã thử chỉnh sửa request subnet-mask, broadcast-address, time-offset, routers, domain-name, domain-name-servers, domain-search, host-name, netbios-name-servers, netbios-scope, interface-mtu, rfc3442-classless-static-routes, ntp-servers;dòng để xóa máy chủ tên ở đó chưa?
belacqua

@jgbelacqu Không có thử ngay bây giờ và cho phép bạn kno
Jakh Saidlikp

4

Cách tốt nhất để đặt máy chủ tên qua CLI, không có NetworkManger, với địa chỉ tĩnh hoặc độc lập với kết nối là:

Cài đặt resolvconf gói.

Chạy

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

(bỏ qua cảnh báo đáng sợ. / etc thêm vào

 nameserver <ip_of_nameserver>

Nhấn Ctrl xvà trả lời có để lưu tệp. Để hoàn tất, hãy tạo lại /etc/resolv.conf để các thay đổi được áp dụng ngay bây giờ:

 sudo resolvconf -u

Cần phải nói thêm rằng thường không phải là một ý tưởng tốt để đặt một địa chỉ máy chủ tên tĩnh trong độ phân giải. Vui lòng đọc /usr/share/doc/resolvconf/README.gz.
jdthood

0

Bạn có thể đặt domain-name-serverstùy chọn dhclient.conf.


kiểm tra pastebin của anh ấy - có vẻ như anh ấy đã có cái này.
belacqua

Cảm ơn, tôi đã không nhận thấy điều đó. Nhân tiện, giải pháp của bạn có thể đúng, vì vậy hãy xem xét việc đăng nó dưới dạng câu trả lời thay vì bình luận.
Adam Byrtek

xin chào @adam bạn có thể vui lòng nói rõ hơn tôi không biết:] cảm ơn
Jakh Saidlikp 18/03/2016

0

Tôi đã giải quyết vấn đề tương tự với các lệnh sau:

echo "nameserver 212.217.0.1" >> /etc/resolvconf/resolv.conf.d/head
ln -s /etc/resolvconf/resolv.conf.d/head /etc/resolv.conf
resolvconf -u
/etc/init.d/networking restart

1
Bạn có thể đã giải quyết vấn đề theo cách này, nhưng đó là một cấu hình sai hoàn toàn. Bạn đã kết thúc symlinking /etc/resolv.conf thành một tệp tĩnh, đây là một trong những tệp cấu hình của decvconf. Nếu bạn muốn vô hiệu hóa độ phân giải thì sẽ đơn giản hơn nhiều chỉ cần xóa symlink /etc/resolv.conf và đặt một tệp tĩnh ở đó.
jdthood

-1

bạn có thể cài đặt độ phân giải gói. trong trường hợp đó, bất cứ khi nào một giao diện xuất hiện, độ phân giải được cập nhật. bạn có thể thêm các mục tĩnh bằng cách sử dụng tệp /etc/resolv.conf.tail, xem trang man để biết độ phân giải để biết thêm.


Không, tôi chưa cài đặt gói đó
Jakh Saidlikp 18/03/2016

Chương trình giải quyết cập nhật /etc/resolv.conf, nhưng chỉ khi /etc/resolv.conf là một liên kết tượng trưng đến ../run/resolvconf/resolv.conf. Gói độ phân giải được giới thiệu vì rất nhiều chương trình khác đang dậm chân trên /etc/resolv.conf độc lập với nhau, dẫn đến hỗn loạn. Vui lòng đọc /usr/share/doc/resolvconf/README.gz. Do đó, từ thực tế là /etc/resolv.conf đã được cập nhật, nó không tuân theo (vào tháng 3 năm 2011 khi câu hỏi được hỏi) mà độ phân giải đã được cài đặt. Nhiều khả năng pppd đã viết lại tập tin. (Tuy nhiên, kể từ Ubuntu 12.04, độ phân giải là một phần của hệ thống cơ sở.)
jdthood

-1

Tôi đã có cùng một vấn đề, máy chủ DNS mà nhà cung cấp dịch vụ di động của tôi cung cấp khá kém nên tôi muốn sử dụng DNS của Google. Ngoài ra NetworkManager thực hiện một công việc thực sự kém trong việc xử lý các kết nối băng thông rộng di động wvdiallà điều cần thiết.

Hóa ra đó /etc/resolv.conflà một liên kết tượng trưng trong ubuntu 12.10và thậm chí có thể 12.04. Đây là những gì tôi đã làm sudo unlink /etc/resolv.confsau này, bạn có thể tạo một cái mới resolv.confvới vimhoặc trình soạn thảo bạn chọn và thêm máy chủ tên của google hoặc bất kỳ máy chủ tên nào khác mà bạn thích. Lưu nó và bạn đã hoàn tất.

Nếu bạn sợ phá vỡ một cái gì đó, bạn có thể ghi chú về liên kết tượng trưng hiện có bằng cách thực hiện ls -la /etc/resolv.conftrước unlinkingnó.

Hy vọng nó giúp.


@Downvoter, quan tâm để bình luận. Nếu câu trả lời của tôi thực sự là lời khuyên tồi, tôi sẽ vui lòng xóa nó. Xin vui lòng cho tôi biết những gì tôi đang làm sai. Cảm ơn
nikhil
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.