Właśnie zainstalowałem RHEL 6.3 na serwerze Dell 1950. Ten serwer jako dwa porty GBit, Gb0 i Gb1.
Z jakiegoś niejasnego powodu udev
wybrałeś nazwy Gb0 eth1
i Gb1 eth0
. To zdecydowanie nie jest dla mnie dobre znalezisko i po prostu wprowadza zamieszanie.
Więc zmodyfikowałem konfigurację w /etc/udev/rules.d/70-persistent-net.rules
:
# PCI device 0x14e4:0x164c (bnx2)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", \
ATTR{address}=="00:20:19:52:d3:c0", \
ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
# PCI device 0x14e4:0x164c (bnx2)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", \
ATTR{address}=="00:20:19:52:d3:be", \
ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
Właśnie zmieniłem pole „NAME” w pliku, aby odzwierciedlić to, czego chcę. Uruchomiłem ponownie serwer i to nie działało.
W dmesg
dzienniku mogę przeczytać następujące informacje:
udev: renamed network interface eth1 to rename5
udev: renamed network interface eth0 to eth1
udev: renamed network interface rename5 to eth0
Masz pomysł na to, co jest tutaj nie tak? Dlaczego tak się udev
zmienia? Mam inny podobny serwer, na którym nie mam tego problemu.
grep -R 'rename5' /etc/udev/rules.d/
ponieważ w logach, dlaczego to pokazuje, czyrename5
jest jakaś inna reguła dla tego samego?Odpowiedzi:
Chociaż jest już późno, naprawiłem problem, usuwając plik
część reguły w
/etc/udev/rules.d/70-persistent-net.rules
pliku. Działa to, ponieważ gdy UDEV zmieni nazwę urządzenia na „zmień nazwę *”, ta część zatrzyma dopasowanie reguły. Tak więc usunięcie go pozwala przypisać prawidłową nazwę do właściwego urządzenia, niezależnie od tego, co w międzyczasie nazwało to UDEV.źródło
W moim przypadku problem wynika z faktu, że adres mac dla każdego interfejsu został ustawiony w trzech plikach:
Potrzebujemy spójności między plikiem ifcfg i net.rules dla adresu mac.
źródło
/etc/sysconfig
jest na linuxie redhat / centos. Na Ubuntu pliki te byłyby poniżej/etc/network/if-up.d
Udało mi się to rozwiązać, po prostu usuwając
/etc/udev/rules.d/70-persistent-net.rules
i uruchamiając ponownie.źródło
próbowałeś stworzyć puste miejsce
/etc/udev/rules.d/80-net-name-slot.rules
?od czasu Udev v197 udev zaimplementował przewidywalne nazwy interfejsów sieciowych, tworząc pusty plik w tej ścieżce, a następnie ponownie uruchamiając komputer, powinieneś mieć nazwy interfejsów z powrotem takie, jakie były.
Odpowiedziałem na podobne pytanie na:
Creating eth0 with consistent network device naming
źródło
Może się również zdarzyć, ponieważ eth0, eth1, wlan0, wlan1 itp. Są standardowymi nazwami jądra (w przypadku nietrwałego nazewnictwa schematu). W dokumentacji udev napisano:
Dlatego nigdy nie używaj nazw eth *, wlan * itp. Dla reguł udev.
źródło