Eu tenho uma nova instalação de servidor GNU/Linux Debian 9.
Isto é o que eu recebo de 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
Então, você vê que o Magic Packet está ativado ( Wake-on: g
).
Estou acordando este computador do estado de desligamento assim:
./wolcmd 00********** 192.168.0.104 255.255.255.0 7 # I've hidden the MAC address here
do Cygwin no Windows 10 usando a linha de comando Depicus Wake On Lan .
O que não entendo é por que preciso especificar o endereço IP e a máscara ou o número da porta?
Por que o endereço MAC não é suficiente? Alguém poderia detalhar...
Um pacote mágico WoL pode ser enviado para a porta UDP 0, 7 ou 9 (dependendo do hardware em uso) ou como um pacote Ethernet bruto do tipo 0x0842.
wolcmd
optou por usar o método anterior, padronizando a porta 7.Observe que
wolcmd
ele suporta difusão UDP, o que significa que você pode especificar 255.255.255.255 como o endereço e a máscara se seu hardware e rede suportarem difusões TCP/IP. O pacote mágico só será interpretado pela máquina cujo endereço MAC ele contém; todos os outros irão ignorá-lo.A sintaxe usada é: wolcmd [endereço mac] [endereço ip] [máscara de sub-rede] [número da porta = 7]
O [endereço IP] e a [máscara de sub-rede] são usados nos casos em que você precisa ativar um computador pela Internet. O [endereço IP] não precisa ser um IP numerado, você pode usar um endereço nomeado ou endereço DDNS e seu DNS o converterá em um IP.
Ainda não confirmei isso, mas acho que, se você estiver ativando um computador em sua rede local, o [endereço IP] e a [máscara de sub-rede] não são realmente necessários. Você pode definir ambos para 255.255.255.255 e provavelmente funcionaria.
O [número da porta] é opcional e pode ser deixado de fora, padronizando a porta para 7.
Outra aplicação possível do [endereço ip] é dizer ao seu roteador para atribuir esse endereço ip a esse endereço mac assim que o computador estiver acordado e solicitando um endereço DHCP. Isso dependeria da inteligência do roteador e se esse endereço IP já não estivesse atribuído. (não tenho certeza se/como isso funcionaria na internet).
Talvez seja para ser usado em toda a internet. Especificar um endereço IP o enviaria para o roteador correto, onde poderia ser resolvido a partir daí. Se o computador tivesse um endereço IP estático na rede local, o roteador certamente poderia descobrir (talvez precisaria de uma configuração mais avançada do que um roteador de consumidor, mas posso ver o aplicativo.