Pertanyaan Bagaimana cara menambahkan server DNS melalui resolv.conf?


Aku s /etc/resolv.conf tidak berguna dalam Ubuntu 12.04 LTS (Precise Pangolin)?

Saya melihat bahwa informasi server DNS disimpan Pengelola jaringan sekarang. Itu nmcli alat baris perintah dapat mencantumkannya untuk Anda.

Jika saya ingin menambahkan satu lagi DNS server, akan menambahkannya ke /etc/resolv.conf dengan menggunakan resolvconf paket bantuan?


192
2018-05-03 00:00


asal


Saya pikir perintah yang disebutkan di atas seharusnya nm-tooltidak nmcli. - Jesse Glick


Jawaban:


Jika /etc/resolv.conf mengandung nameserver 127.0.0.1 lalu menambahkan entri ke /etc/resolvconf/resolv.conf.d/tail tidak akan benar-benar melakukan sesuatu yang berguna.

Jika Anda menggunakan NetworkManager maka Anda seharusnya secara statis menambahkan alamat nameserver melalui indikator jaringan: Edit Koneksi ... | Edit ... | Pengaturan IPv4 | Server DNS tambahan.

Jika kamu sangat ingin menambahkan lebih banyak entri /etc/resolv.conf, membuat /etc/resolvconf/resolv.conf.d/tail dan tambahkan mereka di sana.

Seperti halnya setiap rilis Ubuntu, disarankan untuk membaca Catatan Rilis Ubuntu, tersedia di sini:

Bagian Desktop dan Infrastruktur Umum berisi tautan ke


130
2018-05-03 00:21



@stgraber, beri komentar tentang pendekatan alternatif yang saya temukan dan posting di bawah ini. Bagaimana cara membandingkannya dengan menambahkan /etc/resolvconf/resolv.conf.d/tail file atau menggunakan Network Manager? Terima kasih. - Randall Cook
@stgraber Apa yang Anda rekomendasikan untuk Ubuntu Server? Saya telah melihat dari blog Anda dan komentar bahwa Network-Manger tampaknya menjadi cara terbaik untuk mengelola ini, tetapi melakukan instalasi dari network-manager pada sistem saya akan menginstal banyak hal yang tidak saya perlukan (yaitu GUI stuff ). - Avery Chan
Apa yang menambah entri ke /etc/resolvconf/resolv.conf.d/head (sesuai blogpost Anda)? - sup
@AveryChan, gunakan "pendekatan ketiga" yang disarankan oleh @ randallcook — tambahkan saja dns-nameservers ke bagian eth0 Anda di /etc/network/interfaces. - mrm
/etc/resolvconf/update.d/libc pada server Ubuntu 14.04.1: # Set TRUNCATE_NAMESERVER_LIST_AFTER_LOOPBACK_ADDRESS=no  # to allow additional nameserver addresses to be listed in  # resolv.conf after an initial loopback address 127.* or ::1.  (atur di /etc/default/resolvconf, sebagai garis 23 & 24 dari /etc/resolvconf/update.d/libc menunjukkan. - immeëmosol


Saya menemukan pendekatan lain sini yang melibatkan penambahan garis seperti yang ada di bawah ini /etc/dhcp/dhclient.conf:

prepend domain-name-servers x.x.x.x, y.y.y.y;

Demikian juga, saya menemukan pendekatan ketiga sini yang melibatkan penambahan garis /etc/network/interfaces:

auto eth0
iface eth0 inet static
    . . .
    dns-nameservers 8.8.8.8 8.8.4.4

Perbarui: Ini dia dokumentasi resmi untuk pendekatan ketiga.


128
2018-05-08 22:48



