如何在 Ubuntu 16.04 LTS 中启用网络唤醒(WOL)?
我想永远为我的网卡启用网络唤醒。该社区指南建议增加相关的命令/etc/network/interfaces。在过去编辑 Ubuntu conf 文件的经验中,极有可能在每次启动时重新编写网络接口文件,如果不是每次 apt 升级的话。确保每次启动都启用网络唤醒的最佳方法是什么?
我有一个安装了 ubuntu 的无头 HP Proliant 微服务器。这台机器上有 samba 共享服务媒体,我通常 rdp 或 ssh 进入它。现在我的问题是我希望机器进入睡眠模式(因此状态从内存保存到硬盘驱动器)并且它看起来像是在闲置一小时后关闭。
如果有任何尝试通过 LAN 访问 samba 共享,我希望它被唤醒。现在我的主板支持这个功能,谁能指出我正确的方向来轻松实现这个功能?
谢谢
问题很简单。
我必须使用什么脚本来通过 ssh 关闭网络中的计算机。
通常我会去命令行和:
ssh desktop
delik@desktop's password:
delik@desktop:~$ sudo shutdown -P 0
Run Code Online (Sandbox Code Playgroud)
为了开机,我创建了一个文件并写道:
wakeonlan xx:xx:xx:xx:xx:xx
Run Code Online (Sandbox Code Playgroud)
并给它可执行位
这种打开电源的方式只需要双击即可。我能做同样的关闭吗?
我想设置网络唤醒,两台电脑通过交换机连接。
这是eth0的配置,在BIOS中我找不到有关唤醒局域网的任何信息。
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Supported pause frame use: No
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Advertised pause frame use: Symmetric Receive-only
Advertised auto-negotiation: Yes
Link partner advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Link partner advertised pause frame use: Symmetric
Link partner advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: MII
PHYAD: 0
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: pumbg …Run Code Online (Sandbox Code Playgroud) 这是情况:
我通过局域网唤醒“wakeonlan”从另一台电脑启动我的主电脑。一切正常。当我完成我所做的事情后,我运行“sudo shutdown -h now”(在我工作的 ssh 终端中)来关闭计算机。但它没有关闭,而是重新启动。然后我必须通过 ssh 重新连接到它并再次运行关闭命令,然后它关闭并保持关闭状态。然后我可以通过局域网唤醒再次启动它...
有谁知道,为什么当我通过唤醒局域网启动时键入“sudo shutdown -h now”时,我的计算机实际上会重新启动?
关于电脑的一些信息:
Ubuntu 13.04
主板:Gigabyte GA-Z77X-UD3H
以太网控制器(如“lspci”所报告):Qualcomm Atheros AR8151 v2.0 千兆以太网(rev c0)
目前,我可以通过从 LAN 上的另一台设备发送一个魔术包来唤醒我的 PC。但是,当我从网络外部 (WAN) 发送数据包时,PC 不会开机,即使我已指示我的路由器将端口 9 上的 UDP 流量转发到 PC。如果我运行wireshark 在机器上并通过 WAN 发送魔法数据包,它确实被 PC 接收了。
这个相关的问题似乎表明 NAT 穿越以某种方式修改了数据包,这阻止了它实际唤醒 PC。接受的答案表明:
取消勾选“只允许魔术包唤醒计算机”
但是,此说明适用于 Windows 而不是 Ubuntu。
是否有等效的设置或命令可以指示我的网卡接受任何数据包?
我已按照https://help.ubuntu.com/community/WakeOnLan上的说明进行操作,但无法正常工作。我的 BIOS 启用了局域网唤醒,我已经能够使用 Windows 休眠/睡眠和相同的 NIC 来做到这一点。
更新:我现在的主要理论是(详见下文):
任何人都可以确认或否认吗?
几天前我安装了 Ubuntu 12.04,并在通过桌面菜单将 Ubuntu 机器置于待机状态后,通过从另一台 PC 发送 Magic Packets 来使 Wake-on-lan 工作。我做了 3 次,效果很好。然后突然就不行了!这怎么可能?!
我知道当 WOL 不起作用时,可能有 1000 件事情是错误的,但它连续工作 3 次这一事实排除了其中的大部分。它工作了 3 次(相隔几分钟),之后就再也没有工作过。在它工作的 3 次和以下 10 次不成功的尝试中,我唯一摆弄的是发送魔法数据包的 PC 上的防火墙,我很快关闭了防火墙以消除该潜在问题,并验证了数据包通过使用wireshark(当然是使用Ubuntu机器)。在测试开始前几个小时,我对 Ubuntu 进行了全面更新。
大多数时候我觉得我只是在盲目地测试各种东西。例如,是否有任何方法可以检查 NIC 的电源是否未关闭?并且“cat /proc/acpi/wakeup”被“禁用”是否意味着有问题?
我知道 WOL 上有很多线程,但没有一个线程可以完美运行 10 分钟然后无故停止工作。一些线程提到安装 12.04 后 WOL 的问题。我现在唯一剩下的想法是安装 Ubuntu 10。但这只是一个测试,而不是永久解决方案,并且是一个非常耗时的测试。而且我确信 RTL8111/RTL8168 在较旧的 Ubuntu 上没有得到正确支持(那些带有较旧 Ubuntu 的 NIC 存在重大问题),这使此类测试更加复杂。
你应该只需要阅读上面的文字来理解我的问题。但是对于深入的信息,以下是我所做的一些事实和测试:
我一直在尝试让 Wake On Lan 在我的 Ubuntu 服务器 (14.04.1 LTS) 上工作,我已将其配置为家用 NAS 盒。我已经遵循了几个教程来尝试使其正常工作,但是由于某种我无法追踪的原因,它不起作用。
系统是旧的(4-5岁)穿梭电脑系统(Shuttle SN78SH7),amd64 cpu(AMD Athlon 64 X2 7550)。
迄今为止采取的步骤
如果我使用 ethtool,我可以看到以下内容,我相信这意味着它已按预期配置。
Supports Wake-on: g
Wake-on: g
Run Code Online (Sandbox Code Playgroud)
我正在使用wolcmd(来自 mac)将魔术数据包发送到ifconfig eth0(到端口 9)中指定的 MAC 地址、IP 地址和子网。
我不确定接下来应该采取什么步骤来尝试解决问题。
更新
我可以证实,网络唤醒确实有时会工作,如果我暂停(pm-suspend),但不一样,如果我使用(halt -p或shutdown -h now)。暂停似乎真的很不稳定,所以使用它对我来说不太可能是一个好的答案。