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

13

Eu tentei mudar o endereço MAC em uma VM do ubuntu (virtualbox), mas depois disso eu joguei muitos erros durante a inicialização, e então eu não tinha conexão com a internet.

Então vi que a interface foi renomeada para eth1, então eu editei / etc / network / interfaces para mudar eth0 para eth1, reinicializei (não sabia como reiniciar a rede), e o boot agora era mais rápido e a internet funcionava bem.

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

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

    
por HappyDeveloper 04.07.2012 / 04:26

2 respostas

15

É muito provável que você use o método "correto" para alterar o endereço MAC, se estiver fazendo isso nas configurações de rede avançadas do VirtualBox. No entanto, uma mudança temporária como na outra resposta por Zuul pode ser melhor para seus propósitos, uma vez que irá mudar o MAC sem causar muitos problemas adicionais - no entanto, não sobreviverá a um reboot.

Alterá-lo no VirtualBox obviamente sobreviverá a uma reinicialização, mas o problema que você está enfrentando é com udev . Esse é o processo que examina o hardware e define esse hardware em /dev (ou qualquer outra coisa que precise ser feita). Uma das coisas que faz por padrão é tentar manter nomes persistentes para as placas de interface de rede [nics]. Isso porque, quando você tem várias nics, deseja que elas sempre tenham o mesmo nome ethX, para que a configuração /etc/network/interfaces segmente o nic correto a cada inicialização. O sistema operacional não pode contar com eles apenas estando fisicamente no mesmo lugar a cada vez - você pode movê-los por exemplo, ou alguns sistemas não relatam suas conexões físicas na mesma seqüência de inicialização.

Portanto, udev usa regras de persistência com base no endereço MAC da placa de rede. Se tiver 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 regras udev . 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 que você escolheu nas configurações do VirtualBox, ele irá reter o mesmo número dev do próximo passo.

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

    
por 04.07.2012 / 15:14
8

Você pode alterar o endereço MAC com 4 etapas simples usando o ifconfig :

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

  1. Encontre o endereço MAC atual:

    ifconfig | grep HWaddr
    
  2. Encerre a interface (supondo que seja eth0 para os próximos passos) :

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

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

    ifconfig eth0 up
    

Agora você pode verificar novamente o endereço MAC da sua 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
    
por 04.07.2012 / 04:46