Altere o endereço MAC de “VirtualBox Host-Only Ethernet Adapter” (no host)

1

Quando instalei o Oracle VirtualBox, ele criou um adaptador de rede no meu sistema host chamado "VirtualBox Host-Only Network". De acordo com ipconfig /all , esse adaptador de rede virtual possui o endereço MAC 0A-00-27-00-00-10 . Como posso alterar esse endereço MAC?

Como espero alguma confusão sobre isso, um breve esclarecimento: não quero alterar o endereço MAC da placa de rede de uma máquina virtual, preciso alterar o MAC do adaptador de rede virtual que foi criado no meu host sistema.

O que eu tentei

No VirtualBox: Arquivo - > Preferências - > Rede - > Redes somente de host. As propriedades do adaptador de rede não incluem o endereço MAC. Adicionar um novo adaptador também não permite especificar um endereço MAC.

Eu encontrei e tentei esta solução que sugere a pesquisa do registro para o MAC endereço e alterá-lo lá. No entanto, nem a pesquisa por 0A0027000010 nem 0A-00-27-00-00-10 fornece resultados.

Eu também tentei altere o endereço MAC usando o Gerenciador de Dispositivos , mas o" Adaptador Ethernet somente para Host VirtualBox "listado não possui uma guia" Avançado "ou quaisquer propriedades como" Endereço de Rede ".

Algumas pesquisas no registro me levaram a HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}0A-00-27-00-00-0018 , que possui chaves como "VirtualBox Host-Only Ethernet Adapter". Mas nenhuma das chaves se assemelha ao meu endereço MAC atual.

Ambiente

Meu sistema host é o Windows 7 Professional. Estou executando o VirtualBox 5.0.18.

Antecedentes

Por que preciso disso? Ontem atualizei o VirtualBox. Isso alterou o endereço MAC de 0A-00-27-00-00-10 para %code% . Eu uso um programa que usa licenças por máquina e uma máquina é identificada por um dos seus endereços MAC. Infelizmente, a licença foi vinculada ao MAC do adaptador de rede virtual.

    
por CL. 25.04.2016 / 15:31

2 respostas

1

A verdade pura e simples é: Isso não é possível nas versões atuais do VirtualBox. O motivo pode ser facilmente entendido quando se olha para código-fonte do driver :

pAdapter->MacAddr.au8[0] = 0x08 | 2; // DB: computes to 10 == 0x0A
pAdapter->MacAddr.au8[1] = 0x00;
pAdapter->MacAddr.au8[2] = 0x27;

pAdapter->MacAddr.au8[3] = (uIfIndex >> 16) & 0xFF;
pAdapter->MacAddr.au8[4] = (uIfIndex >> 8) & 0xFF;
pAdapter->MacAddr.au8[5] = uIfIndex & 0xFF;

Ele simplesmente usa o índice da interface para criar um endereço MAC. Esse índice é gerenciado pelo Windows e fornecido ao driver durante a inicialização no NDIS_MINIPORT_INIT_PARAMETERS .

Você pode inspecionar facilmente o índice no comando route print :

===========================================================================
Interface List
 10...c0 7c d1 c0 37 71 ......Realtek PCIe GBE Family Controller
 13...0a 00 27 00 00 0d ......VirtualBox Host-Only Ethernet Adapter
...

13 é igual a 0x0D, e esse é o endereço MAC.

    
por 11.10.2016 / 18:46
1

Notei que ao atualizar para o VirtualBox 5.x, ele manteve a atribuição de um endereço MAC aleatório e não honrou a configuração do registro MAC que eu tinha colocado no VirtualBox 4.x. Quando eu desinstalei o VirtualBox 5.x, a seção de registro para o adaptador somente host foi embora. Após a reinstalação, não vi uma nova entrada MAC.

Quando voltei ao VirtualBox 4.3.38 e adicionei a configuração do registro MAC, o VirtualBox usou o valor que eu especifiquei. Parece que o comportamento mudou para o VirtualBox 5.x.

Observe também que um Microsoft Loopback Adapter pode funcionar para permitir que você especifique seu próprio MAC, mas observe que o MAC só terá efeito se estiver no intervalo de "endereços administrados localmente".

    
por 16.06.2016 / 02:07