Wake On Lan (WOL) Ubuntu'da 16.04 nasıl etkinleştirilir


26

Wake On Lan (WOL) Ubuntu 16.04 LTS’de nasıl etkinleştirilir?

Yanıtlar:


21

İşe yarayan daha iyi bir yol buldum. En azından daha temiz bir yol. Görünüşe göre Ubuntu , sistemd için başlangıç değiştirdi , Ubuntu 15.04, Ubuntu 16.04 ve muhtemelen sonraki sürümlerde de. İki sistemde de yeniyim ama bu benim için işe yaradı.

Bunu gönderiyorum çünkü Ubuntu 16 wol ve diğer benzer aramaları googling yaparken bu yazıyla birkaç kez karşılaştım. Bu başka birine yardımcı olabilir.

WOL'un çalışmaya devam etmesi için, sistemin her açılışında yeniden etkinleştirmem gerekiyordu. Bunu manuel olarak yapmaktan kaçınmak için bu amaçla systemd kullandım. Ben de öyle yaptım:

  1. İlk önce dosyayı oluşturun /etc/systemd/system/wol@.service(@ sembolünü saklayın). Bunu içine koy:

    [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. Bunu önyüklemedeki arayüz için etkinleştirin, aşağıdaki komutu çalıştırın (arayüzünüzle eth3'ü değiştirin):

    systemctl enable wol@eth3
    

    Böyle bir şey görmelisin:

    Created symlink from /etc/systemd/system/multi-user.target.wants/wol@eth3.service to /etc/systemd/system/wol@.service.
    
  3. Etkin olup olmadığını kontrol etmek için aşağıdaki komutu çalıştırın (arayüzünüzle eth3 değiştirin) ve geri dönmesi gerekir enabled:

    systemctl is-enabled wol@eth3
    
  4. Bunu test etmek için yeniden başlatın ve çalıştırın (arayüzünüzle eth3'ü değiştirin):

    ethtool eth3
    

    Aşağıdakileri içeren bir çizgi görmelisiniz:

    Wake-on: g
    

Kaynaklar:


2
+1 bu daha iyi. kabul edilen olmalı.
Stefanos Kalantzis

19

Ubuntu 16.04 setinde WOL_DISABLE=Nde /etc/default/tlpTLP güç yönetimi tarafından devre dışı WOL almamak için.

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

Kapatma sırasında ağ kartının kapanmasını önlemek için ekleyin NETDOWN=no./etc/default/halt

/etc/network/interfacesStatik ağ yapılandırması kullanıldığında LAN üzerinden Uyandırma özelliğini etkinleştirin .

# 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'ta lan'de uyanmayı etkinleştirin, BIOS kurulumuna girin ve "PCI olayında uyanma", "LAN'da uyanma" veya benzeri bir şey arayın. Etkin olacak şekilde değiştirin. Ayarlarınızı kaydedin ve yeniden başlatın.

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

Bazı anakartların / ağ kontrol cihazlarının uyarısı WOL'u soğuk bagajdan desteklemez (S5 durumu, sisteme giden gücün fiziksel olarak kapatılıp tekrar açıldığı). Bu durumda, en az bir güç döngüsü (güç açma, kapatma) gerçekleştirilmelidir. Sorunu azaltmak için, BIOS, AC geri yüklendiğinde açılacak ve daha sonra Ubuntu içinde bir kapanma zamanlayacak şekilde yapılandırılabilir. Daha fazla detay için anakartın kullanım kılavuzuna bakın.


Bu benim için 14.04 LTS'de çalıştı. Teşekkür ederim!
TenLeftFingers

Bu iki yorum hakkında WOL_DISABLE=Nve help.ubuntu.com/community/WakeOnLanNETDOWN=no
Alecz

3

WOL'un çalışması için ethernet arayüzünüzü kapatırken sisteminiz tarafından uygun şekilde kapatıldığından emin olun.

Takip etmeyi dene:

  1. Adlı bir bash komut dosyası oluşturun wol_poweroff.sh üzerinde /etc/rc6.d/ dizinde:

    sudo nano /etc/rc6.d/wol_poweroff.sh
    
  2. Bu kodu içine koy:

    #!/bin/bash
    ifconfig eth0 down
    poweroff
    
  3. /Etc/rc0.d dizinine kopyalayın (bu nedenle durma ile de çalışır ):

    sudo cp /etc/rc6.d/wol_poweroff.sh /etc/rc0.d/wol_poweroff.sh
    
  4. İkisini de çalıştırılabilir yapın:

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

Şimdi birlikte makinenizi kapatmadan çalışır olmadığını test sudo shutdown nowveya sudo poweroffve buna bir sihirli paket göndermek için WOL aracını kullanarak.


Bu benim için çalışan tek şeydi. Bu adımları launchpad.net'teki bir hata raporunda buldum.

Yazara göre, Robbie Williamson, bu, aşağıdakilerden dolayı işe yarıyor:

WOL'un çalışması için ethernet arayüzü sistemin kapatılmasının bir parçası olarak uygun şekilde indirilmelidir. Bu, Linux'un tipik olarak 7 farklı çalışma seviyesine (veya çalışma moduna) sahip olduğunu not ederek rc0 ve rc6 çalışma seviyelerinin bir parçası olarak gerçekleştirilmelidir:

rc0.d - Sistem Durduruldu

rc1.d - Tek Kullanıcı Modu

rc2.d - Ağ ile Tek Kullanıcı Modu

rc3.d - Çok Kullanıcı Modu - metin modunda önyükleme

rc4.d - Henüz Tanımlanmadı

rc5.d - Çoklu Kullanıcı Modu - X Windows'ta önyükleme

rc6.d - Kapat & Yeniden başlat


Kaynak: https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/981461


2

Terminalde aşağıdakileri çalıştırın:

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

Eğer bir görmelisiniz g yanındaki lan ardından ikinci komutu yazdıktan sonra

kaynak


2

NetworkManager kullanıyorsanız, WOL’u aşağıdaki yöntemlerle etkinleştirebilirsiniz nmcli:

nmcli connection show

İlgilendiğiniz CİHAZ için "802-3-ehternet" TİPİ bağlantısının ADI'nı unutmayın. Adının "Kablolu bağlantı 1" olduğunu söyle. Sonra doğru şekilde değiştirin:

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

MAC adresini almak için:

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

Bundan sonra kapatabilirsiniz ve aynı LAN üzerindeki başka bir makineden açın wakeonlan 1a:2b:3c:4d:5e:6fkomutu, 1a:2b:3c:4d:5e:6fbir önceki adımdaki LAN kartının MAC adresidir.


1

@Nkef tarafından önerilen parametrelerin yanı sıra , LAN bağdaştırıcısı için statik IP ayarları yerine DHCP kullanıyorsanız ( etc0 adında) / etc / network / arabirimlerinde aşağıdakileri ayarlayabilirsiniz :

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp
        ethernet-wol g

(Ubuntu 16.04 LTS'de test edilmiştir).


1

Bu sadece beni Ubuntu 18.04 (başsız / minimum kurulum) altında da ısırdı, maalesef burada listelenen cevaplar, zaman zaman çalışıyor gibi gözükse de, yarış koşulları yaratırken ya da sistem beğenileriyle savaşırken güvenilir bir çözüm sunmayacak, netplan ve udev.

Bu yaklaşımı ilk başta da denemiştim ve işe yarayacak gibiydi, her akşam WakeOnLan aracılığıyla sistem BIOS'u için programlanmış bir AC seçeneği sağlamadığından yedeklemeleri çalıştırmak üzere bir sistem başlatıyorum.

Birkaç gün çalışacak ve sonra uyandırmayı reddedecek, manuel olarak çalıştıracak ve ethtool çalıştıracak, WoL'un engellendiğini ortaya koydu:

    Wake-on: d

Bu yüzden, başka bir şeyin onu geri çevirmek zorunda kaldığını ve son birkaç yıl içinde sistemin başlarına devralarak karar verdiğim sistemli sistemlerle bu kadar çok sorun yaşadığını düşündüm:

WakeOnLan = .. .. Varsayılan olarak kapalı.

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

Çevrimiçi örnekler aşağıdakiler boyunca bir şey gösteriyor:

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

[Match]
MACAddress=<MAC ADDRESS>

[Link]
WakeOnLan=magic

Ne kadar bu hala işe yaramadı. Sonra buna rastladım:

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

hangi sonuçlandı:

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

Ve ne / run/systemd/network/10-netplan-eno1.link içinde ne bulurum?

[Match]
MACAddress=<MAC ADDRESS>

[Link]
Name=eno1
WakeOnLan=off

Çözüm Ya:

  1. netplan'ı kaldırmak,
  2. ağ yapılandırmasını bir netplan konfigürasyonu ile kurmak,
  3. veya systemd .link dosyasını daha yüksek bir önceliğe sahip olacak şekilde ayarlayın.

Ben zaten systemd .link dosyasına sahip olduğum için basitçe 00-wired.link olarak yeniden adlandırdım, yeniden başlattım ve şimdi ethtool eno1 raporları:

    Wake-on: g

Herhangi bir ekstra hizmet olmadan yalnızca WoL'yi etkinleştirmeye çalışmak amacıyla.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.