O powerwake está tentando ativar um endereço MAC incorreto

1

Ao tentar ativar uma máquina remota (servidor ubuntu) do meu laptop usando powerwake host01.cluster , recebo uma mensagem dizendo:

INFO: Trying to wake host: [host01.cluster]
INFO: Sending magic packet to: [xxxxxxxxxxxx]

Infelizmente, xxxxxxxxxxxx é um endereço MAC incorreto e, portanto, não ocorre ativação remota da máquina remota.

Quando tento usar o endereço IP ( powerwake 192.168.1.101 ), ele também envia o pacote mágico para o endereço MAC errado.

Eu tenho a seguinte linha em /etc/hosts/

192.168.1.101   host01.cluster  host01

No entanto, posso ssh na máquina usando ssh host01 e ssh host01.cluster . Estou assumindo /etc/hosts , que eu configurei para endereços estáticos (no meu laptop) está sendo usado aqui para resolução.

Ao ler man powerwake , fornece uma hierarquia de quais caches ele procura para resolver nomes:

  1. /var/cache/powerwake/ethers
  2. /etc/ethers
  3. ou a tabela arp ( arp -n )

No meu laptop ( uname -r - > 4.2.0-35-generic ), o item 1 da lista de marcadores está vazio , não existe e o endereço MAC incorreto nem sequer existe na tabela arp -n .

Se eu executar sudo arp-scan -l no meu laptop, o endereço MAC incorreto também não será exibido.

A execução de sudo find /var/cache/ -type f -exec grep -il "host01" {} \; também não resulta em resultados.

Onde mais poderia um endereço MAC ser armazenado em cache? comprar ubuntu / powerwake ?

Eu gostaria de poder limpar o endereço MAC incorreto para que eu possa usar o powerwake para ativar essa máquina em particular remotamente.

sudo ethtool eth0 executado no remoto mostra que o WOL está ativado.

Settings for eth0:
    Supported ports: [ TP ]
    Supported link modes:   10baseT/Half 10baseT/Full 
                            100baseT/Half 100baseT/Full 
                            1000baseT/Full 
    Supported pause frame use: No
    Supports auto-negotiation: Yes
    Advertised link modes:  10baseT/Half 10baseT/Full 
                            100baseT/Half 100baseT/Full 
                            1000baseT/Full 
    Advertised pause frame use: No
    Advertised auto-negotiation: Yes
    Speed: 1000Mb/s
    Duplex: Full
    Port: Twisted Pair
    PHYAD: 1
    Transceiver: internal
    Auto-negotiation: on
    MDI-X: off (auto)
    Supports Wake-on: pumbg
    Wake-on: g
    Current message level: 0x00000007 (7)
                   drv probe link
    Link detected: yes
    
por Adrian Torrie 11.04.2016 / 08:13

1 resposta

0

Eu fui vasculhando /usr/bin/powerwake (apenas um script python) e encontrei uma referência a "%s/.cache/ethers" , então eu olhei no meu diretório home, e com certeza, esse arquivo estava presente ( cat ~/.cache/ethers ) que não era faz parte de man powerwake .

Este arquivo contém a referência incorreta para o endereço IP - > Mapeamento de endereço MAC que estava causando o problema.

Solução

De qualquer forma, eu deletei o arquivo ~/.cache/ethers , depois "esquentei" esse arquivo de cache novamente.

Aqueça o cache do powerwake

Primeiramente eu verifiquei minha tabela arp , como eu já tinha limpado, para ver o que estava lá. Nenhum dos controles remotos que eu queria contatar estava listado, então eu executei um simples ping -c 2 192.168.1.XXX em cada máquina que eu queria acordar (as máquinas remotas precisam estar ligadas e poder pingar). Isso os carregou na tabela arp (confirmada por arp -n ).

Eu então corri:

  • powerwake 192.168.1.XXX para cada máquina
  • powerwake hostXX para cada máquina novamente
  • Isso permitiu que o arquivo ~/.cache/ethers fosse carregado com cada entrada que correspondesse ao meu arquivo /etc/hosts no meu laptop
  • Execute cat ~/.cache/ethers para confirmar que o arquivo existe e foi preenchido com o endereço IP correto - > Mapeamento MAC
por Adrian Torrie 11.04.2016 / 10:22