Saya memilih ini karena third approach sejauh ini adalah cara termudah untuk melakukan ini. - Billy Moon
@billy saya tidak bisa mendapatkan metode ketiga untuk bekerja sama sekali .. hanya yang pertama terdaftar di sini, mengedit dclient.conf, bekerja untuk saya. - Jeff Atwood
Catatan: Mengedit dhclient.conf hanya memiliki efek jika dhclient digunakan (dan digunakan oleh ifup dan NetworkManager!) Editing / etc / network / interfaces hanya memiliki efek jika ifup digunakan. Mengkonfigurasi koneksi NetworkManager menggunakan editor koneksi NetworkManager hanya memiliki efek apa pun jika NetworkManager digunakan. - jdthood
Jika saya tidak salah pendekatan ketiga menambahkan nameserver lain SETELAH yang dikembalikan oleh DHCP. Jika Anda ingin datang lebih dulu maka salah satu opsi lain lebih tepat. Saya menggunakan /etc/resolvconf/resolv.conf.d/head (Setelah mengatasi komentar "JANGAN DIBUKA" yang menyesatkan di sana :)) - starfry
@ Mr.Hyde, itu bukan perintah baris perintah, mereka adalah garis untuk ditambahkan ke / etc / network / interfaces. - Randall Cook


Kedengarannya seperti Anda berbicara tentang paket resolvconf.

Instal resolvconf paket.

Menjalankan

cd /etc/resolvconf/resolv.conf.d
sudo cp -p head head.orig  #backup copy, always do this
sudo nano head

Bagian atas file adalah peringatan yang menakutkan. File /etc/resolv.conf dibuat secara otomatis dari isi file ini; peringatan ada di sana sehingga akan dimasukkan ke dalam /etc/resolv.conf ketika /etc/resolv.conf dihasilkan. Di akhir file, tambahkan

nameserver <ip_of_nameserver>

tekan Ctrl  x dan jawab ya untuk menyimpan file. Untuk menyelesaikan, buat ulang /etc/resolv.conf sehingga perubahan diterapkan sekarang:

sudo resolvconf -u

Kemudian periksa isi dari /etc/resolv.conf untuk melihat baris yang Anda tambahkan sekarang di sana. Lebih lanjut, ini akan tetap ada saat boot mesin Anda atau layanan jaringan Anda dimulai ulang, mana saja yang lebih dulu.


85
2018-06-30 23:41



Informasi tentang peringatan file hanya yang saya butuhkan. Saya mendapat kesan bahwa saya tidak seharusnya mengedit file! Terima kasih! - Xunnamius


Di bawah ini saya akan menunjukkan kepada Anda cara terbaik yang saya temukan sejak saya menjalankan edisi Ubuntu Server dan menggunakan ifup daripada NetworkManager.

Sebenarnya bagi saya mereka membuat ini lebih mudah :) dengan meletakkannya ke dalam file / etc / network / interfaces. Konfigurasi yang sama yang telah Anda tulis untuk resolv.conf sekarang dapat berada di file yang sama dengan konfigurasi adaptor jaringan Anda seperti pada contoh di bawah ini:

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
        address 192.168.1.2
        netmask 255.255.255.0
        network 192.168.0.0
        broadcast 192.168.1.255
        gateway 192.168.1.1
        dns-nameservers 75.75.75.75 75.75.76.76
        dns-search local

Saya harap ini membantu dan membuatnya lebih mudah seperti halnya bagi saya, sekarang kita dapat membuat alamat IP statis dan menambahkan nameserver dan dns domain semua dalam satu file :)


29
2018-05-23 22:55



Terima kasih. Ini telah menjadi metode favorit saya juga. Catatan di luar topik: tidak perlu menentukan alamat 'jaringan' dan 'siaran' karena secara otomatis dihitung dari 'alamat' dan 'netmask'. Yang Anda perlukan hanyalah 'alamat', 'netmask' dan 'gateway'. - Martijn Heemels
Ini jawaban yang paling bersih. Pastikan untuk mengeja kata kunci dns- * dengan benar. Mispelled "dns-nameserver" adalah masalah saya yang sebenarnya. - John McGehee


Tambang menjalankan Ubuntu Server 12.04. Saya telah membuat perubahan berikut dan mem-boot ulang server (biasanya ini dapat dilakukan hanya dengan menurunkan antarmuka jaringan, yaitu, ifdown eth0atau ifup eth0).

Dalam file /etc/resolvconf/resolv.conf.d/base Saya menambahkan entri-entri berikut:

nameserver 8.8.8.8
nameserver 8.8.4.4

Saya harap hal diatas membantu!


16
2018-03-19 05:56





