Bagaimana cara menambahkan server DNS melalui resolv.conf?

Adalah /etc/resolv.conf tidak berguna dalam Ubuntu 12.04 LTS (Trenggiling Yang Tepat)?

Saya melihat bahwa informasi server DNS disimpan di NetworkManager sekarang. The 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?

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

Jika Anda menggunakan NetworkManager maka Anda harus menambahkan alamat nameserver secara statis melalui indikator jaringan: Mengedit Koneksi... / Mengedit... / Pengaturan IPv4 / server DNS tambahan.

Jika Anda sungguh ingin menambahkan lebih banyak entri ke /etc/resolv.conf, buat /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

Saya menemukan pendekatan lain di sini yang melibatkan menambahkan baris seperti di bawah ini untuk /etc/dhcp/dhclient.conf:

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

Demikian juga, saya menemukan pendekatan ketiga di sini itu melibatkan penambahan baris ke /etc/network/interfaces:

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

Update: berikut adalah dokumentasi resmi untuk pendekatan ketiga.

Kedengarannya seperti Anda berbicara tentang paket resolvconf.

Instal resolvconf paket.

Lari

cd /etc/resolvconf/resolv.conf.dsudo cp -p head head.orig  #backup copy, always do thissudo nano head

Bagian atas file adalah peringatan yang menakutkan. Berkas / etc / resolv.conf dibuat secara otomatis dari konten 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>

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

sudo resolvconf -u

Kemudian periksa isi / etc / resolv.conf untuk melihat garis Anda menambahkan sekarang ada. Selanjutnya, itu akan tetap ada saat mesin anda melakukan booting atau layanan jaringan Anda dimulai ulang, mana yang lebih dulu.

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

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

# The loopback network interfaceauto loiface lo inet loopback# The Primary Network Interfaceauto eth0iface 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-nameserver 75.75.75.75         dns-nameserver 75.75.76.76        dns-search local        wildcard mask 0.0.0.255        cidr prefix size /24        cidr notation 192.168.1.0/24        first host 192.168.1.255        last host 192.168.1.254        mac address J7:836:737:727:gsgd837:g645

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

Saya menjalankan Ubuntu Server 12.04. Saya telah membuat perubahan berikut dan me-reboot server (biasanya ini dapat dilakukan dengan hanya menurunkan antarmuka jaringan, yaitu, ifdown eth0 atau ifup eth0).

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

nameserver 8.8.8.8nameserver 8.8.4.4

Saya harap hal di atas membantu!

Catatan: jawaban ini untuk versi pertanyaan pra-penggabungan yang agak berbeda, dengan fokus hanya pada pra-pending server Nama yang diinginkan.

Ini berfungsi sebelum 12.04:

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

(Sebenarnya, baris ini sudah ada ; yang perlu anda lakukan hanyalah membatalkan komentarnya.)

resolvconf tidak berguna. Saya berada di server Linux dan saya Alamat IP adalah statis dan saya DNS server bersifat statis. Saya tidak perlu resolvconf atau NetworkManager.

Menjaga sederhana adalah kebijakan saya ketika bekerja pada server. Semakin sedikit kompleksitas, semakin mudah untuk mengelola/Memperbaiki ketika semuanya rusak.

Jadi saya lakukan aptitude purge resolvconf dan secara manual memastikan /etc/resolv.conf bukan symlink dan baru saja membuat file statis. Hanya dalam kasus program mencoba untuk mengubah file, saya lakukan chattr +i (immutable) untuk /etc/resolv.conf sebagai tindakan pencegahan.

Sebagian besar hal di atas mengasumsikan Anda memiliki sistem yang murni, tetapi kenyataannya sering kali Anda telah menginstal klien dhcp yang berbeda, menonaktifkan manajer jaringan di versi Ubuntu sebelumnya, dll. Mungkin bermanfaat untuk mengetahui hal-hal berikut. Saya telah menggunakan dnsmasq untuk sementara waktu, tetapi menghapusnya. Saat ini sistem saya memiliki konten berikut /etc/resolv.conf (yang merupakan tautan simbolis ke /run/resolvconf/resolv.conf pada sistem saya):

cat /etc/resolv.conf# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTENnameserver 127.0.0.1

Tidak peduli seberapa sering saya berlari sudo resolvconf -u atau sudo dpkg-reconfigure resolvconf, itu tidak memperbarui nameserver ke yang saya atur di NetworkManager. Informasi resolvconf tidak menggunakan dari NetworkManager hadir:

cat /run/resolvconf/interface/NetworkManager  nameserver 8.8.4.4nameserver 8.8.8.8

Namun, ternyata jika ada banyak file di direktori ini, file ini mungkin tidak digunakan sama sekali. Pelakunya adalah file yang tidak dihapus dengan penghapusan instalasi dnsmasq:

cat /run/resolvconf/interface/lo.dnsmasq                        nameserver 127.0.0.1

Hanya menghapus file ini (dan menjalankan sudo resolvconf -u setelah itu) memecahkan masalah dns Saya:

cat /etc/resolv.conf                        # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTENnameserver 8.8.4.4nameserver 8.8.8.8 

Saya harap ini membantu orang lain dengan debugging (interaksi kompleks antara semua alat jaringan yang berbeda ini) juga. Jika Anda menggunakan resolvconf pastikan untuk menjalankan ls /run/resolvconf/interfaces untuk melihat apa yang ada di sana.

Saya baru saja menghapus tautan di /etc/resolv.conf dan membuat file reguler dengan alamat server nama. Ini berfungsi, dan saya tidak melihat alasan untuk menggunakan konstruksi yang agak aneh yang telah dibuat oleh pengembang Ubuntu.

Saya pikir perintah yang disebutkan di atas harus nm-tool, bukan nmcli.