Bagaimana cara mengatur resolver DNS di Fedora menggunakan network-manager?

16

Saya ingin mencoba DNS publik Google. Untuk ini saya perlu mengubah alamat server nama. Saya tahu itu ada di file /etc/resolv.conf, tetapi setiap kali saya mulai network-manager, itu menimpa nilai-nilai dalam file itu dengan apa yang diperolehnya dengan menggunakan DHCP.

Bagaimana saya mengatakannya untuk tidak melakukannya? Saya melihat melalui GUI, tetapi saya hanya bisa menemukan opsi untuk menambahkan lebih banyak alamat IP.

Di bawah ini adalah trofi :)

masukkan deskripsi gambar di sini

wvxvw
sumber

Jawaban:

11

Metode # 1

Temukan file konfigurasi NetworkManager dan tambahkan / ubah entri berikut (di CentOS5 ada /etc/NetworkManager/nm-system-settings.confatau /etc/NetworkManager/system-connections/) dan edit file koneksi DSL Anda:

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

Catatan: - jika [ipv4]tidak berhasil maka coba dengan[ppp]

Metode # 2

Anda dapat mengubah izin /etc/resolv.confagar tidak dapat ditulis oleh layanan lain atau dapat Anda gunakan chattr.

Metode # 3

Buat skrip seperti yang disebutkan di bawah ini /etc/Networkmanager/dispatcher.d/dan jangan lupa untuk membuatnya dapat dieksekusi:

#!/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

masuknya /etc/resolv.conf.myDNSoverride

nameserver 8.8.8.8
Rahul Patil
sumber
Tidak :) Ini harus ditimpa nanti, setelah menerima beberapa info dari ISP. Tapi ini memberi saya beberapa ide, saya akan pergi melalui network-scripts, mungkin itu ada di suatu tempat ...
wvxvw
Jika metode # 3 tidak berhasil, Anda mungkin mendapatkan lebih banyak pengeditan /etc/ppp/ip-up.localyang tampaknya disebut begitu pppd telah membuat koneksi.
Drav Sloan
@ DravSloan Saya menghargai ans Anda, itu berhasil, tetapi saya telah menemukan beberapa retasan di google yang saya posting di sini .. mari lihat.
Rahul Patil
# 1 bekerja untukku, terima kasih banyak!
wvxvw
Setidaknya pada Debian Jessie, file nm-system-settings.conf tidak ada, meskipun ada halaman manual untuk itu. Halaman manual statest bahwa nm-system-settings tidak digunakan lagi dengan NetworkManager / NetworkManager.conf sebagai default baru.
jeremiah
7

Lihatlah:

$ man NetworkManager.conf

Tampaknya jika Anda menambahkan baris dengan dns=nonedi [main]bagian itu, NetworkManager tidak akan menyentuh /etc/resolv.conf.

