Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การแก้ไขปัญหา >> ข้อผิดพลาด Windows

แก้ไข: ERR_ICAN_NAME_COLLISION

Name collision เกิดขึ้นเมื่อพยายาม resolve ชื่อที่ใช้ใน private namespace เช่น Top-Level Domain หรือ unqualified name ทำให้เกิด query ไปยัง public Domain Name System (DNS) เมื่อขอบเขตการบริหารของ private และ public namespaces ทับซ้อน การ resolve ชื่ออาจให้ผลลัพธ์ที่ไม่ได้ตั้งใจหรือเป็นอันตราย

แก้ไข: ERR_ICAN_NAME_COLLISION

สาเหตุของ ERR_ICAN_NAME_COLLISION

อาจเกิดจาก hostname ส่วนใหญ่ แต่อาจมีสาอื่น เช่น:

  • Syntax หรือ Names ผิด: ปัญหาพื้นฐานเช่นชื่อ hosts file ควรเป็น hosts ไม่ใช่ host โดยไม่มีนามสกุล Syntax ผิดเพียงอย่างเดียวอาจทำให้โปรแกรมทั้งหมดเสียหาย
  • White spaces: ห้โค้ดคัดลอกมาจากที่อื่น อาจมีช่องว่างหลายช่อง
  • Permissions และ Proxies: บางครั้งมีปัญหา permission บนไฟล์หรือ file attributes หากมี proxy ตั้งค่าบนระบบ อาจ bypass hosts file การไม่ใช้ proxy เป็นตัวเลือกที่ดีกว่าเพื่อลดปัญหา

ตอนนี้เข้าใจลักษณะปัญหาแล้ว เราจะไปต่อที่วิธีแก้

วิธีที่ 1: ตรวจสอบให้แน่ใจว่า hosts File ถูกต้อง

ก่อนตรวจสอบปัญหาที่อื่น ตรวจสอบว่า hosts file ทำงานถูกต้อง การแก้ไขพื้นฐานของ hosts file:

  • ชื่อไฟล์ควรเป็น "hosts" ไม่ใช่ host
    หา hosts file ได้ที่:

    C:\Windows\System32\drivers\etc
    แก้ไข: ERR_ICAN_NAME_COLLISION
  • ไม่ควรมีนามสกุลสำหรับ hosts file
    หมายเหตุ: ตรวจสอบนามสกุล เนื่องจาก Windows มีตัวเลือกซ่อนนามสกุลในแท็บ view
    หาแท็บ view ในแถบเมนู file explorer's

    แก้ไข: ERR_ICAN_NAME_COLLISION
  • Syntax ใน hosts file ควรถูกต้อง
  • ตรวจสอบ variants ทั้งหมด (www.example.com และ example.com) บางครั้งอันหนึ่งทำงานแต่อีกอันไม่ทำงาน เพิ่มทั้งคู่เพื่อความปลอดภัยแก้ไข: ERR_ICAN_NAME_COLLISION

ตรวจสอบว่า hosts file ทำงานหรือไม่โดยพิมพ์คำสั่งต่อไปใน CMD (Admin Mode)

  1. ไปที่ CMD ใน Start menu หรือค้นหาในแถบค้นหา
    หมายเหตุ: Windows เก่าจะเป็น: Start > All Programs > Accessories
  2. คลิกขวา CMD เลือก "Run as Administrator"แก้ไข: ERR_ICAN_NAME_COLLISION
  3. พิมพ์คำสั่งนี้ใน cmd และ enter:
    ipconfig /flushdns 
    แก้ไข: ERR_ICAN_NAME_COLLISION

    จะลบข้อมูลเก่าที่อาจถูกใช้

  4. พิมพ์ entry address ที่เพิ่มใน hosts file เพื่อตรวจสอบว่าใช้ IP ถูกต้อง
    ping example.com –n 1 ping -6 ipv6.example.com –n 1 
    แก้ไข: ERR_ICAN_NAME_COLLISION
  5. หาก IP ถูกต้อง แปลว่า hosts file ทำงานดี และปัญหาอยู่ที่อื่น
  6. แต่ถ้า IP test ล้มเหลว สามารถ reset NetBios cache ด้วยคำสั่งนี้ใน cmd (admin mode):
    nbtstat –r
  7. ตรวจสอบข้อมูลปัจจุบันใน DNS cache ด้วยคำสั่งใน cmd (normal mode):
    ipconfig /displaydns | more 
    แก้ไข: ERR_ICAN_NAME_COLLISION

วิธีที่ 2: ตรวจสอบ Whitespace

