Làm cách nào để đặt trình phân giải DNS trong Fedora bằng trình quản lý mạng?


15

Tôi muốn dùng thử Google công khai DNS. Đối với điều này, tôi cần thay đổi địa chỉ máy chủ tên. Tôi biết nó có trong tệp /etc/resolv.conf, nhưng bất cứ khi nào tôi bắt đầu network-manager, nó sẽ ghi đè lên các giá trị trong tệp đó bằng những gì nó có được bằng cách sử dụng DHCP.

Làm thế nào để tôi nói với nó không làm điều đó? Tôi đã xem qua GUI, nhưng tôi chỉ có thể tìm thấy một tùy chọn để thêm nhiều địa chỉ IP.

Dưới đây là chiếc cúp :)

nhập mô tả hình ảnh ở đây

Câu trả lời:


11

Phương pháp số 1

Tìm tệp cấu hình NetworkManager và thêm / sửa đổi mục nhập sau (trong CentOS5, nó nằm trong /etc/NetworkManager/nm-system-settings.confhoặc /etc/NetworkManager/system-connections/) và chỉnh sửa tệp kết nối DSL của bạn:

[ipv4]
method=auto
dns=8.8.8.8;4.2.2.2;
ignore-auto-dns=true

Lưu ý: - nếu [ipv4]không hoạt động thì hãy thử với[ppp]

Phương pháp # 2

Bạn có thể thay đổi sự cho phép /etc/resolv.confđể nó không thể được viết bởi các dịch vụ khác hoặc bạn có thể sử dụng chattr.

Phương pháp số 3

Tạo một tập lệnh như được đề cập dưới đây /etc/Networkmanager/dispatcher.d/và đừng quên làm cho nó có thể thực thi được:

#!/bin/bash
#
# Override /etc/resolv.conf and tell
# NetworkManagerDispatcher to go pluck itself.
#
# scripts in the /etc/NetworkManager/dispatcher.d/ directory
# are called alphabetically and are passed two parameters:
# $1 is the interface name, and $2 is "up" or "down" as the
# case may be.

# Here, no matter what interface or state, override the
# created resolver config with my config.

cp -f /etc/resolv.conf.myDNSoverride /etc/resolv.conf

mục nhập của /etc/resolv.conf.myDNSoverride

nameserver 8.8.8.8

Không :) Nó phải được ghi đè lên sau, sau khi nhận được một số thông tin từ ISP. Nhưng điều này đã cho tôi một số ý tưởng, tôi sẽ lướt qua network-scripts, có lẽ nó ở đâu đó ...
wvxvw

Nếu phương pháp # 3 không hoạt động, bạn có thể chỉnh sửa thành công hơn /etc/ppp/ip-up.local, được gọi là pppd đã thiết lập kết nối.
Drav Sloan

@DravSloan Tôi đánh giá cao ans của bạn, nó hoạt động, nhưng tôi đã tìm thấy một số hack trên google mà tôi đã đăng ở đây .. để xem.
Rahul Patil

Số 1 làm việc cho tôi, cảm ơn rất nhiều!
wvxvw

Trên Debian Jessie ít nhất, tệp nm-system-settings.conf không tồn tại, mặc dù có một trang dành cho nó. Thống kê trang man rằng cài đặt hệ thống nm không được chấp nhận với NetworkManager / NetworkManager.conf làm mặc định mới.
jeremiah

6

Có một cái nhìn tại:

$ man NetworkManager.conf

Có vẻ như nếu bạn thêm một dòng dns=nonetrong [main]phần, NetworkManager sẽ không chạm vào /etc/resolv.conf.


1
Không, đã không giúp đỡ. Dù sao nó cũng viết lại. Nhiều nhất tôi có thể suy ra từ tệp đó, các plugin trong phần đó có nghĩa là để lưu trữ các bản ghi DNS được truy xuất. Nhưng tôi có thể sai.
wvxvw

2
Bạn đã khởi động lại Trình quản lý mạng sau khi chỉnh sửa tệp?
rickhg12hs

Tôi đã tắt và bật mạng thông qua tiện ích KDE. Tôi tin rằng điều này sẽ khởi động lại nó. Thật không may, khởi động lại nó thông qua service NetworkManager restartkhông hoạt động - không biết tại sao: | nó không thể kết nối sau khi tôi cố gắng khởi động lại như thế này.
wvxvw

Rất lạ mà restartkhông làm việc. Tôi chưa có kinh nghiệm trong bất kỳ hệ thống nào tôi đã sử dụng.
rickhg12hs