Anda dapat menggunakan NetworkManager seperti yang dinyatakan dalam jawaban Frank, tetapi jika Anda lebih suka mengedit secara manual /etc/resolv.conf, Anda dapat melakukannya dengan menghapusnya (sebenarnya symlink) dan kemudian membuat file plain baru dengan konten yang Anda inginkan. Itu resolvconf utilitas hanya pernah menulis ke file /run/resolvconf/resolv.conf.


11
2018-05-04 14:38





Catatan: Jawaban ini adalah untuk pertanyaan Versi pra-penggabungan yang agak berbeda, dengan fokus hanya pada pra-menunggu nama server yang diinginkan.

Ini bekerja sebelum 12.04:

Edit /etc/dhcp3/dhclient.conf dan tambahkan :
prepend domain-name-servers 127.0.0.1;

(Sebenarnya, kalimat ini sudah ada; yang perlu Anda lakukan adalah tidak berkomentar.)


8
2018-03-06 20:26



Apakah ini berfungsi jika Anda tidak memiliki alamat yang ditetapkan oleh DHCP? - Azendale
Jika Anda ingin mempelajari lebih lanjut tentang konfigurasi dhclient, Anda dapat melakukan man dhclient.conf untuk mengakses halaman manual dhclient. (Ini bukan jawaban atas pertanyaan Azendale.) - Christian Skjødt
Jawaban ini sepenuhnya salah. Pertama-tama, pengolah pertanyaan ingin menambahkan alamat namserver eksternal, bukan alamat 127.0.0.1. Antarmuka antarmuka untuk antarmuka eksternal bukan tempat untuk menambahkan alamat untuk nameserver internal. Kedua, file ada di / etc / dhcp, bukan di / etc / dhcp3. Ketiga, karena Ubuntu 12.04 hal-hal seperti itu dikonfigurasi menggunakan resolvconf. - jdthood
Pertama-tama - pertanyaan aslinya secara dramatis diubah oleh penggabungan moderator, jadi jawaban saya tentu saja terlihat aneh. File dhcp3 adalah lokasi ketika saya menjawab ini 2011, dan bahkan jika itu tidak ideal, itu berhasil. Saya telah menggunakan solusi ini pada beberapa mesin. Tentunya, Anda akan mengubah alamat loopback ke alamat yang ingin Anda tambahkan. Saya berasumsi kebanyakan orang tahu apa itu loopback, bahkan jika mereka belum membaca RFC6890. - belacqua
@jdthood Mengapa tidak menambahkan jawaban Anda sendiri? Secara pribadi, saya tidak akrab dengan cara resolvconf bsd-ish dalam melakukan sesuatu. Saya lebih suka pendekatan direct /etc/resolv.conf, dan saya tidak yakin apa keuntungan dari sistem Rube Goldberg yang baru. (Demikian juga dengan / etc / motd). - belacqua


resolvconf tidak berguna. Saya di server Linux dan saya alamat IP bersifat statis dan saya DNS server bersifat statis. saya tidak butuh resolvconfatau Pengelola jaringan.

Menjaganya tetap sederhana adalah kebijakan saya saat bekerja di server. Semakin sedikit kerumitan, semakin mudah untuk mengelola / memperbaiki ketika ada yang rusak.

Jadi saya melakukannya aptitude purge resolvconf dan secara manual memastikan /etc/resolv.conf bukan symlink dan baru saja membuat file statis. Kalau-kalau ada program yang mencoba mengubah file, saya lakukan chattr +i (Tidak dapat diubah) menjadi /etc/resolv.conf sebagai tindakan pencegahan.


6
2017-10-16 15:41



Karena resolvconf adalah bagian dari sistem dasar, dengan menghapusnya Anda meminta masalah di masa depan, pada waktu peningkatan. - jdthood
Saya setuju dengan komentar dan jawabannya: mempertimbangkan berapa banyak masalah yang ditimbulkan, dan berapa jam dukungan yang diperlukan untuk memperbaiki "masalah" ini, dan berapa banyak staf TI yang telah menghabiskan waktu untuk mencari jawaban. Sederhana adalah yang terbaik - Saya tidak memerlukan server saya untuk mengubah DNS menjadi sesuatu yang tidak saya inginkan. - Mei