Maneira correta de alterar o endereço MAC em uma VM Linux?

Maneira correta de alterar o endereço MAC em uma VM Linux?

Tentei alterar o endereço MAC em uma VM do Ubuntu (virtualbox), mas depois disso ocorreu muitos erros durante a inicialização e não tive conexão com a internet.

Então vi que a interface foi renomeada para eth1, então editei /etc/network/interfaces para mudar eth0 para eth1, reiniciei (não sabia como reiniciar a rede) e a inicialização agora estava mais rápida e a internet funcionou bem.

Mas agora, sempre que faço login, recebo 1 ou 2 mensagens de erro que não dizem nada, só me perguntam se quero denunciá-las.

Então, eu queria saber se existe uma maneira adequada de alterar o endereço MAC para evitar esses problemas?

Responder1

É muito provável que você esteja usando o método “correto” para alterar o endereço MAC, se estiver fazendo isso nas configurações avançadas de rede do VirtualBox. No entanto, uma alteração temporária como na outra resposta de Zuul pode ser melhor para seus propósitos, pois alterará o MAC sem causar muitos problemas adicionais - no entanto, não sobreviverá a uma reinicialização.

É claro que alterá-lo no VirtualBox sobreviverá a uma reinicialização, mas o problema que você está enfrentando é com o udev. Este é o processo que analisa o hardware e o configura /dev(ou qualquer outra coisa que precise ser feita). Uma das coisas que ele faz por padrão é tentar manter nomes persistentes para placas de interface de rede [nics]. Isso ocorre porque quando você tem vários nics, você deseja que eles sempre tenham o mesmo nome ethX, para que sua /etc/network/interfacesconfiguração tenha como alvo o nic correto a cada inicialização. O sistema operacional não pode confiar que eles estejam fisicamente no mesmo local todas as vezes - você pode movê-los, por exemplo, ou alguns sistemas não relatam suas conexões físicas na mesma sequência a cada inicialização.

Portanto, udevutiliza regras de persistência baseadas no endereço MAC da placa de rede. Se houver uma entrada para eth1 com um endereço MAC conhecido e um cartão aparecer com um endereço MAC diferente, ele alocará um nome de dispositivo ethX diferente para a interface.

Para combater isso, você só precisa atualizar as udevregras. Editar:

vi /etc/udev/rules.d/70-persistent-net.rules

e procure a linha com seu MAC atual:

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="11:22:33:44:55:66", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

Se você alterar o endereço MAC aqui para o novo escolhido nas configurações do VirtualBox, ele manterá o mesmo número de desenvolvimento ethX na próxima inicialização.

A melhor sequência provavelmente seria editá-lo aqui primeiro, depois desligar a VM, depois editar a configuração VB MAC e depois inicializar.

Responder2

Você pode alterar o endereço MAC em 4 etapas simples usandoifconfig:

Abra um terminal (atalho de teclado: ctrl+ alt+ t)

  1. Encontre o endereço MAC atual:

    ifconfig | grep HWaddr
    
  2. Desligue a interface (presumindo que seja eth0para as próximas etapas) :

    ifconfig eth0 down
    
  3. Defina o novo endereço MAC:

    ifconfig eth0 hw ether 00:1E:68:35:FF:91
    
  4. Flag faz com que a interface seja ativada:

    ifconfig eth0 up
    

Agora você pode verificar novamente o endereço MAC da interface:

ifconfig eth0 |grep HWaddr

Observação:Você pode escolher qualquer endereço hexadecimal de 48 bits como seu endereço MAC.


Para fins de integridade, você pode combinar as etapas 2 e 3 em uma linha:

ifconfig eth0 down hw ether 00:00:00:00:00:01

informação relacionada