כיצד להפעיל Wake-on-LAN (WOL) בלינוקס
התכונה Wake-on-LAN (WoL) מאפשרת לך להעיר מרחוק מחשב Linux על ידי שליחת חבילת Ethernet (חבילת קסם) מיוחדת המכילה את כתובת ה- MAC של המארח שברצונך להפעיל.
לפני הפעלת WoL ב-Linux, עליך לוודא שלוח האם שלך תומך בתכונה זו ולהפעיל אותה בהגדרת ה-BIOS. הפעל מחדש את המחשב המארח ופתח את הגדרות ה-BIOS (UEFI). השם של האפשרות WoL עשוי להשתנות בהתאם לספק, לדגם לוח האם ולגרסת הקושחה. אפשרות זו יכולה להיקרא
Wake on PCI/PCI-E,
Power or Resume on PCI/PCI-E,
S5 Wake on LAN. חפש והפעל אפשרות זו. שמור את הגדרות ה- BIOS.
הכלי ethtool משמש בדרך כלל לניהול Wake On LAN בלינוקס. התקן אותו:
$ sudo apt install ethtoolרשימת ממשקי רשת:
$ ifconfigהעתק את שם הממשק של מתאם ה- Ethernet LAN והפעל את הפקודה:
$ sudo ethtool enp3s0 | grep "Wake-on"במקרה זה, WoL מושבת (d).
הפעל Wake on LAN עבור המתאם הספציפי:
$ sudo ethtool --change enp3s0 wol gהאפשרות Wake On Lan אמורה להשתנות ל-g (Wake on MagicPacket).
ה '
netlink error: cannot enable unsupported WoL mode (offset 36)' מציין ש- WoL אינו נתמך על-ידי מתאם הרשת או אינו זמין ב- BIOS.
עכשיו אתה יכול להעיר מרחוק את מארח Linux שלך. עם זאת, אפשרות WoL של ממשק הרשת תתאפס בעת אתחול מחדש. קיימות מספר דרכים להפעיל באופן אוטומטי את Wake on LAN עבור המתאם בעת אתחול המחשב.
NetworkManager הוא כלי ברירת המחדל לניהול רשתות בהפצות לינוקס רבות, כולל אובונטו, רוקי ודביאן. במנהל הרשתות, באפשרותך להפעיל WoL עבור מתאם באמצעות הפקודה nmcli:
$ nmcli con showהעתק את השם של חיבור ה- Ethernet (קווי בדוגמה זו) והפעל את WoL:
$ sudo nmcli c modify "wired" 802-3-ethernet.wake-on-lan magicודא ש- Wake on LAN מופעל בממשק:
$ nmcli c show "wired" | grep 802-3-ethעבור הפצות לינוקס אחרות, אתה יכול להשתמש systemd כדי להפעיל WakeOnLan בעת האתחול. צור יחידה מערכתית חדשה:
$ sudo systemctl edit wol.service --full --forceהוסף את התצורה הבאה:
[Unit]
Description=Enable Wake-on-LAN
After=network-online.target
[Service]
Type=oneshot
ExecStart=/sbin/ethtool --change enp3s0 wol g
[Install]
WantedBy=network-online.target
הפעל את השירות:
$ sudo systemctl daemon-reload
$ sudo systemctl enable wol.service
$ sudo systemctl start wol.serviceודא שהשירות פועל:
$ systemctl status wol
עכשיו אתם יכולים לבדוק איך Wake on Lan עובד על שירות האחסון הזה. העתק את כתובת ה- MAC של מתאם הרשת שבו הפעלת את WoL.
ודא שמצב שינה מופעל ב-Linux:
$ sudo systemctl status sleep.target suspend.target hibernate.target hybrid-sleep.targetהעבר את מארח Linux למצב שינה:
$ sudo systemctl suspendכדי לשלוח חבילת קסם בלינוקס, אתה יכול להשתמש בכלי wakeonlan או etherwake:
$ sudo apt-get install wakeonlan etherwakeכדי להעיר מחשב מרחוק, הזן את כתובת ה- MAC שלו (מנות WoL אינן מנותבות, ולכן מחשבים חייבים להיות באותו קטע LAN):
wakeonlan <MAC-address>או:
etherwake <MAC-address>לאחר קבלת חבילת הקסם, המחשב צריך להתעורר. שים לב ש-WoL אינו דורש פתיחת היציאה בחומת האש של Linux. חבילת השידור WoL UDP מתקבלת ומעובדת ישירות על-ידי מתאם הרשת מבלי להשתמש במחסנית הרשת של Linux.




