Setelah memutakhirkan ke 13.10 Penyelesaian DNS saya gagal. Sepertinya server DNS yang saya dapatkan dengan DHCP (LAN) tidak digunakan.
Aku bisa sementara memecahkan masalah dengan menambahkan nameserver 8.8.8.8
ke /etc/resolv.conf
. Namun kemudian host intranet masih belum dapat diatasi.
Ketika mengklik item menu Informasi Koneksi pada indikator jaringan, DNS Utama dan DNS Sekunder diatur dengan benar. Tapi komputer saya sepertinya tidak menggunakannya.
Jadi pertanyaan saya:
- Apa yang harus saya masukkan
resolv.conf
, jika ada? - Bagaimana cara mengetahuinya, server nama mana yang diminta oleh komputer saya?
- Di mana mencari selanjutnya, untuk mencari tahu, mengapa server nama yang diterima oleh DHCP tidak digunakan?
network-manager
Witek
sumber
sumber
Jawaban:
Pertama, Anda perlu tahu sedikit tentang cara kerja penyelesaian nama di Ubuntu sejak Ubuntu 12.04.
Stéphane Graber membuat blog beberapa informasi tentang hal itu tahun lalu di sini . Yang paling penting untuk diketahui adalah bahwa Ubuntu Server dan Ubuntu Desktop menggunakan resolvconf untuk mengelola
resolv.conf
file. Itu berarti Anda tidak boleh lagi mengedit/etc/resolv.conf
secara langsung; alih-alih, Anda harus mengonfigurasi utilitas konfigurasi antarmuka jaringan untuk memberikan informasi yang tepat ke resolvconf. Untuk Ubuntu Server, utilitas konfigurasi antarmuka jaringan adalah ifup dan dikonfigurasi oleh file/etc/network/interfaces
. Untuk Ubuntu Desktop, utilitas konfigurasi antarmuka jaringan adalah NetworkManager . Inilah yang Anda gunakan.NetworkManager dikonfigurasi melalui indikator Jaringan> Edit Koneksi . Namun, untuk antarmuka jaringan yang dikonfigurasi oleh DHCP, biasanya tidak perlu mengubah pengaturan apa pun secara manual. Biasanya yang terjadi adalah server DHCP (jarak jauh) menyediakan NetworkManager alamat IP untuk antarmuka lokal dan alamat server nama DNS (jarak jauh) yang akan digunakan. NetworkManager memulai instance server penerusan yang mendengarkan secara lokal di 127.0.1.1. Alamat ini, 127.0.1.1, dikirim ke resolvconf yang menempatkan
nameserver 127.0.1.1
di/etc/resolv.conf
. NetworkManager juga memberikan alamat IP (jarak jauh) dari server nama DNS yang disediakan DHCP ke server penerusan. Jadi, sebuah program yang berjalan pada sistem lokal meminta resolver untuk menerjemahkan nama host ke alamat IP; resolver menanyakan nameserver penerusan lokal di 127.0.1.1; server penerusan menanyakan server nama jarak jauh yang telah diberitahukan, menerima jawaban dan mengirimkannya kembali ke rantai.NetworkManager berkomunikasi dengan proses penerusan server nama melalui D-Bus. Anda bisa melihat apa yang NetworkManager katakan kepada penerusan nameserver dengan menjalankan perintah
Pembaruan yang timbul dari komentar:
Perhatikan bahwa resolvconf benar-benar menulis file
/run/resolvconf/resolv.conf
yang/etc/resolv.conf
seharusnya menjadi tautan simbolis. Jika/etc/resolv.conf
bukan tautan simbolis maka Anda harus membuatnya kembali. Untuk melakukannya Anda bisa berlariatau
sumber
sudo dpkg-reconfigure resolvconf
atau lakukanmv /etc/resolv.conf /run/resolvconf/resolv.conf && ln -s ../run/resolvconf/resolv.conf /etc/resolv.conf
sudo dpkg-reconfigure resolvconf
seperti yang disarankan di bagian terakhir dari jawaban.sudo dpkg-reconfigure resolveconf
sepertinya bekerja dengan baik!Saya membuat perubahan yang disarankan pada tautan di bawah ini (menonaktifkan dnsmasq). Sekarang semuanya bekerja dengan baik! http://www.ubuntugeek.com/how-to-disable-dnsmasq-in-ubuntu-12-04precise.html
Buka
/etc/NetworkManager/NetworkManager.conf
file.Mengomentari baris sebagai:
sumber
sudo restart network-manager
.sudo /etc/init.d/network-manager restart
dns=default
ke[main]
bagian. NetworkManager memiliki plugin dnsmasq jahat sendiri yang akan digunakan sebaliknya.network-manager
-sudo service network-manager restart
EDIT 2: Posting sebelumnya dihapus oleh moderasi, saya memposting apa yang saya temukan sebagai solusi. Maaf untuk itu.
EDIT: Saya baru saja menemukan jawabannya dan ada di halaman ini - maaf untuk miopy saya. Saya memposting temuan saya di bawah ini, memperluas jawaban yang benar oleh Richard Lindstedt yang ditemukan di halaman ini. Saya meninggalkan gemuruh awal saya untuk sedikit konteks. Tolong balas memilih jawaban Richard, dia pantas menerimanya.
Yang pasti tidak membantu OP dan tidak membantu saya sekarang. Kami tidak ingin alamat statis, kami ingin menggunakan yang dikirim server DHCP kepada kami. NetworkManager tampaknya mengenali mereka, tetapi Ubuntu mengabaikannya:
Tapi...
Dan / etc / network / interfaces saya adalah:
yang agak aneh, saya harapkan semua antarmuka dideklarasikan di sini (atau apakah saya melewatkan sesuatu?).
Jadi, singkatnya:
dpkg-reconfigure resolvconf
Tidak membuka utas lain karena itu masalah yang sebenarnya kecuali saya di 14.10 sekarang (tapi ini telah mengganggu saya sejak upgrade dari 12,10 ke 13,04).
LARUTAN
Ungkapan terakhir membuat saya di jalur yang benar, dan baru setelah itu saya memperhatikan jawaban Richard.
Masalahnya tampaknya terkait dengan paket yang bertentangan
dnsmasq
danresolvconf
. Hingga pukul 12.10,dnsmasq
digunakan. Dari 13,04 dan seterusnya, Ubuntu tampaknya beralih ke hibrida dnsmasq / resolvconf, di mana Anda telah menginstal paketdnsmasq-base
danresolvconf
, tetapi tidak dengandnsmasq
sendirinya.Saya tidak bisa mengatakan apakah itu bug dalam skrip pemutakhiran untuk 13,04 atau yang lainnya, karena ketika memutakhirkan (seperti dalam pemasangan baru) resolvconf diinstal, dnsmasq-base ditingkatkan dan dnsmasq (dengan benar) dihapus.
Tangkapannya adalah, skrip pemutakhiran gagal mengomentari
dns=dnsmasq
baris masuk/etc/NetworkManager/NetworkManager.conf
. Jadi, meskipun daemon dnsmasq tidak ada lagi di sistem, /etc/resolv.conf masih mengharapkannya.sumber
dnsmasq
dandnsmasq-base
diinstal, NM akan menempatkan127.0.0.1
di/etc/resolv.conf
bukannya127.0.1.1
. Saya cukup uninstalldnsmasq
(dan mengaktifkan NM) dan semuanya berfungsi dengan baik.sudo service network-manager restart
menerapkannya.Sebenarnya sangat mudah.
cukup buka file conf antarmuka Anda -> sudo vi / etc / network / interfaces
dan di bawah antarmuka Anda (mungkin eth0) Anda akan melihat semua konfigurasi yang biasa.
Setelah gateway cukup tambahkan 'dns-nameserver 8.8.8.8 8.8.8.9' atau server nama apa pun yang akan Anda gunakan.
Jadi konfigurasi Anda seharusnya:
maka cukup lakukan 'sudo service networking restart' dan Anda siap melakukannya!
sumber