ping 8.8.8.8 ใช้งานได้ แต่ ping www.google.com ไม่ทำงาน


12

ฉันใช้เซิร์ฟเวอร์อูบุนตู 16.04.2 และapt-get updateคืนความล้มเหลวชั่วคราวในการแก้ไข "ทุกอย่างในรายการ"

  • เมื่อฉัน ping www.google.com มันจะตอบสนองกับโฮสต์ที่ไม่รู้จัก
  • เมื่อฉัน ping กับ 8.8.8.8 ฉันจะได้รับแพ็กเก็ตที่ส่งโดยไม่มีข้อผิดพลาด ฯลฯ

ฉันได้ลอง "แก้ไข" ทุกครั้งที่ฉันพบในฟอรัม Ubuntu และทั่วโลกอินเทอร์เน็ตที่เหลือและไม่มีอะไรทำงาน resolv.confว่างเปล่าแสดง ifconfig NIC ทำงานไฟร์วอลล์ปิดและผมโยนไปค้อนเพียงในกรณีที่ น่าเสียดายที่ฉันกำลังพิมพ์สิ่งนี้บนคอมพิวเตอร์เครื่องอื่นบนเครือข่ายเดียวกัน แต่ไม่สามารถแนบข้อความจากเอาต์พุตต่างๆเพื่อแสดงว่าเกิดอะไรขึ้น ต้องการความช่วยเหลือในเรื่องนี้โปรด

ไฟล์ 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 OVERWRITTEN
search 8.8.8.8 8.8.4.4

บรรทัดสุดท้ายถูกวางไว้โดยไฟล์อินเตอร์เฟสเมื่อคุณรีบูตระบบ นี่คือใหม่สำหรับ 16.04LTS ฉันคิดว่า Windows NT4 นั้นไม่ได้แย่ขนาดนั้นและ Ubuntu Server 12 ก็ไม่ได้เช่นกัน


2
ระบบของคุณใช้เป็นที่อยู่ IP ได้อย่างไร มันมาจากเซิร์ฟเวอร์ DHCP หรือไม่? มันเป็น IP แบบคงที่? ความสามารถในการ ping ที่อยู่ IP จะทำงานโดยไม่มีการตั้งค่า IP เซิร์ฟเวอร์ DNS แต่ดูเหมือนว่าคุณไม่มีการตั้งค่าที่อยู่ DNS หรือ DHCP ของคุณไม่ได้ให้บริการ
Terrance

IP เป็นแบบคงที่ ฉันไม่เคยติดตั้งเซิร์ฟเวอร์ DNS เมื่อฉันติดตั้งซอฟต์แวร์เซิร์ฟเวอร์
Gary Mercer

ดูaskubuntu.com/questions/143819/และเพิ่มรายการ DNS ของคุณเช่นเซิร์ฟเวอร์ DNS ของ Google ที่ 8.8.8.8 และ 8.8.4.4
Terrance

ฉันทำทุกอย่าง IP แบบสแตติกของฉันมาจาก & t กล่อง vdsl ฉันใช้เซิร์ฟเวอร์ชื่อ dns และ ip-search ของ DNS สิ่งเดียวที่ฉันสามารถอนุมานได้คือที่ & t กำลังบล็อกคิวรี dns
Gary Mercer

น่าสนใจ บางทีคุณอาจต้องการติดต่อ AT&T และดูว่าพวกเขากำลังบล็อกอยู่หรือไม่ ฉันเดาว่าคุณสามารถลองเปลี่ยนเซิร์ฟเวอร์ DNS เป็นเซิร์ฟเวอร์ Google DNS และดูว่าใช้งานได้หรือไม่
Terrance

คำตอบ:


17

คุณต้องการเนมเซิร์ฟเวอร์ใน/etc/resolv.confไฟล์ของคุณ แก้ไขของคุณ/etc/resolv.confและเพิ่มเซิร์ฟเวอร์ชื่อที่ใช้งานได้ Google 8.8.8.8ให้ฟรีหนึ่ง

ทำเช่นนี้:

$ nano /etc/resolv.conf

วางสิ่งนี้เป็นบรรทัดแรกที่ไม่มีความคิดเห็น:

nameserver 8.8.8.8

คุณสามารถตรวจสอบการทำงานนี้ด้วย:

$ ping -c10 www.google.com

คุณสามารถทำให้การเปลี่ยนแปลงนี้อย่างถาวรโดยการเพิ่มเส้นไฟล์นี้ของคุณ/etc/resolvconf/resolv.conf.d/headไฟล์


Whoopie! ที่ประสบความสำเร็จ! ขอโทษนะ 36 ชั่วโมงในการต่อสู้กับกล่องนี้ ... มันใช้ได้ ฉันยังใส่ at & t ip's และใช้งานได้ ขอบคุณพวกคุณทุกคนสำหรับความช่วยเหลือและความรวดเร็ว (มิสเตอร์โมเดอเรเตอร์คนพวกนี้ต้องการตบหลังเพื่อให้ง่ายขึ้นกับขยะที่ไร้อารมณ์)
Gary Mercer

