ping 8.8.8.8 berfungsi tetapi ping www.google.com tidak

11

Saya menjalankan server ubuntu 16.04.2 dan apt-get updatemengembalikan kegagalan sementara untuk menyelesaikan "semuanya pada daftar".

  • Saat saya ping www.google.com, ia merespons dengan host yang tidak dikenal.
  • Ketika saya melakukan ping dengan 8.8.8.8, saya mendapatkan paket yang dikirim tanpa kesalahan dll.

Saya telah mencoba setiap "perbaikan" yang dapat saya temukan di forum Ubuntu dan di seluruh dunia internet dan tidak ada yang berhasil. The resolv.confkosong, ifconfig menunjukkan nic berfungsi, firewall tidak aktif, dan saya membuang palu hanya dalam kasus. Sayangnya, saya mengetik ini di komputer lain di jaringan yang sama tetapi tidak bisa melampirkan teks dari berbagai output untuk menunjukkan apa yang terjadi. Tolong, tolong bantu ini.

File resolv.conf berisi baris-baris ini:

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

Baris terakhir ditempatkan oleh file antarmuka ketika Anda me-reboot sistem. Ini baru untuk 16.04LTS. Saya pikir Windows NT4 tidak begitu buruk dan Ubuntu Server 12 juga tidak.

Gary Mercer
sumber
2
Bagaimana sistem Anda mendapatkan alamat IP-nya? Apakah itu berasal dari server DHCP? Ini adalah IP statis? Mampu melakukan ping ke alamat IP akan bekerja tanpa pengaturan IP server DNS. Tetapi sepertinya Anda tidak memiliki pengaturan alamat DNS atau DHCP Anda tidak menyediakannya.
Terrance
IP statis. Saya tidak pernah mengatur server DNS ketika saya menginstal perangkat lunak server.
Gary Mercer
Lihatlah askubuntu.com/questions/143819/… dan tambahkan entri DNS Anda seperti Server Google DNS di 8.8.8.8 dan 8.8.4.4
Terrance
Saya melakukan semua itu. IP statis saya berasal dari & t kotak vdsl. Saya menggunakan server nama dns mereka dan ip pencarian dns. Satu-satunya hal yang dapat saya simpulkan adalah bahwa pada & t memblokir kueri dns.
Gary Mercer
Menarik. Mungkin Anda mungkin ingin menghubungi AT&T dan melihat apakah mereka memblokirnya. Saya kira Anda bisa mencoba mengganti server DNS mereka dengan server Google DNS dan melihat apakah itu berfungsi.
Terrance

Jawaban:

16

Anda memerlukan Server Nama di /etc/resolv.conffile Anda . Edit /etc/resolv.confdan tambahkan Server Nama yang berfungsi. Google menyediakan yang gratis 8.8.8.8,.

Melakukan hal ini:

$ nano /etc/resolv.conf

Tempatkan ini sebagai baris pertama yang tidak dikomentari:

nameserver 8.8.8.8

Anda dapat memverifikasi fungsi ini dengan:

$ ping -c10 www.google.com

Anda dapat menjadikan perubahan ini permanen dengan menambahkan baris ke file ini sebagai file Anda /etc/resolvconf/resolv.conf.d/head.

LD James
sumber
Whoopie! Keberhasilan! permisi, 36 jam berturut-turut menggedor kotak ini ... Berhasil. Saya bahkan memasukkan at & t ip dan itu berhasil. Terima kasih untuk semua kalian atas bantuan dan kecepatannya. (Tuan Moderator, orang-orang ini membutuhkan tepukan di punggung agar santai di seluruh sampah tanpa emosi)
Gary Mercer
resolv.conf tidak memberikan izin untuk mengedit
Syam kumar KK
berbeda dengan jawaban @Ragy Morkos, itu bekerja untuk saya juga di ubuntu 18.04 LTS
Gwang-Jin Kim
Terima kasih banyak! Saya tidak bisa mem-ping www.google.com setelah melakukan chroot ke dalam ubuntu saya. Berkat solusi Anda, sekarang saya dapat melakukan instalasi dll di partisi chroot-ed.
Gwang-Jin Kim
3

Jawaban yang ditandai sebenarnya tidak berfungsi di Ubuntu 18.04.01. Untuk memperbaiki masalah ini, inilah yang saya lakukan:

  • Menjalankan sudo gedit /usr/lib/systemd/resolv.conf
  • Rekatkan nameserver 8.8.8.8(dan / atau server nama lain yang Anda inginkan), lalu simpan dan keluar.
  • Tambahkan symlink dengan menjalankan sudo ln -sf /usr/lib/systemd/resolv.conf /etc/resolv.conf

Kredit untuk https://askubuntu.com/a/1050280/899241

Ragy Morkos
sumber
2

Bisakah Anda memposting tautan ke halaman yang memberi tahu Anda bahwa file resolv.conf harus kosong? Dugaan saya adalah bahwa itu paling menyesatkan.

Edit file itu dengan perintah sudo nano /etc/resolv.confdan letakkan di sana satu baris:

nameserver 8.8.8.8

Itu akan memperbaiki resolusi nama Anda dan berbagai program yang menggunakannya - ping, apt-get, dll.

Anda juga harus menyelidiki mengapa resolv.conf kosong. Mungkin server DHCP Anda tidak dikonfigurasi dengan benar.

