วิธีตั้งค่า Wake-on-LAN (WoL) บน Ubuntu: เปิดคอมพิวเตอร์จากระยะไกลอย่างง่ายดาย

1. Wake-on-LAN (WoL) คืออะไร?

WoL คือเทคโนโลยีที่ใช้ส่งแพ็กเก็ตเครือข่ายพิเศษที่เรียกว่า “Magic Packet” เพื่อเปิดเครื่องคอมพิวเตอร์จากระยะไกล ตัวอย่างเช่น การจัดการเซิร์ฟเวอร์จากระยะไกล หรือการเข้าถึงคอมพิวเตอร์ที่บ้านขณะทำงานจากที่อื่น เหมาะกับหลายสถานการณ์

2. ตรวจสอบฮาร์ดแวร์ที่รองรับ WoL

การใช้งาน WoL ต้องมีการ์ดเครือข่ายหรือเมนบอร์ดที่รองรับฟังก์ชันนี้ สามารถตรวจสอบได้ด้วยคำสั่ง ethtool

ขั้นตอนการตรวจสอบการ์ดเครือข่าย

  1. รัน ethtool <ชื่ออุปกรณ์เครือข่าย> เพื่อตรวจสอบว่ารองรับ WoL หรือไม่ ถ้าผลลัพธ์มี “Supports Wake-on: g” แสดงว่าสามารถปลุกเครื่องด้วย Magic Packet ได้
  2. หากพบ “d: Disabled” ในผลลัพธ์ อาจเป็นเพราะ WoL ถูกปิดใช้งานใน BIOS หรือไดรเวอร์ของการ์ดเครือข่าย กรุณาตรวจสอบและตั้งค่าตามขั้นตอนการแก้ไขปัญหาด้านล่าง

3. การตั้งค่า WoL ใน BIOS

จำเป็นต้องเปิดใช้งาน WoL ใน BIOS ขั้นตอนทั่วไปมีดังนี้

ขั้นตอนการตั้งค่าใน BIOS

  1. รีสตาร์ทเครื่องคอมพิวเตอร์ แล้วกด F2, F12, หรือ Del เพื่อเข้าสู่ BIOS
  2. เปิดใช้งานหัวข้อ “Wake-on-LAN” หรือ “Wake on PCI Event” เป็นต้น
  3. หากมีโหมด Deep Sleep ให้ปิดการใช้งาน เพื่อให้ WoL ทำงานได้ดีขึ้น

4. การตั้งค่า WoL บน Ubuntu

บน Ubuntu สามารถเปิดใช้งาน WoL ได้ด้วย NetworkManager หรือ ethtool

ขั้นตอนการตั้งค่าด้วย NetworkManager

  1. ตรวจสอบชื่อการเชื่อมต่อปัจจุบันด้วย nmcli connection show แล้วเปิดใช้งาน WoL ด้วยคำสั่งด้านล่างนี้
   nmcli connection modify "<ชื่อการเชื่อมต่อ>" 802-3-ethernet.wake-on-lan magic

ขั้นตอนการตั้งค่าด้วย ethtool

  1. เปิดใช้ Magic Packet ด้วยคำสั่ง ethtool --change <ชื่ออุปกรณ์เครือข่าย> wol g
  2. เพื่อให้การตั้งค่ายังคงอยู่หลังรีบูต ให้เพิ่ม up ethtool -s <ชื่ออุปกรณ์> wol g ในไฟล์ /etc/network/interfaces หรือสร้าง systemd unit เพื่อให้สั่งงานอัตโนมัติขณะบูตเครื่อง

5. ข้อความแสดงข้อผิดพลาดทั่วไปและวิธีแก้ไข

ต่อไปนี้เป็นข้อความแสดงข้อผิดพลาดที่พบบ่อยขณะตั้งค่า WoL พร้อมสาเหตุและวิธีแก้ไข

netlink error: cannot enable unsupported WoL mode

  • สาเหตุ: เกิดขึ้นเมื่อการ์ดเครือข่ายหรือ BIOS ไม่รองรับ WoL
  • วิธีแก้ไข: ตรวจสอบให้แน่ใจว่าได้เปิด WoL ใน BIOS แล้ว และถ้าจำเป็นควรใช้การ์ดเครือข่ายที่รองรับ WoL

กรณีที่แสดง Wake-on: d

  • สาเหตุ: WoL ถูกปิดใช้งานอยู่
  • วิธีแก้ไข: เปิด WoL ใน BIOS และใช้คำสั่ง ethtool --change <ชื่ออุปกรณ์> wol g หากยังไม่ได้ผล ให้ตรวจสอบการตั้งค่าให้คงอยู่หลังรีบูต

Magic Packet ไม่ถึงเครื่อง

  • สาเหตุ: อาจเกิดจากการตั้งค่าเครือข่ายหรือเราเตอร์ที่บล็อกการกระจายแพ็กเก็ต WoL
  • วิธีแก้ไข: ตรวจสอบด้วย tcpdump -i <ชื่ออุปกรณ์เครือข่าย> 'udp and port 9' ว่าได้รับ Magic Packet หรือไม่ และตรวจสอบว่าใช้งานภายในเครือข่ายเดียวกัน

ไม่มีไฟสถานะที่พอร์ตเชื่อมต่อ

  • สาเหตุ: การ์ดเครือข่ายไม่ได้รับไฟเลี้ยง
  • วิธีแก้ไข: ตรวจสอบการตั้งค่า BIOS ให้ปิด Deep Sleep หรือโหมดประหยัดพลังงาน เพื่อให้ WoL ทำงานได้

6. การทดสอบและใช้งาน WoL จากระยะไกล

หลังตั้งค่า WoL แล้ว สามารถใช้ wakeonlan หรือ etherwake เพื่อส่ง Magic Packet จากระยะไกลและทดสอบว่า WoL ทำงานหรือไม่

การติดตั้งและใช้งานเครื่องมือ wakeonlan

  1. ติดตั้งเครื่องมือ wakeonlan
   sudo apt install wakeonlan
  1. ส่ง Magic Packet โดยระบุ MAC Address ด้วยคำสั่งต่อไปนี้
   wakeonlan <MAC Address>
  1. สามารถใช้ etherwake ได้เช่นกัน โดยใช้คำสั่ง sudo etherwake <MAC Address> เพื่อส่ง Magic Packet และตรวจสอบว่า WoL ทำงานถูกต้องหรือไม่

7. การแก้ไขปัญหาและข้อมูลเพิ่มเติม

โปรดดูแนวทางแก้ปัญหาเพิ่มเติมด้านล่างนี้

  • ตรวจสอบการใช้ไฟ AC: โดยปกติ WoL จะไม่ทำงานขณะใช้แบตเตอรี่บนโน้ตบุ๊ก กรุณาตรวจสอบว่ามีการเสียบปลั๊กไฟ AC อยู่
  • ตรวจสอบความสอดคล้องของเครื่องมือจัดการเครือข่าย: หาก WoL ถูกรีเซ็ตโดย NetworkManager หรือ systemd-networkd ให้ตรวจสอบการตั้งค่าให้สอดคล้องกันในแต่ละเครื่องมือ
侍エンジニア塾