Ubuntu 16.04 में लैन पर लैन (WOL) को कैसे सक्षम करें


26

Ubuntu 16.04 LTS में वेक ऑन लैन (WOL) कैसे सक्षम करें?

जवाबों:


21

मैंने एक बेहतर तरीका ढूंढ लिया है जो मेरे लिए काम करता है। कम से कम एक क्लीनर रास्ता। जाहिरा तौर पर उबंटू बदल नवोदय के लिए systemd उबंटू 15.04, उबंटू 16.04 में, और शायद अगले संस्करण भी। मैं दोनों प्रणालियों के लिए नया हूं लेकिन यह मेरे लिए काम कर रहा है।

मैं इस पोस्ट कर रहा हूँ क्योंकि, जबकि googling उबंटू 16 wol और अन्य मिलती-जुलती खोजों मैं इस पोस्ट को कई बार साथ भर में आया था। यह किसी और की मदद कर सकता है।

WOL को काम पर रखने के लिए, मुझे हर बार सिस्टम बूट होने पर इसे फिर से सक्षम करना पड़ा। मैन्युअल रूप से ऐसा करने से बचने के लिए मैंने इस उद्देश्य के लिए सिस्टमड का उपयोग किया। यह जो मैंने किया है:

  1. सबसे पहले, फ़ाइल बनाएं /etc/systemd/system/wol@.service(@ प्रतीक रखें)। इसे इसमें डालें:

    [Unit]
    Description=Wake-on-LAN for %i
    Requires=network.target
    After=network.target
    
    [Service]
    ExecStart=/sbin/ethtool -s %i wol g
    Type=oneshot
    
    [Install]
    WantedBy=multi-user.target
    
  2. बूट पर इंटरफ़ेस के लिए इसे सक्षम करें, निम्न कमांड चलाएं (अपने इंटरफेस के साथ eth3 बदलें):

    systemctl enable wol@eth3
    

    आपको कुछ इस तरह से देखना चाहिए:

    Created symlink from /etc/systemd/system/multi-user.target.wants/wol@eth3.service to /etc/systemd/system/wol@.service.
    
  3. यदि यह सक्षम है, तो जांच करने के लिए, निम्न कमांड चलाएं (अपने इंटरफेस के साथ eth3 बदलें) और इसे वापस आना चाहिए enabled:

    systemctl is-enabled wol@eth3
    
  4. इसका परीक्षण करने के लिए, रिबूट और रन करें (अपने इंटरफेस के साथ eth3 बदलें):

    ethtool eth3
    

    आपको निम्नलिखित के साथ एक पंक्ति देखनी चाहिए:

    Wake-on: g
    

सूत्रों का कहना है:

  • SystemdForUpstartUsers - उबंटू विकी
  • वेक-ऑन-लैन - ArchWiki
  • systemd - आर्चविकि
  • कल का नवाब:

    अपस्टार्ट / sbin / init डेमॉन के लिए एक इवेंट-आधारित प्रतिस्थापन है जो बूट के दौरान कार्यों और सेवाओं की शुरुआत को संभालता है, शटडाउन के दौरान उन्हें रोक देता है और सिस्टम चालू होने पर उनकी देखरेख करता है।
    - अपस्टार्ट - ईवेंट-आधारित इनिट डेमॉन

  • systemd:

    systemd एक Linux सिस्टम के लिए बुनियादी बिल्डिंग ब्लॉक्स का एक सूट है। यह एक सिस्टम और सर्विस मैनेजर प्रदान करता है जो PID 1 के रूप में चलता है और बाकी सिस्टम को शुरू करता है। (...)
    - सिस्टमड


2
+1 यह तरीका बेहतर है। स्वीकार किया जाना चाहिए।
स्टेफानोस कलंतज़िस

19

उबंटू में 16.04 WOL_DISABLE=Nमें /etc/default/tlpटीएलपी पावर मैनेजमेंट द्वारा वीओएल को अक्षम होने से बचाने के लिए सेट किया गया है।

http://linrunner.de/en/tlp/docs/tlp-configuration.html

जोड़े NETDOWN=noमें /etc/default/haltशटडाउन के दौरान नेटवर्क कार्ड पावर बंद करने को रोकने के लिए

/etc/network/interfacesस्थिर नेटवर्क कॉन्फ़िगरेशन का उपयोग करने पर LAN पर जागो सक्षम करें ।

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface

auto lo
iface lo inet loopback
# The primary network interface

auto eth0
iface eth0 inet static
        address 192.168.0.10
        netmask 255.255.255.0
        gateway 192.168.0.1
        dns-nameservers 192.168.0.1
        up ethtool -s eth0 wol g

