Najnowsza wersja Ubuntu i Debian (stretch) wprowadza nowy schemat nazewnictwa interfejsu sieciowego.
Teraz, podczas aktualizacji z systemu, który używa nazw w starym stylu, takich jak „eth0”, chciałbym wiedzieć przed uruchomieniem, jaka będzie nowa nazwa.
W jaki sposób mogę to zrobić? Czy istnieje magiczne wywołanie „systemd”, którego mogę użyć do edycji / etc / network / interface przed uruchomieniem (a następnie utratą łączności z siecią)?
linux-networking
systemd
debian-stretch
Ralf Hildebrandt
źródło
źródło
Odpowiedzi:
Dostępne są dwa różne schematy: nazwa-biosdevname vs przewidywalna nazwa interfejsu sieciowego.
nazwa biologiczna
Biosdevname wydaje się być domyślnym w Ubuntu. Jest on aktywowany przez zainstalowanie pakietu biosdevname.
Biosdevname interfejsu można znaleźć za pomocą:
Przewidywalne nazwy interfejsów sieciowych
Sądzę, że jest to domyślne ustawienie w wersji Debian, ale należy je wyraźnie włączyć podczas aktualizacji z poprzednich wersji.
Przewidywalną nazwę eth0 można znaleźć za pomocą:
źródło
/etc/udev/rules.d/70-persistent-net.rules
. Link zapewni przewodnik migracji, jeśli chcesz przejść do nowego schematu nazewnictwa.Nowy schemat jest najwyraźniej nazywany „przewidywalnymi nazwami interfejsów sieciowych”, ale nie znajduję dużo dokumentacji na temat tego, jak właściwie przewidzieć nazwę. Wszystko, co znalazłem na ten temat, zasadniczo wskazuje na komentarz do kodu źródłowego (który sam wskazuje na pierwszy link). Z komentarza nie jest wcale jasne, jak się dowiedzieć, jakiego schematu adresowania użyje Udev dla nazwy urządzenia sieciowego.
Przy pierwszym łączu możesz go wyłączyć i używać tradycyjnych nazw, dodając
net.ifnames=0
wiersz poleceń jądra w Grub. Zgodnie z tym komentarzem może być konieczne, jeśli planujesz utworzenie interfejsu oznaczonego VLAN, ponieważ dodane rozszerzenie spowoduje, że nazwa interfejsu będzie zbyt długa.W przeciwnym razie może być lepiej ponownie zadać pytanie, aby wyjaśnić, co próbujesz zrobić z nazwą (np. Skonfiguruj interfejs przez ansible lub coś podobnego)
źródło
Nie jestem pewien, czy nadal tak jest w przypadku zaktualizowanych wersji, ale na moich starych systemach byłem w stanie utworzyć pusty plik
/etc/udev/rules.d/80-net-name-slot.rules
i wyłączałoby to funkcję „przewidywalnego” nazewnictwa. Możesz także stworzyć własną regułę i nazwać interfejsy samodzielnie na podstawie adresu mac lub połączeń PCI / USB.źródło
Ta dokumentacja może trochę pomóc. Zobacz sekcję „Co dokładnie zmieniło się w wersji 197?”. Tak, zdaję sobie sprawę, że ma to nieco ograniczoną wartość, ale może dać ci drogę do dalszych badań.
źródło