rickhg12hs
sumber
1
Tidak, tidak membantu. Lagipula itu menulis ulang. Sebanyak yang saya dapat simpulkan dari file itu, plugin di bagian itu dimaksudkan untuk caching dari catatan DNS yang diambil. Tapi saya mungkin salah.
wvxvw
2
Apakah Anda me-restart NetworkManager setelah mengedit file?
rickhg12hs
Saya menonaktifkan dan mengaktifkan jaringan melalui widget KDE. Saya percaya ini harus memulai kembali. Sayangnya me-restart via service NetworkManager restarttidak berfungsi - tidak tahu mengapa: | gagal terhubung setelah saya mencoba me-restart seperti ini.
wvxvw
Sangat aneh itu restarttidak akan berhasil. Saya belum mengalaminya di salah satu sistem yang saya gunakan.
rickhg12hs
3
Ok, sehingga pengaturan dns=nonedi /etc/NetworkManageratas Fedora 24 ... (ada juga yang lama PEERDNS=nonedi /etc/sysconfig/network-scripts/ifcfg-${IFNAME}(seperti yang dijelaskan di sini misalnya ... itu masih digunakan) ... reboot seluruh kotak untuk memeriksa Ia bekerja?..
David Tonhofer
3

Senario PPPD

Menggunakan ppondan ppoffmungkin berarti Anda menggunakan pppd. Dalam hal ini ponakan menjalankan skrip /etc/ppp/ppp_on_boot. Kecuali jika Anda memberikan argumen pon, itu akan memuat pengaturan dari /etc/ppp/peers/provider. Jika Anda memberikan argumen, ia akan mengatakan misalnya pon interwebzakan mencari /etc/ppp/peers/interwebz. Ada juga /etc/ppp/optionsuntuk memeriksa juga.

Saya akan membayangkan bahwa file ini berisi pengaturan usepeerdns. Dari halaman manual 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. 

Komentari opsi ini, berhenti pppddengan poff, edit Anda resolv.conf, lalu mulai ulang pppddengan pondan lihat apakah itu menyelesaikan masalah.

eth0 senario

Jika Anda mengedit file pengaturan antarmuka ( /etc/sysconfig/network-scripts/ifcfg-eth0untuk eth0), Anda dapat melihat pengaturan apa yang digunakan manajer jaringan.

Jika Anda memiliki DHCP yang berjalan pada antarmuka itu BOOTPROTO=yesmaka Anda dapat mengatakan itu untuk tidak menimpa pengaturan DNS Anda PEERDNS=no. Jika Anda menggunakan alamat statis maka Anda dapat mengatur pengaturan DNS Anda

DNS1="8.8.4.4"
DNS2="8.8.8.8"
SEARCH="yourdomain.com"
Drav Sloan
sumber
Terima kasih, tutup, tetapi belum. Antarmuka yang digunakan adalah pppdan tidak ada ifcfg-pppfile yang sesuai : |
wvxvw
Bagaimana koneksi Point-to-Point Anda dibuat? Bagaimana cara mengkonfigurasi?
Drav Sloan
Hal yang menarik tentang itu adalah saya tidak tahu bagaimana itu dibuat. :) Yang saya tahu adalah itu pondan poffsecara ajaib bekerja dan NetworkManager entah bagaimana dapat menggunakannya. Dugaan pertama saya adalah bahwa itu sudah pppoeconf, tetapi bahkan tidak diinstal di sini ...
wvxvw
Diperbarui untuk melihat apakah Anda dapat mengubahnya dengan pengaturan pppd.
Drav Sloan
Terima kasih banyak atas waktu Anda, meskipun pada akhirnya saya menggunakan jawaban Rahul Patil, ini sangat mendidik!
wvxvw
2

Anda dapat melakukan ini di GUI konfigurasi Network Manager, meskipun sejauh yang saya lihat perlu dilakukan berdasarkan per-koneksi dan tidak dapat dilakukan secara global, yang berarti Anda harus mengonfigurasinya secara individual untuk setiap koneksi wifi. (Itu agak menjengkelkan, tetapi juga memiliki keuntungan, karena banyak jaringan wifi memblokir DNS ke apa pun kecuali server internal, untuk lebih baik atau lebih buruk, sehingga konfigurasi individu mungkin diperlukan untuk hal-hal untuk bekerja.)

Dalam kasus apa pun, di Fedora 19, buka kotak "Pengaturan Jaringan" yang Anda dapatkan dari dropdown oleh Network Manager, atau jalankan panel pengaturan Network Connections. (Mengapa dua ini berbeda? Perubahan dilakukan secara bertahap, saya kira.) Dalam hal apa pun, Anda kemudian dapat mengedit setiap koneksi, dan di kedua antarmuka, temukan tab IPv4.

Di konfigurator Pengaturan Jaringan, ubah Otomatis dari Hidup ke Mati dan masukkan alamat Google. Atau, di GUI Sambungan Jaringan, ubah Metode dari "Otomatis (DHCP)" menjadi "Hanya alamat Otomatis (DHCP)", dan masukkan lagi DNS di dalam kotak.

mattdm
sumber
1

Saya menambahkan dns=noneke bagian utama /etc/Networkmanager/NetworkManager.conf, kemudian reboot, yang berhasil menghentikan NetworkManager dari penulisan pernyataan pencarian di /etc/resolv.conf.

Jos
sumber