ช่องว่างเพียงช่องเดียวแม้ในบรรทัดว่างระหว่างสองบรรทัด ก็ทำให้สิ่งต่างๆ เสียหาย Notepad++ ช่วยแสดงตัวอักษรและตรวจสอบจำนวน whitespace characters หากคัดลอก host entries จากที่อื่น อาจมีช่องว่างหลายช่อง เพื่อให้แน่ใจว่า spaces ไม่ทำให้เสียหาย ใช้ spaces หรือ tabs อย่างใดอย่างหนึ่ง ไม่ใช่ทั้งคู่ และจบไฟล์ด้วยบรรทัดว่าง

วิธีที่ 3: ตรวจสอบและแก้ไข Registry

หา key ใน Registry Editor ที่ระบุตำแหน่งของ hosts file สามารถตรวจสอบ entry ใน key ได้ หากไม่ถูกต้อง สามารถแก้ไขได้ นอกจากนี้ สำหรับผู้ที่ขาด key ใน registry หรือ entry อื่นๆ หลายอย่าง สามารถสร้างได้หรือคัดลอกจากเครื่องอื่นที่มีอยู่แล้ว

  1. เปิด "Run" โดยกด Windows + R
  2. พิมพ์ regedit และ enterแก้ไข: ERR_ICAN_NAME_COLLISION
  3. ไปที่ไดเรกทอรีต่อไปใน Registry Editor:
    \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\DataBasePath 
    แก้ไข: ERR_ICAN_NAME_COLLISION
  4. DataBasePath คือ key ที่จะตรวจสอบ entry ในมันควรเป็น:
    C:\\Windows\System32\drivers\etc

วิธีที่ 4: สร้าง hosts File ใหม่พร้อม Default Permissions

Permission ของ hosts file ที่มีอยู่อาจมีปัญหา สามารถสร้างใหม่และคัดลอกเนื้อหาเดิมไปไฟล์ใหม่ hosts file เก่าจะมีเครื่องหมายถูกสีเทา ในขณะที่ใหม่จะเป็นสีดำ นี่จะทำให้ระบบสร้างไฟล์ใหม่ด้วย default permissions ทำตามขั้นตอน:

  1. สร้าง text file ใหม่บน Desktop
  2. เปิด Notepad เป็น Administratorแก้ไข: ERR_ICAN_NAME_COLLISION
  3. คลิก File แล้ว Open
  4. ไปที่ตำแหน่ง:
    C:\\Windows\System32\drivers\etc
  5. หา "hosts" file เปิด เลือกข้อความทั้งหมด copy แก้ไข: ERR_ICAN_NAME_COLLISION
  6. วาง paste ลงใน text file ที่สร้างบน Desktop
  7. เปลี่ยนชื่อเป็น "hosts" โดยไม่มีนามสกุล
  8. ขั้นตอนนี้มีลูกเล่น ต้อง copy (อย่าย้าย) hosts file ใหม่ไปทับไฟล์เดิม
    หมายเหตุ: บางคน copy ได้ บางคน move ได้ ลอง copy ก่อน

หากอ่าน hosts file เก่าไม่ได้ ทำตามขั้นตอน:

  1. ไปที่ไดเรกทอรี:
    C:\\Windows\System32\drivers\etc
  2. คลิกขวา "hosts" file เลือก "Properties"
  3. ไปแท็บ "Security"
  4. ในกล่อง "Group or usernames" หา
    %COMPUTERNAME%\Users 
    แก้ไข: ERR_ICAN_NAME_COLLISION
  5. ตรวจสอบ permissions ในกล่องด้านล่าง ดูว่า User ได้รับอนุญาตหรือไม่
  6. หาก User ไม่ได้รับอนุญาต คลิก "Edit" ติ๊กกล่องต่อไปนี้เพื่ออนุญาต User:
    Read & Execute

    แก้ไข: ERR_ICAN_NAME_COLLISION
  7. ตอนนี้จะแก้ไข hosts file ใน notepad ได้โดยเปิดเป็น Administrator

วิธีที่ 5: ตรวจสอบปัญหา Proxy

วิธีนี้เกี่ยวกับ: หากมี proxy ตั้งค่าบนระบบซึ่งอาจ bypass hosts file ในวิธีนี้ เราจะตรวจสอบว่าระบบรัน proxy อยู่หรือไม่ ตรวจสอบได้ใน Internet Explorer ด้วยขั้นตอน:

  1. ค้าง Windows Key กด R พิมพ์ inetcpl.cpl คลิก OK
  2. เลือก แท็บ Connections คลิก LAN settings
  3. ตรวจสอบว่า "Automatically detect settings" ติ๊ก และ Proxy server ไม่ติ๊ก หลังตรวจสอบ proxy settings ดูว่าปัญหาแก้ไขได้หรือไม่แก้ไข: ERR_ICAN_NAME_COLLISION