BIOS में लैन पर वेक सक्षम करें, BIOS सेटअप में प्रवेश करें और "पीसीआई इवेंट पर वेक अप", "लैन पर जागो" या इसी तरह की चीज को देखें। इसे बदलें ताकि यह सक्षम हो। अपनी सेटिंग्स सहेजें और रिबूट करें।

https://help.ubuntu.com/community/WakeOnLan

कुछ मदरबोर्ड / नेटवर्क नियंत्रकों को चेतावनी दें कि कोल्ड बूट (S5 स्थिति, जहां सिस्टम की शक्ति को भौतिक रूप से बंद कर दिया गया है और वापस फिर से) पर WOL का समर्थन नहीं करता है। उस स्थिति में, कम से कम एक शक्ति चक्र (पावर अप, शटडाउन) का प्रदर्शन करना होगा। समस्या को कम करने के लिए, AC को पुनर्स्थापित करने पर BIOS को पावर अप करने के लिए कॉन्फ़िगर किया जा सकता है और बाद में उबंटू के अंदर एक शटडाउन शेड्यूल किया जा सकता है। आगे के विवरण के लिए मदरबोर्ड के मैनुअल का संदर्भ लें।


इसने मेरे लिए 14.04 LTS पर काम किया। धन्यवाद!
टेनएलफ्टफिंगर

उन दो टिप्पणियों के बारे में WOL_DISABLE=Nऔर मदद NETDOWN=noका हिस्सा होना चाहिए ।ubuntu.com
community/

3

WOL को काम करने के लिए, सुनिश्चित करें कि जब आप पॉवरऑफ करते हैं, तो आपके ईथरनेट इंटरफेस को आपके सिस्टम द्वारा ठीक से बंद किया जा रहा है।

निम्नलिखित प्रयास करें:

  1. /Etc/rc6.d/ निर्देशिका पर wol_poweroff.sh नामक एक बैश स्क्रिप्ट बनाएं :

    sudo nano /etc/rc6.d/wol_poweroff.sh
    
  2. इस कोड को इसमें डालें:

    #!/bin/bash
    ifconfig eth0 down
    poweroff
    
  3. इसे /etc/rc0.d निर्देशिका पर कॉपी करें (इसलिए यह भी रुके हुए काम करता है ):

    sudo cp /etc/rc6.d/wol_poweroff.sh /etc/rc0.d/wol_poweroff.sh
    
  4. उन दोनों को निष्पादन योग्य बनाएं:

    sudo chmod 755 /etc/rc6.d/wol_poweroff.sh
    sudo chmod 755 /etc/rc0.d/wol_poweroff.sh
    

अब यह देखने के लिए परीक्षण करें कि क्या यह एक जादुई पैकेट भेजने के लिए WOL टूल का उपयोग कर रहा है sudo shutdown nowया sudo poweroffनहीं।


बस यही एक चीज थी जो मेरे लिए काम करती थी। मुझे लॉन्चपैड.नेट पर एक बग रिपोर्ट में वे चरण मिले।

लेखक के अनुसार, रॉबी विलियमसन, यह निम्नलिखित के कारण काम करता है:

WOL को काम करने के लिए ईथरनेट इंटरफ़ेस को सिस्टम शटडाउन के हिस्से के रूप में ठीक से नीचे लाया जाना चाहिए। इसे रन स्तर rc0 और rc6 के भाग के रूप में प्रदर्शित किया जाना चाहिए, यह ध्यान में रखते हुए कि लिनक्स में आमतौर पर 7 अलग-अलग रन स्तर होते हैं (या अन्य मोड):

rc0.d - सिस्टम रुका हुआ

rc1.d - एकल उपयोगकर्ता मोड

rc2.d - नेटवर्किंग के साथ एकल उपयोगकर्ता मोड

rc3.d - बहु-उपयोगकर्ता मोड - पाठ मोड में बूट करें

rc4.d - अभी तक परिभाषित नहीं है

rc5.d - बहु-उपयोगकर्ता मोड - एक्स विंडोज में बूट करें

rc6.d - शटडाउन और रिबूट


स्रोत: https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/981461


2

टर्मिनल में निम्नलिखित चलाएँ:

sudo ethtool -s {your network interface} wol g 
sudo ethtool {your network interface}

आपको दूसरी कमांड लिखने के बाद लैन पर जागने के लिए अगले जी को देखना चाहिए

स्रोत


2