3
Ok, do đó thiết lập dns=none/etc/NetworkManagertrên Fedora 24 ... (đó cũng là cũ PEERDNS=nonetrong /etc/sysconfig/network-scripts/ifcfg-${IFNAME}(như mô tả ở đây ví dụ ... là nó vẫn được sử dụng) ... khởi động lại toàn bộ hộp để kiểm tra Nó hoạt động?..
David Tonhofer

3

Senario

Sử dụng pponppoffcó lẽ có nghĩa là bạn đang sử dụng pppd. Trong trường hợp đó ponsẽ thực thi kịch bản /etc/ppp/ppp_on_boot. Trừ khi bạn cung cấp một đối số pon, nó sẽ tải các cài đặt từ đó /etc/ppp/peers/provider. Nếu bạn cung cấp một đối số, nó sẽ nói ví dụ như pon interwebznó sẽ tìm kiếm /etc/ppp/peers/interwebz. Ngoài ra còn có /etc/ppp/optionsđể kiểm tra quá.

Tôi sẽ tưởng tượng rằng tập tin này có chứa các thiết lập usepeerdns. Từ trang người đàn ông pppd:

usepeerdns
   Ask the peer for up to 2 DNS server addresses. The addresses supplied by the peer 
   (if any) are passed to the /etc/ppp/ip-up script in the environment variables 
   DNS1 and DNS2, and the environment variable USEPEERDNS will be set to 1. In 
   addition, pppd will create an /etc/ppp/resolv.conf file containing one or two
   nameserver lines with the address(es) supplied by the peer. 

Nhận xét ra tùy chọn này, dừng lại pppdvới poff, chỉnh sửa của bạn resolv.confvà sau đó khởi động của bạn pppdvới ponvà xem nếu giải quyết rằng vấn đề này.

sen0

Nếu bạn chỉnh sửa tệp cài đặt giao diện của mình ( /etc/sysconfig/network-scripts/ifcfg-eth0đối với eth0), bạn có thể xem trình quản lý mạng đang sử dụng.

Nếu bạn có DHCP chạy trên giao diện BOOTPROTO=yesđó thì bạn có thể yêu cầu nó không ghi đè cài đặt DNS của bạn PEERDNS=no. Nếu bạn đang sử dụng địa chỉ tĩnh thì bạn có thể đặt cài đặt DNS của mình với

DNS1="8.8.4.4"
DNS2="8.8.8.8"
SEARCH="yourdomain.com"

Cảm ơn, gần gũi, nhưng chưa. Giao diện đang được sử dụng là pppkhông có ifcfg-ppptệp tương ứng : |
wvxvw

Làm thế nào là kết nối điểm-điểm của bạn được tạo ra? Nó được cấu hình như thế nào?
Drav Sloan

Điều thú vị về nó là tôi không biết nó được tạo ra như thế nào. :) Tất cả những gì tôi biết là điều đó ponpoffhoạt động một cách kỳ diệu và NetworkManager bằng cách nào đó có thể sử dụng nó. Dự đoán đầu tiên của tôi là nó đã được pppoeconf, nhưng nó thậm chí không được cài đặt ở đây ...
wvxvw

Cập nhật để xem bạn có thể thay đổi nó với cài đặt của pppd không.
Drav Sloan

Cảm ơn rất nhiều về thời gian của bạn, mặc dù cuối cùng tôi đã sử dụng câu trả lời của Rahul Patil, điều này rất giáo dục!
wvxvw

2

Bạn có thể thực hiện việc này trong GUI cấu hình Trình quản lý mạng, mặc dù theo như tôi có thể thấy nó cần được thực hiện trên cơ sở mỗi kết nối và không thể được thực hiện trên toàn cầu, điều đó có nghĩa là bạn cần định cấu hình riêng cho từng kết nối wifi. (Điều đó thật khó chịu, nhưng cũng có một lợi thế, vì nhiều mạng wifi chặn DNS với bất cứ thứ gì ngoại trừ máy chủ nội bộ, dù tốt hay xấu, do đó, cấu hình cá nhân có thể cần thiết để mọi thứ hoạt động.)

Trong mọi trường hợp, trong Fedora 19, hãy chuyển đến hộp "Cài đặt mạng" mà bạn nhận được từ trình đơn thả xuống của Trình quản lý mạng hoặc chạy bảng cài đặt Kết nối mạng. (Tại sao hai cái này khác nhau? Tôi đoán là các thay đổi được thực hiện theo từng giai đoạn.) Trong mọi trường hợp, bạn có thể chỉnh sửa từng kết nối và trong một trong hai giao diện, tìm tab IPv4.

Trong cấu hình Cài đặt mạng, thay đổi Tự động từ Bật sang Tắt và đặt địa chỉ Google. Hoặc, trong GUI Kết nối mạng, thay đổi Phương thức từ "Tự động (DHCP)" thành "Chỉ địa chỉ tự động (DHCP)" và nhập lại DNS vào hộp.


1

Tôi đã thêm vào dns=nonephần chính của /etc/Networkmanager/NetworkManager.conf, sau đó khởi động lại, điều đó đã ngăn chặn NetworkManager thành công khi ghi đè lên câu lệnh tìm kiếm /etc/resolv.conf.

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.