resolv.conf ไม่ได้รับอนุญาตให้แก้ไข
Syam kumar KK

ตรงกันข้ามกับคำตอบของ @Ragy Morkos มันใช้ได้กับฉันเช่นกันใน Ubuntu 18.04 LTS
Gwang-Jin Kim

ขอบคุณมาก! ฉันไม่สามารถ ping www.google.com หลังจาก ching-ing เข้าสู่อูบุนตูของฉัน ขอบคุณวิธีแก้ปัญหาของคุณตอนนี้ฉันสามารถทำการติดตั้งและอื่น ๆ ในพาร์ติชัน chroot-ed
Gwang-Jin Kim

3

คำตอบที่ทำเครื่องหมายไว้แล้วไม่ทำงานบน Ubuntu 18.04.01 ในการแก้ไขปัญหานี้นี่คือสิ่งที่ฉันทำ:

  • ปฏิบัติ sudo gedit /usr/lib/systemd/resolv.conf
  • วางnameserver 8.8.8.8(และ / หรือเนมเซิร์ฟเวอร์อื่นที่คุณต้องการ) จากนั้นบันทึกและออก
  • เพิ่ม symlink โดยดำเนินการ sudo ln -sf /usr/lib/systemd/resolv.conf /etc/resolv.conf

เครดิตไปที่https://askubuntu.com/a/1050280/899241


2

คุณสามารถโพสต์ลิงค์ไปยังหน้าที่บอกว่าไฟล์ resolv.conf ควรว่างเปล่าหรือไม่? ฉันเดาว่ามันทำให้เข้าใจผิดที่ดีที่สุด

แก้ไขไฟล์นั้นด้วยคำสั่งsudo nano /etc/resolv.confและใส่บรรทัดเดียว:

nameserver 8.8.8.8

ที่ควรแก้ไขการจำแนกชื่อของคุณและโปรแกรมต่าง ๆ ที่ใช้งาน - ping, apt-get, etc.

คุณควรตรวจสอบสาเหตุที่ resolv.conf ว่างเปล่า บางทีเซิร์ฟเวอร์ DHCP ของคุณไม่ได้รับการกำหนดค่าอย่างเหมาะสม


นี่คือสิ่งที่ไฟล์มี: # Dynamic resolv.conf (5) ไฟล์สำหรับ glibc resolver (3) ที่สร้างขึ้นโดย resolvconf (8) # อย่าแก้ไขไฟล์นี้ด้วยมือ - การเปลี่ยนแปลงของคุณจะถูกค้นอีกครั้ง 8.8.8.8 8.8.4.4 บรรทัดสุดท้ายถูกวางไว้โดยไฟล์อินเตอร์เฟสเมื่อคุณรีบูตระบบ
Gary Mercer

@GaryMercer โปรดเพิ่มคำถามของคุณ เป็นการยากที่จะอ่านในความคิดเห็น
wjandrea

0

ไม่ได้เป็นความคิดที่ดีบน Ubuntu 16.04.x /etc/resolv.confเพียงเขียนทับ ระบบปฏิบัติการจะเขียนทับมันด้วยตัวเองมีโอกาสมากที่สุด

ไฟล์/etc/resolv.confมักจะเป็นลิงก์สัญลักษณ์ไปยังไฟล์อื่น:

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

ซึ่งหมายความว่าถูกต้องและคุณสามารถแก้ไขได้ แต่ส่วนใหญ่มีแนวโน้มว่าโปรแกรมอื่นจะเขียนทับมัน ฉันจะเดาว่าคุณได้ติดตั้ง NetworkManager แล้ว เพื่อความรู้ของฉันบริการนี้จัดการเนื้อหาของการแก้ไขของคุณ ดังนั้นคุณควรลองตั้งค่าที่หนึ่ง (ในมืออื่น ๆ NetworkManager อาจถูกปิดการใช้งานในระบบของคุณคุณอาจต้องบอกฉัน)

ลองnmtuiและเพิ่มเซิร์ฟเวอร์ DNS ที่ถูกต้องที่นั่น ฉันจะใช้8.8.8.8เป็น DNS สำรองเท่านั้น DNS หลักของคุณควรเป็นเครื่องหรือเราเตอร์ใกล้กับเครือข่ายท้องถิ่นของคุณหรืออะไรก็ตามที่คุณมี


ไม่มีผู้จัดการเครือข่าย มันเป็นเซิร์ฟเวอร์ที่ไม่มีกุย ฉันติดตั้ง dnsutils ก่อนที่จะเลิกเชื่อมต่อกับที่เก็บ
Gary Mercer

@Gary Mercer: คุณนำอินเทอร์เฟซเครือข่ายมาได้อย่างไร (ifup และ ifdown?) Network Managers GUI เป็นองค์ประกอบเสริม nmtuiเป็นข้อความตามที่หนึ่ง
แกร์ฮาร์ดสไตน์