sмurf
sumber
Ini adalah isi file: # Dynamic resolv.conf (5) file untuk glibc resolver (3) yang dihasilkan oleh resolvconf (8) # JANGAN EDIT FILE INI DENGAN TANGAN - PERUBAHAN ANDA AKAN TERLALU BANYAK pencarian 8.8.8.8 8.8.4.4 Baris terakhir ditempatkan oleh file antarmuka ketika Anda me-reboot sistem.
Gary Mercer
@GaryMercer tolong tambahkan itu ke pertanyaan Anda. Sulit dibaca dalam komentar.
wjandrea
0

Bukan ide yang baik di Ubuntu 16.04.x ​​hanya menimpa /etc/resolv.conf. OS akan menimpanya karena kemungkinan besar sendiri.

File /etc/resolv.conftersebut biasanya berupa tautan simbolis ke file lain:

ls -lisa /etc/resolv.conf
1310924 0 lrwxrwxrwx 1 root root 29 Jul 13  2016 /etc/resolv.conf -> ../run/resolvconf/resolv.conf

yang berarti sudah benar dan Anda dapat mengeditnya, tetapi kemungkinan besar program lain akan menimpanya. Saya kira Anda sudah menginstal NetworkManager. Setahu saya layanan ini mengelola konten tekad Anda. Jadi, Anda benar-benar harus mencoba mengatur yang itu. (Di sisi lain NetworkManager bisa dinonaktifkan pada sistem Anda. Anda mungkin harus memberi tahu saya.)

Coba nmtuidan tambahkan di sana Server DNS yang benar. Saya juga 8.8.8.8hanya akan menggunakan DNS sekunder. DNS utama Anda harus berupa mesin atau router di dekat jaringan lokal Anda atau apa pun yang Anda miliki di sana ...

Gerhard Stein
sumber
Tidak ada manajer jaringan. Ini server tanpa gui. Saya menginstal dnsutils sebelum berhenti menghubungkan ke repositori.
Gary Mercer
@Gary Mercer: lalu bagaimana Anda membawa antarmuka jaringan? (ifup dan ifdown?) GUI Manajer Jaringan adalah komponen opsional. nmtuiadalah berbasis teks dari yang itu.
Gerhard Stein
Saya membawa nic dengan me-reboot sistem. Karena ini server, ia tidak pernah dimatikan "." Saya telah menemukan bahwa menggunakan layanan restart tidak selalu berfungsi karena komponen yang saling terkait lainnya yang membentuk semua layanan yang menggunakan antarmuka. Lebih mudah dan paling efisien untuk me-restart semua layanan dengan perintah reboot sederhana.
Gary Mercer
Dengan mem-boot ulang sistem Anda, sesuatu yang harus dimiliki "seorang manajer" membawa perangkat Anda. Di mana Anda mengkonfigurasi Alamat IP statis?
Gerhard Stein
0

Saya memiliki masalah yang sama, sampai saya mengedit dengan nilai-nilai berikut file 50-cloud-init.yaml

 network:
    ethernets:
        eno2:
            addresses:
            - 192.168.0.50/24 (my static ip address)
            dhcp4: false
            gateway4: 192.168.0.42
            nameservers:
                addresses: [208.67.222.222,208.67.220.220]
                search: [208.67.222.222]

semoga berhasil juga untuk Anda

Sal-Sanchez
sumber
Jika menggunakan netplan dan server DNS Google akan addresses: [8.8.8.8,8.8.4.4] (mungkin lebih baik gunakan Cloudflare 1.1.1.1 ) pada /etc/netplan/50-cloud-init.yamldan kemudian sudo netplan --debug apply.
Pablo Bianchi
0

Anda menghadapi masalah terkait dengan DNS Server yang telah Anda tentukan untuk sistem Anda. Periksa entri server nama Anda di /etc/resolv.conf.

Masalahnya adalah, perintah ping tidak dapat mengidentifikasi apa yang "www.google.com" karena server DNS Anda tidak dapat menyelesaikannya dan memberikan alamat IP aktual google (setiap server hanya dapat diakses dengan alamat IP-nya)

Larutan

Edit entri /etc/resolv.conf. Baik memberikan server DNS pilihan /etc/resolve.confyang benar yang dapat menyelesaikan "www.google.com"

atau Anda dapat menentukan resolver sistem lokal Anda yang alamat IP-nya 127.0.0.53 dengan menambahkan baris

nameserver 127.0.0.53

atau berikan IP server DNS Google (salah satunya): 8.8.8.8 atau 8.8.4.4

nameserver 8.8.8.8**

PS Anda bisa lebih memahami bagaimana DNS bekerja di sini

Shubham gain
sumber
-2

Masalah yang kami bahas di sini adalah masalah yang mengarah pada penyelesaian nama domain ke alamat ip secara internal. Karena server Ubuntu versi 15, saya percaya, menggunakan sistem file konfigurasi dinamis yang berubah setiap kali layanan atau sistem dihidupkan ulang atau di-boot ulang. Jika administrator membuat perubahan ke file resolv.conf, perubahan itu dihapus ketika layanan resolver dimulai kembali.

Untuk membuat perubahan permanen, Ubuntu telah membuat cara untuk membuat perubahan pengguna permanen tanpa mempengaruhi konfigurasi dinamis dari file konfigurasi. Saran dari LD James (di atas) adalah menambahkan perubahan yang perlu saya buat ke /etc/resolvconf/resolv.conf.d/headfile.

Ini membuat perubahan permanen dan memecahkan masalah menyelesaikan pesan kesalahan nama domain host not found. Ini adalah solusi untuk mengatur nameserver dns di file antarmuka dan kemudian membawanya ke resolver juga. Terima kasih semua atas upaya terbaik Anda dalam memecahkan teka-teki ini.

Gary Mercer
sumber