我有一个新的 GNU/Linux Debian 9 服务器安装。
这就是我从中得到的ethtool
:
root@web-server:~# ethtool enp2s0
Settings for enp2s0:
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 Receive-only
Link partner advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: MII
PHYAD: 0
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: pumbg
Wake-on: g
Current message level: 0x00000033 (51)
drv probe ifdown ifup
Link detected: yes
因此,您会看到 Magic Packet 已打开 ( Wake-on: g
)。
我正在将这台计算机从关机状态唤醒,如下所示:
./wolcmd 00********** 192.168.0.104 255.255.255.0 7 # I've hidden the MAC address here
从 Windows 10 上的 Cygwin 使用Depicus Wake On Lan Command Line。
我不明白的是,为什么我需要指定 IP 地址和掩码或端口号?
为什么MAC地址不够用?谁能详细说明...
WoL 魔术包可以发送到 UDP 端口 0、7 或 9(取决于使用的硬件)或作为 0x0842 类型的原始以太网数据包。
wolcmd
已选择使用前一种方法,默认使用端口 7。请注意,它
wolcmd
确实支持 UDP 广播,这意味着如果您的硬件和网络支持 TCP/IP 广播,您可以指定 255.255.255.255 作为地址和掩码。魔术包只会被它包含的 MAC 地址的机器解释;所有其他人都会忽略它。使用的语法是:wolcmd [mac 地址] [ip 地址] [子网掩码] [端口号 = 7]
[IP 地址] 和 [子网掩码] 用于需要通过 Internet 唤醒计算机的情况。[ip 地址] 不必是编号的 IP,您可以使用命名地址或 DDNS 地址,您的 DNS 会将其转换为 IP。
我还没有确认这一点,但我猜想,如果你正在唤醒本地网络上的计算机,那么 [ip 地址] 和 [子网掩码] 并不是真正需要的。您可以将它们都设置为 255.255.255.255,它可能会起作用。
[端口号] 是可选的,可以将端口默认设置为 7。
[ip 地址] 的另一个可能应用是告诉您的路由器在计算机唤醒并请求 DHCP 地址后将该 IP 地址分配给该 MAC 地址。这将取决于路由器的智能以及该 IP 地址是否尚未分配。(不确定是否/如何在互联网上工作)。
也许它会在互联网上使用。指定 IP 地址会将其发送到正确的路由器,然后从那里对其进行分类。如果计算机在本地网络上有一个静态 IP 地址,那么路由器当然可以计算出来(也许它需要比消费者路由器更高级的配置,但我可以看到应用程序。