Dlaczego domyślny interfejs eth0 jest domyślnie wyłączony w CentOS?

43

Jestem już trochę zaznajomiony z dystrybucjami Linuksa, takimi jak Debian lub Ubuntu (tak, bardzo podobny), ale chciałem wypróbować system oparty na Red Hat - CentOS 6.2. Zainstalowałem go na moim hoście Windows 7 w virtualBox i próbowałem trochę z nim grać.

Natknąłem się na mały problem, a mianowicie: domyślny eth0interfejs jest domyślnie wyłączony. Korzystam z opcji z NAT (maszyna wirtualna jest „za” hostem). Nawet jeśli wprowadzę interfejs

ifconfig eth0 upto nie działa od razu. Otrzymuję to po uruchomieniu interfejsu:

Co jeszcze należy zrobić, aby skonfigurować sieć na komputerze CentOS?CentOS pokazuje wynik działania ifconfig.  Zauważ, że eth0 nie działa.

PS Przepraszam za zrzut ekranu, ale nie wiem, jak pobrać tekst z VirtualBox.

Patryk
źródło
2
Nie ma eth1na zrzucie ... Btw, spróbuj uruchomić DHCP na interfejsie: dhclient eth0.
pbm
@pbm 1) Zmieniłem eth1na eth0w opisie. 2) dhclient eth0pracował :) dzięki. Jak mogę ustawić ją jako domyślną - uruchomić po ponownym uruchomieniu?
Patryk
Nie jestem pewien, ale sprawdź ten post na blogu: blog.malaya-digital.org/…
pbm

Odpowiedzi:

52

Edit /etc/sysconfig/network-scripts/ifcfg-$IFNAME. Zmień wartość ONBOOTlinii na yes.

$IFNAMEbędzie eth0na wielu urządzeniach EL6, ale na urządzeniach EL7 i EL6 korzystających ze spójnego schematu nazewnictwa urządzeń sieciowych może to być coś innego en3p1. Użyj polecenia, ip linkaby uzyskać listę interfejsów sieciowych, w tym tych, które są obecnie wyłączone.

W przyszłych instalacjach zwróć większą uwagę. Zdmuchnąłeś opcję w sekcji konfiguracji sieci, która pozwala ci powiedzieć, żeby uruchomił interfejs. Ta opcja przy rozruchu jest domyślnie wyłączona w EL6 i EL7, podczas gdy we wcześniejszych wersjach była domyślnie włączona.

Aby interfejs sieciowy pojawiał się przy pierwszym uruchomieniu w czasie instalacji w EL7, przejdź do zakładki ConfigureGeneralna ekranie konfiguracji sieci, a następnie zaznacz pole oznaczone Automatically connect to the network when available.

Jeśli chodzi o to, dlaczego to zmienili, zgaduję ze względów bezpieczeństwa. Daje to szansę na nieco zaostrzenie ustawień domyślnych przed pierwszym uruchomieniem interfejsu sieciowego.

Warren Young
źródło
Właśnie te informacje, których szukałem. Dziękuję Ci!
SamAndrew81
8

Jeśli nie masz serwera DHCP w sieci, musisz ustawić statyczny adres IP. Rozważ następujący przykład:

vim /etc/sysconfig/network-scripts/ifcfg-eth0

BOOTPROTO=none
DEVICE=eth0
IPADDR=192.168.1.10 # your IP address
NETMASK=255.255.255.0 # your netmask
NETWORK=192.168.1.0 
ONBOOT=yes

Dodaj BRAMA do swojego /etc/sysconfig/networkpliku:

NETWORKING=yes
NETWORKING_IPV6=yes
HOSTNAME=hostname.domainname
GATEWAY=192.168.1.1 # your gateway

Wydaj następujące polecenie, aby uruchomić sieć podczas rozruchu:

chkconfig network on

Uruchom ponownie usługę sieciową:

service network restart

Spójrz na swoje interfejsy sieciowe

ifconfig
alexnorthsoul
źródło
5

Nie wspomniałeś, jakiej wersji CentOS używasz. Jeśli się nie mylę, 6.x domyślnie używa NetworkManager.

Rzadko instaluję okna X na moich serwerach, więc NetworkManager to dla mnie tylko problem. Wyłączam go i włączam standardową usługę „sieciową”.

chkconfig NetworkManager wyłączony
sieć chkconfig włączona

usługa NetworkManager zatrzymać
uruchomienie sieci serwisowej

Aby włączyć DHCP w interfejsie, uruchom system-config-network, edytuj odpowiednie urządzenie, zapisz i uruchom ponownie usługę sieciową. Alternatywnie możesz edytować /etc/sysconfig/network-scripts/ifcfg-eth0i dodawać

ONBOOT=yes
BOOTPROTO=dhcp

Zapisz zmiany i uruchom ponownie usługę sieciową.

George M.
źródło
1

Z tego, co zebrałem podczas eksperymentowania i czytania, zgadzam się z innym, że Network Manager wydaje się domyślnie ładować, ale usługa sieciowa nie.

Kiedy ostatnio miałem uruchamianie hosta VM bez wyświetlania eth0 w danych wyjściowych ifconfig, było tak dlatego, że miałem uruchomionego Network Managera, sieć nie działała i NM_CONTROLLED=now moim /etc/sysconfig/network-scripts/ifcfg-eth0pliku.

Jak tylko uruchomiłem service network restart, eth0 pojawił się w wyjściu ifconfig. Ponowne uruchomienie spowodowało jednak, że ponownie zniknął.

Rozwiązaniem dla mnie wydaje się być ustawienie NM_CONTROLLED=now /etc/sysconfig/network-scripts/ifcfg-eth0, a następnie włączeniu usługi sieciowej przy starcie ( chkconfig network onjak Uthera i alexnorthsoul punktu wyjścia). Prawdopodobnie mógłbym (powinienem?) Domyślnie wyłączyć NetworkManagera, ale teraz działa on dla mnie i denerwuję się dotykaniem czegokolwiek innego.

Nawiasem mówiąc, moim celem było, aby system honorował moje wybrane statyczne IP. Kiedy zostawiłem uruchomiony NetworkManager i ustawiłem NM_CONTROLLED=yes(lub go pominąłem), w ifconfig pojawił się komunikat eth0, ale był to adres DHCP, a nie mój statyczny adres IP. Wyłączenie NetworkManagera oszczędzało mi DHCP, a włączenie sieci spowodowało załadowanie moich ustawień, które obejmowały statyczny adres IP.

Nie jestem administratorem systemu, ale raczej programistą, więc nie są to słowa eksperta CentOS, a jedynie osoba, która przetrwała konfigurowanie maszyn wirtualnych, których potrzebowałem.

SteveW
źródło