Właśnie zaktualizowałem wirtualną maszynę serwerową 14.04 do 16.04. Po ponownym uruchomieniu maszyny wirtualnej widzę następujący błąd:
[FAILED] Failed to start Raise network interfaces.
See 'systemctl status networking.service' for details
Po zalogowaniu mogę uruchomić wspomniane polecenie i uzyskać następujące dane wyjściowe (obraz, ponieważ nie mogę się połączyć):
Konfiguracja /etc/network/interfaces
wygląda dobrze - zawiera ręcznie skonfigurowany eth0 (tutaj nie używa się dhcp)
Zastanawiam się, czy te ifconfig -a
listy
- ens160
- lo
Gdzie bym się spodziewał
- eth0
- lo
Próba podniesienia urządzenia eth0 przez
sudo ifup -v eth0
wyjścia:
...
Cannot find device "eth0"
Failed to bring up eth0.
Wirtualne przewodowe urządzenie sieciowe jest nadal skonfigurowane w samej maszynie wirtualnej, tak jak wcześniej.
ip link
pokazuje również lo
i ens160
- gdzie ens160
skonfigurowano adres mac w vmware dla pojedynczego skonfigurowanego wirtualnego urządzenia sieciowego.
AKTUALIZACJA
Jestem w stanie rozwiązać problem, jeśli zmienię wszystkie odniesienia eth0 /etc/network/interfaces
na ens160.
ALE - wydaje mi się to niewłaściwe z kilku powodów:
- Chciałbym zrozumieć ten problem
- Chciałbym trzymać się eth0 zamiast ens160
Więc proszę, czy ktoś może wyjaśnić tę zmianę, która nie przydarzyła się kilku innym maszynom 14.04 na tym samym serwerze, który również zaktualizowałem do wersji 16.04.
źródło
Odpowiedzi:
Powód
Problem został spowodowany przez Predictable-Network-Interface-Names z systemd / udev.
Możliwe rozwiązanie
Według tego źródła możesz:
Zastosowane rozwiązania
Zrobiłem utworzyć nowy plik
10-rename-network.rules
w/etc/udev/rules.d/
i dodaje do niego następującą treść:gdzie
eth0
= żądana nazwa interfejsu sieciowego, używana w/etc/network/interfaces
ff:ff:ff:ff:ff:ff
= sprzętowy adres mac urządzenia sieciowegoZalecam ponowne uruchomienie po zakończeniu, aby upewnić się, że zmiana jest lepka.
źródło
update-initramfs -u
aby zmiany zaczęły obowiązywaćRozwiązany przez zmianę pliku /etc/network/interfaces.d/setup z:
do:
źródło
W moim przypadku problem ten związany był z próbą podniesienia mojego mostu
br0
. Zapomniałem to zrobić:wcześniej, więc mój adapter nie mógł się uruchomić.
źródło
Możesz usunąć / zmodyfikować pamięć podręczną udev dla trwałych / spójnych nazw interfejsów sieciowych, znajdujących się tutaj:
/etc/udev/rules.d/70-persistent-net.rules
źródło