ฉันนำนิคขึ้นมาโดยการรีบูตระบบ ตั้งแต่เซิร์ฟเวอร์มันไม่เคยถูก "ปิด" ฉันพบว่าการใช้บริการเริ่มต้นใหม่นั้นไม่สามารถใช้งานได้เสมอไปเนื่องจากส่วนประกอบอื่น ๆ ที่เกี่ยวข้องกับอินเตอร์ซึ่งประกอบกันเป็นบริการทั้งหมดที่ใช้อินเทอร์เฟซ ง่ายและมีประสิทธิภาพที่สุดในการรีสตาร์ทบริการทั้งหมดด้วยคำสั่งรีบูตอย่างง่าย
Gary Mercer

การรีบูทระบบของคุณเป็น "ผู้จัดการ" จะต้องนำอุปกรณ์ของคุณมาด้วย คุณกำหนดค่าที่อยู่ IP แบบคงที่ใด
แกร์ฮาร์ดสไตน์

0

ฉันมีปัญหาเดียวกันจนกระทั่งฉันแก้ไขด้วยค่าต่อไปนี้คือไฟล์ 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]

หวังว่ามันจะเหมาะกับคุณเช่นกัน


หากใช้netplanเซิร์ฟเวอร์และ Google DNS จะ addresses: [8.8.8.8,8.8.4.4] (อาจจะดีกว่าใช้ของ CloudFlare 1.1.1.1 ) บนแล้ว/etc/netplan/50-cloud-init.yaml sudo netplan --debug apply
Pablo Bianchi

0

คุณกำลังประสบปัญหาที่เกี่ยวข้องกับเซิร์ฟเวอร์ DNS ที่คุณระบุไว้สำหรับระบบของคุณ ตรวจสอบรายการเนมเซิร์ฟเวอร์ของคุณใน /etc/resolv.conf

ปัญหาคือคำสั่ง ping ไม่สามารถระบุได้ว่า "www.google.com" คืออะไรเพราะเซิร์ฟเวอร์ DNS ของคุณไม่สามารถแก้ไขได้และให้ที่อยู่ IP ของ Google ที่แท้จริง (ทุกเซิร์ฟเวอร์สามารถเข้าถึงได้โดยที่อยู่ IP เท่านั้น)

สารละลาย

/etc/resolv.confแก้ไขรายการใน ให้เซิร์ฟเวอร์ DNS ที่ถูกต้องสำหรับตัวเลือก/etc/resolve.confซึ่งสามารถแก้ไข "www.google.com"

หรือ y คุณสามารถระบุโปรแกรมแก้ไขระบบในเครื่องของคุณซึ่งมีที่อยู่ IP เป็น 127.0.0.53 โดยเพิ่มบรรทัด

nameserver 127.0.0.53

หรือระบุ IP เซิร์ฟเวอร์ DNS ของ Google (หนึ่งในนั้น): 8.8.8.8 หรือ 8.8.4.4

nameserver 8.8.8.8**

PS คุณสามารถเข้าใจได้ดีขึ้นว่า DNS ทำงานที่นี่ได้อย่างไร


-2

ปัญหาที่เรากล่าวถึงในที่นี้คือปัญหาที่ต้มลงมาเพื่อแก้ไขชื่อโดเมนให้เป็นที่อยู่ IP ภายใน ผมเชื่อว่าตั้งแต่เซิร์ฟเวอร์ Ubuntu เวอร์ชัน 15 ใช้ระบบไฟล์การตั้งค่าแบบไดนามิกที่เปลี่ยนแปลงทุกครั้งที่บริการหรือระบบรีสตาร์ทหรือรีบูต หากผู้ดูแลระบบทำการเปลี่ยนแปลงไฟล์ resolv.conf การเปลี่ยนแปลงเหล่านั้นจะถูกลบเมื่อเริ่มบริการตัวแก้ไข

เพื่อทำการเปลี่ยนแปลงอย่างถาวร Ubuntu ได้ทำการเปลี่ยนแปลงผู้ใช้อย่างถาวรโดยไม่มีผลต่อการกำหนดค่าแบบไดนามิกของไฟล์กำหนดค่า คำแนะนำจาก LD James (ด้านบน) คือการเพิ่มการเปลี่ยนแปลงที่ฉันต้องการใน/etc/resolvconf/resolv.conf.d/headไฟล์

host not foundนี่เองที่ทำให้การเปลี่ยนแปลงที่ถาวรและแก้ไขปัญหาของการแก้ไขชื่อโดเมนเกิดข้อผิดพลาด มันเป็นวิธีการแก้ปัญหาในการตั้งค่าเนมเซิร์ฟเวอร์ dns ในไฟล์อินเตอร์เฟสจากนั้นนำมันไปยังโปรแกรมแก้ไขเช่นกัน ขอบคุณทุกท่านสำหรับความพยายามสูงสุดในการแก้ปริศนานี้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.