यदि आप NetworkManager का उपयोग करते हैं, तो आप WOL को इसके माध्यम से सक्षम कर सकते हैं nmcli:

nmcli connection show

ब्याज के मूल्य के लिए "802-3-एहर्नेट" TYPE के कनेक्शन का NAME याद रखें। इसे नाम दें "वायर्ड कनेक्शन 1"। फिर इसे ठीक से संशोधित करें:

nmcli connection modify "Wired connection 1" 802-3-ethernet.wake-on-lan magic

इसका मैक एड्रेस पाने के लिए:

nmcli connection show "Wired connection 1" | grep 802-3-ethernet.mac-address

अब से आप इसे बंद कर सकते हैं और wakeonlan 1a:2b:3c:4d:5e:6fकमांड द्वारा उसी लैन पर दूसरी मशीन से चालू कर सकते हैं , जहां 1a:2b:3c:4d:5e:6fपिछले चरण से लैन कार्ड का मैक पता है।


1

@Nkef द्वारा सुझाए गए मापदंडों के अलावा, आप निम्नलिखित को / etc / नेटवर्क / इंटरफेस में सेट कर सकते हैं यदि आप LAN एडाप्टर के लिए स्थिर IP सेटिंग्स के बजाय DHCP का उपयोग करते हैं (यहाँ eth0 नाम दिया गया है):

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp
        ethernet-wol g

(उबंटू 16.04 एलटीएस पर परीक्षण किया गया)।


1

यह सिर्फ मुझे उबंटू 18.04 (हेडलेस / मिनिमम इन्स्टॉल) के तहत भी देता है, दुर्भाग्यवश यहां पहले से सूचीबद्ध उत्तर हालांकि वे कभी-कभी काम करते दिख सकते हैं क्योंकि वे एक विश्वसनीय समाधान प्रदान नहीं करने जा रहे हैं क्योंकि वे रेस की स्थिति बनाते हैं या सिस्टेम की पसंद से लड़ते हैं, netplan और udev।

मैंने पहले भी इस दृष्टिकोण की कोशिश की थी और यह काम करने लगा था, मैं बैकअप चलाने के लिए वेकेनएलन के माध्यम से प्रत्येक शाम को बूट करने के लिए एक सिस्टम शेड्यूल कर रहा हूं क्योंकि सिस्टम BIOS विकल्प पर एक अनुसूचित एसी प्रदान नहीं करता है।

यह कुछ दिनों के लिए काम करेगा और फिर जागने से इनकार कर सकता है, इसे मैन्युअल रूप से बिजली देने और एथलूल चलाने से पता चलता है कि WoL हो गया है:

    Wake-on: d

इसलिए मुझे लगा कि कुछ और इसे वापस बंद करना होगा और पिछले कुछ वर्षों में सिस्टम के कुछ हिस्सों को लेने के साथ कई ऐसे मुद्दे थे जिन्हें मैंने यहां शुरू करने का फैसला किया, लो और निहारना:

वेकोऑनलाइन = .. .. डिफॉल्ट करता है।

https://www.freedesktop.org/software/systemd/man/systemd.link.html

ऑनलाइन की तर्ज पर उदाहरण कुछ दिखाते हैं:

/etc/systemd/network/50-wired.link

[Match]
MACAddress=<MAC ADDRESS>

[Link]
WakeOnLan=magic

कैसे यह अभी भी काम नहीं कर रहा था। फिर मैं इस पार आया:

udevadm test-builtin net_setup_link  /etc/systemd/network/50-wired.link

जिसके परिणामस्वरूप:

Load module index
Parsed configuration file /lib/systemd/network/99-default.link
Parsed configuration file /etc/systemd/network/50-wired.link
Parsed configuration file /run/systemd/network/10-netplan-eno1.link

और मुझे /run/systemd/network/10-netplan-eno1.link में क्या मिलता है?

[Match]
MACAddress=<MAC ADDRESS>

[Link]
Name=eno1
WakeOnLan=off

समाधान या तो:

  1. नेटप्लान निकालें,
  2. नेटप्लान कॉन्फ़िगरेशन के माध्यम से सेटअप नेटवर्किंग,
  3. या उच्च प्राथमिकता वाले systemd .link फ़ाइल को सेट करें।

जैसा कि मेरे पास पहले से ही systemd .link फ़ाइल थी, मैंने बस इसका नाम बदलकर 00-wired.link कर दिया, रिबूट किया और अब ethtool eno1 रिपोर्ट:

    Wake-on: g

बिना किसी अतिरिक्त सेवाओं के केवल वाह को सक्षम करने के उद्देश्य से।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.