Właśnie zainstalowałem Fedorę 19 na stacji roboczej VMware 9. Domyślnym urządzeniem sieciowym jest „ens33” zamiast „eth0” na RHEL.
Powodem, dla którego muszę używać „eth0”, jest to, że składnik licencji jednego z naszych produktów musi być powiązany z „eth0”.
Istnieje kilka postów omawiających podobne problemy, z których większość dotyczy starszych systemów operacyjnych. Nie znalazłem takiego, który pasowałby dokładnie do mojej sytuacji.
linux
networking
fedora
YM Jiang
źródło
źródło
Odpowiedzi:
Najprostszym sposobem na przywrócenie starej nazwy Kernela / modułów / udev na interfejsy Ethernet jest dostarczenie tych parametrów jądra do Fedory 19 :
Aby to zrobić, wykonaj następujące kroki:
Jeśli nie podałeś tych parametrów podczas instalacji, prawdopodobnie będziesz musiał dostosować i / lub zmienić nazwę plików interfejsu w / etc / sysconfig / network-scripts / ifcfg- * .
Aż do Fedory 18 wystarczyło tylko biosdevname = 0 .
Jako przykład, w pewnej maszynie, w wyczerpujących badaniach, otrzymałem:
-Brak parametrów: karta sieciowa zidentyfikowana jako „ enp5s2 ”.
-Parameter biosdevname = 0: NIC zidentyfikowany jako „ enp5s2 ”.
-Parameter net.ifnames = 0: Karta sieciowa zidentyfikowana jako „ em1 ”.
-Parameter net.ifnames = 0 ORAZ nazwa-bios = 0: NIC zidentyfikowany jako „ eth0 ”.
źródło
Możesz to zrobić za pomocą reguły udev:
źródło
/sys/class/net/ens33
mogą się różnić w zależności od wartości zwracanych przez bios i znalezionych w wynikachlspci -vv | grep -A25 Ethernet
. Ponadto, jeśli intencją jest użycieeth0
jako nazwy, bardziej odpowiednie może być po prostu określenie flag rozruchowych jądra, aby wyłączyć „przewidywalne” nazewnictwo urządzenia.W Fedorze 20 wydaje się, że nieco się zmieniło.
1) Argumenty jądra grub
Tak, zarówno „net.ifnames = 0”, jak i „biodevame = 0” wydają się konieczne.
2) / etc / sysconfig / network-scripts / ifcfg-ethX
Tak, one również są konieczne.
3) /etc/udev/rules.d/60-net.rules
Jeśli masz wiele interfejsów i chcesz kontrolować nazewnictwo każdego urządzenia, a nie pozwolić jąderowi na swój własny sposób, /etc/udev/rules.d/60 -net.rules wydaje się konieczne, aby zastąpić /usr/lib/udev/rules.d/60-net.rules w następujący sposób.
# PCI device 0x1011:0x0019 (tulip) {SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:c0:f0:4c:f5:78", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
# PCI device 0x10ec:0x8168 (r8169) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="60:a4:4c:b5:26:48", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
4)
yum remove biosdevname
wydaje się niepotrzebny.źródło
W Fedorze 19 jest inaczej niż w poprzednich wersjach. Są dwie rzeczy do rozwiązania:
yum remove biosdevname
lub-biosdevname
uruchom kickstart.ln -s /dev/null /etc/udev/rules.d/80-net-name-slot.rules
Więcej informacji można znaleźć na stronie http://fedoraproject.org/wiki/Features/SystemdPredictableNetworkInterfaceNames
źródło
Chociaż zaakceptowana odpowiedź zapewnia rozwiązanie, które działa, nie wyjaśnia, dlaczego
ens33
jest używana. Poniższe linki dostarczają informacji o tym, dlaczego urządzenie sieciowe nosi nazwę inną niżeth0
i jak teraz jest nazywane w wariantach RHEL 7:Warto również zauważyć, że pojawiające się wartości, takie jak „33”,
ens33
pochodzą z wartości gniazda adaptera PCI zwróconej przez system BIOS. Użyj tego polecenia, aby zobaczyć, jakie wartości system ma w polu „Fizyczne gniazdo”:Dodatkowe informacje na temat części „ens” nazwy można znaleźć w kodzie źródłowym udev .
źródło
W przypadku Fedory-24:
Edytować
/etc/default/grub
Dołącz na końcu
GRUB_CMDLINE_LINUX
liniinet.ifnames=0 biosdevname=0
Zapisz plik
Rodzaj
lub wpisz
Rodzaj
reboot
źródło
ifconfig
powracalo
ivirbr0
, ale pierwotnieenp4s0
już go nie ma.ethN
nazewnictwem, aby zastosować tę konwencję. Zostawiłemenp4s0
w jednym skrypcie.