Prawdopodobnie używasz „poprawnej” metody zmiany adresu MAC, jeśli robisz to w zaawansowanych ustawieniach sieciowych w VirtualBox. Jednak tymczasowa zmiana, jak w drugiej odpowiedzi Zuula, może być najlepsza dla twoich celów, ponieważ zmieni MAC bez powodowania zbyt wielu dodatkowych problemów - jednak nie przetrwa ponownego uruchomienia.
Zmiana w VirtualBox oczywiście przetrwa restart, ale problem, z którym się borykasz, jest związany z udev
. Jest to proces, który analizuje sprzęt i ustawia sprzęt /dev
(lub cokolwiek innego, co może być konieczne). Jedną z rzeczy, które robi domyślnie, jest utrzymanie trwałych nazw kart interfejsu sieciowego [nics]. Dzieje się tak, ponieważ gdy masz wiele kart sieciowych, chcesz, aby zawsze miały tę samą nazwę ethX, aby twoja /etc/network/interfaces
konfiguracja była ukierunkowana na właściwą nicę przy każdym rozruchu. System operacyjny nie może polegać na tym, że za każdym razem jest fizycznie w tym samym miejscu - możesz je na przykład przenosić, lub niektóre systemy nie zgłaszają fizycznych połączeń w tej samej sekwencji przy każdym uruchomieniu.
udev
Wykorzystuje więc reguły trwałości oparte na adresie MAC karty sieciowej. Jeśli ma wpis dla eth1 ze znanym adresem MAC i pojawi się karta z innym adresem MAC, przypisze do interfejsu inną nazwę urządzenia ethX.
Aby temu przeciwdziałać, wystarczy zaktualizować udev
reguły. Edytować:
vi /etc/udev/rules.d/70-persistent-net.rules
i poszukaj linii z bieżącym MAC:
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="11:22:33:44:55:66", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
Jeśli zmienisz tutaj adres MAC na nowy, który wybrałeś w ustawieniach VirtualBox, zachowa ten sam numer dev ethX przy następnym uruchomieniu.
Najlepszą sekwencją byłaby prawdopodobnie najpierw edycja tutaj, następnie zamknięcie maszyny wirtualnej, następnie edycja ustawienia MAC VB MAC, a następnie uruchomienie.