quản lý mạng: làm thế nào để dừng cập nhật /etc/resolv.conf


26

Tôi không muốn người quản lý mạng thêm máy chủ DNS nhận được từ DHCP vào /etc/resolv.conf.

Khi định cấu hình từ GUI / Kết nối / IPV4 và chọn phương thức Tự động (chỉ địa chỉ), nó vẫn thêm các máy chủ DNS nhận được qua DHCP.

Có thể làm điều đó trên mỗi kết nối (ssid cụ thể không?)


Nếu bạn chọn phương thức "Chỉ địa chỉ tự động (DHCP)" thì NetworkManager sẽ không hoặc không nên thay đổi độ phân giải khi kích hoạt kết nối đó. Nếu trên thực tế, NetworkManager thêm địa chỉ vào tệp giải quyết mặc dù cài đặt "chỉ địa chỉ" thì có một lỗi trong Trình quản lý mạng và bạn nên báo cáo lỗi đó bằng Launchpad. Để ngăn NetworkManager thay đổi độ phân giải, bạn nên chọn "Chỉ địa chỉ tự động (DHCP)" trong tất cả các cấu hình kết nối hoạt động trên hệ thống của bạn.
jdthood

1
Bạn có thể sử dụng GUI trong cài đặt IPv4 trên kết nối và chọn "chỉ bổ sung" trong chế độ hoặc tự thực hiện bằng cách chỉnh sửa tệp kết nối tương ứng trong / etc / NetworkManager / system-results / và thêm bỏ qua tự động -dns = dòng đúng đến phần [ipv4].
Sasha Pachev

Câu trả lời:


32

Một cách để ngăn Trình quản lý mạng thêm máy chủ dns vào /etc/resolv.conftệp là làm điều này:

Đầu tiên mở tệp conf conf /etc/NetworkManager/NetworkManager.conf:

sudo vim /etc/NetworkManager/NetworkManager.conf

Và thêm phần này vào [main]phần:

dns=none

Lưu và thoát.


Phần chính là [main], không phải[Main]
AB

/etc/resolv.confthường là một liên kết tượng trưng - bạn có chắc chắn làm cho nó bất biến làm cho mục tiêu của liên kết cũng bất biến?
muru

5
Điều này không hiệu quả với tôi trong debian jessie
Dimitri Kopriwa

5
Điều này không hoạt động trên Ubuntu 18.04
LuizAngioletti

1
Tôi đã phải sudo service network-manager restarttrước khi thay đổi tập tin .conf có hiệu lực.
Chris Moore

3

Yêu thích cá nhân của tôi là sử dụng dòng supersede domain-name-serverstrong /etc/dhcp/dhclient.conf. Bất kể điểm truy cập dns nào cung cấp, Ubuntu của bạn sẽ luôn sử dụng những dns được chỉ định trongdhclient.conf

Mẫu từ tập tin của tôi

#send host-name "andare.fugue.com";
send host-name = gethostname();
#send dhcp-client-identifier 1:0:a0:24:ab:fb:9c;
#send dhcp-lease-time 3600;
#supersede domain-name "fugue.com home.vix.com";
supersede domain-name-servers 208.67.220.220;
#prepend domain-name-servers 127.0.0.1;
request subnet-mask, broadcast-address, time-offset, routers,
    domain-name, domain-name-servers, domain-search, host-name,
    dhcp6.name-servers, dhcp6.domain-search,
    netbios-name-servers, netbios-scope, interface-mtu,
    rfc3442-classless-static-routes, ntp-servers,
    dhcp6.fqdn, dhcp6.sntp-servers;
#require subnet-mask, domain-name-servers;

tạo một dòng như mô tả (sử dụng máy chủ 8.8.8.8) không hoạt động trên Ubuntu 18.04.
LuizAngioletti

3
@LuizAngioletti 18.04 đang sử dụng loại ứng dụng quản lý mạng khác nhau, được gọi netplan. Câu trả lời này được viết cho các bản phát hành trước ngày 18.04. Tôi có thể cập nhật nó sau, mặc dù.
Sergiy Kolodyazhnyy

2

/etc/resolv.confđược liên kết đến /run/resolvconf/resolv.conf. NetworkManager không cập nhật trực tiếp /etc/resolv.conf (chỉ cập nhật /run/resolvconf/resolv.conf). Vì thế:

  • xóa symlink ( rm /etc/resolv.conf)
  • viết phiên bản của riêng bạn /etc/resolv.conf

1
Tôi biết đây là một diễn đàn ubfox nhưng trong khi googling cho centos thì đây vẫn là kết quả google đầu tiên của tôi, vì vậy đăng bình luận cho các nhân viên trung tâm trong tương lai. điều này không giải quyết vấn đề của tôi trên centos. Có vẻ như trình quản lý mạng centos đang trực tiếp làm việc trên /etc/resolv.conf.
Tommy

Điều này không đúng với Debian Stretch. Nó xóa tập tin của bạn và thay thế nó bằng một liên kết tượng trưng khác. Rất phiền toái.
HörmannHH

Đây là một cách dành cho Fedora 25 (ảo hóa) bằng cách sử dụng nmcli: Trong /etc/sysconfig/network-scripts/ifcfg-ens3chúng tôi thấy điều PEERDNS=yesđó có nghĩa là (trong trường hợp này là sai) thông tin DNS được DHCP lấy, và nó kết thúc bằng /etc/resolv.conf. Tôi chỉ muốn 127.0.0.1 làm máy chủ tên. Chạy nmcli con mod ens3 ipf4.ignore-auto.dns yeskết quả trong PEERDNS=notập tin cấu hình giao diện. Tuy nhiên /etc/resolv.confvẫn có namseservermục đi lạc , vì vậy nếu phải khởi động lại kết nối nmcli con down ens3; nmcli con up ens3. Xem thêm: certdepot.net/rhel7-configure-ipv4-addresses
David Tonhofer

Trên Ubuntu 18.04, khởi động lại 'khởi động lại trình quản lý mạng dịch vụ' sẽ khiến NM ghi đè /etc/resolv.conf ngay cả khi đó là tệp cứng và không phải là liên kết tượng trưng.
LuizAngioletti

0

Những gì tôi đã làm trên Debian Stretch:

  • rm /etc/resolv.conf ### (liên kết tượng trưng)
  • chạm /etc/resolv.conf
  • tiếng vang "máy chủ tên xxxx" >> /etc/resolv.conf

Ví dụ: "xxxx" là Địa chỉ IP Máy chủ DNS ưa thích của bạn từ OpenDNS, Google hoặc Cloudflare.

Cảm ơn ý tưởng Taha Jahangir! Tôi có thể xác nhận rằng đề xuất của bạn đã hoạt động cho bản phân phối Debian Stretch của tôi

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.