Warum ist die Standardschnittstelle eth0 unter CentOS standardmäßig ausgefallen?

Warum ist die Standardschnittstelle eth0 unter CentOS standardmäßig ausgefallen?

Ich bin bereits ein wenig mit Linux-Distributionen wie Debian oder Ubuntu vertraut (ja, sehr ähnlich), aber ich wollte das auf Red Hat basierende CentOS 6.2 ausprobieren. Ich habe es auf meinem Windows 7-Host in VirtualBox installiert und ein wenig damit herumgespielt.

Ich bin auf ein kleines Problem gestoßen, nämlich: Die Standardschnittstelle eth0ist standardmäßig deaktiviert. Ich verwende die Option mit NAT (die virtuelle Maschine befindet sich „hinter“ dem Host). Selbst wenn ich die Schnittstelle mit hochfahre ifconfig eth0 up, funktioniert sie nicht sofort. Nach dem Hochfahren der Schnittstelle erhalte ich Folgendes:

eth0      Link encap:Ethernet  HWaddr 08:00:27:0F:00:8A
          inet6 addr: fe80::a00:27ff:fe0f:8a/64 Scope:Link
          UP BROADCAST RUNNNING MULTICAST MTU:1500 Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6 errors:0 dropped:0 overruns:0 carriers:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 b)  TX bytes:468 (468.0 b)
          Interrupt:19 Base address:0xd020

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

virbr0    Link encap:Ethernet  HWaddr 52:54:00:75:C2:9B
          inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
[root@centos ~]# _

Was muss noch getan werden, um das Netzwerk auf der CentOS-Maschine zu konfigurieren?

Antwort1

Bearbeiten /etc/sysconfig/network-scripts/ifcfg-$IFNAME. Ändern Sie den ONBOOTWert der Zeile in yes.

$IFNAMEwird auf vielen EL6-Boxen sein eth0, aber auf Boxen mit demEinheitliche Benennung von NetzwerkgerätenSchema, es könnte etwas anderes sein, wie en3p1. Dieses Schema ist in EL6 optional, aber in EL7 und neueren Versionen der Standard. Verwenden Sie den Befehl, ip linkum eine Liste der Netzwerkschnittstellen abzurufen, einschließlich derjenigen, die derzeit ausgefallen sind.

Passen Sie bei Ihren zukünftigen Installationen besser auf. Sie haben eine Option im Abschnitt „Netzwerkkonfiguration“ übersehen, mit der Sie die Schnittstelle beim Booten aktivieren können. Diese Boot-Option ist in EL6 und höher standardmäßig deaktiviert, während sie in früheren Versionen standardmäßig aktiviert war.

Um sicherzustellen, dass die Netzwerkschnittstelle beim ersten Start während der Installation angezeigt wird, gehen Sie im Netzwerkkonfigurationsbildschirm zur Registerkarte Configure→ und aktivieren Sie das Kontrollkästchen mit der Bezeichnung .GeneralAutomatically connect to the network when available

WasWarumdas wurde geändert, vermutlich aus Sicherheitsgründen. So haben Sie die Möglichkeit, die Standardeinstellungen etwas zu reduzieren, bevor Sie die Netzwerkschnittstelle zum ersten Mal aufrufen und die Box der Außenwelt aussetzen.

Antwort2

Wenn Sie keinen DHCP-Server in Ihrem Netzwerk haben, müssen Sie eine statische IP-Adresse festlegen. Beachten Sie hierzu das folgende Beispiel:

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

Fügen Sie GATEWAY zu Ihrer /etc/sysconfig/networkDatei hinzu:

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

Geben Sie den folgenden Befehl ein, um das Netzwerk beim Booten zu starten:

chkconfig network on

Starten Sie Ihren Netzwerkdienst neu:

service network restart

Schauen Sie sich Ihre Netzwerkschnittstellen an

ifconfig

Antwort3

Sie haben nicht erwähnt, welche Version von CentOS Sie verwenden. Wenn ich mich nicht irre, verwendet 6.x standardmäßig NetworkManager.

Ich installiere X Windows selten auf meinen Servern, daher ist NetworkManager für mich einfach nur lästig. Ich deaktiviere es und aktiviere den Standarddienst „Netzwerk“.

chkconfig NetworkManager aus
chkconfig Netzwerk ein

Dienst NetworkManager stoppen
Dienst Netzwerk starten

Um DHCP auf der Schnittstelle zu aktivieren, führen Sie aus system-config-network, bearbeiten Sie das entsprechende Gerät, speichern Sie und starten Sie den Netzwerkdienst neu. Alternativ können Sie bearbeiten /etc/sysconfig/network-scripts/ifcfg-eth0und hinzufügen

ONBOOT=yes
BOOTPROTO=dhcp

Speichern Sie die Änderungen und starten Sie den Netzwerkdienst neu.

Antwort4

Nach meinen Experimenten und meiner Lektüre stimme ich mit uther überein, dass der Network Manager standardmäßig geladen zu werden scheint, der Netzwerkdienst jedoch nicht.

Als ich vor Kurzem einen VM-Host starten ließ, ohne dass eth0 in der ifconfig-Ausgabe angezeigt wurde, lag das daran, dass bei mir der Network Manager ausgeführt wurde, das Netzwerk jedoch nicht und NM_CONTROLLED=noin meiner /etc/sysconfig/network-scripts/ifcfg-eth0Datei.

Sobald ich ausgeführt habe service network restart, wurde eth0 in der ifconfig-Ausgabe angezeigt. Nach einem Neustart verschwand es jedoch wieder.

Die Lösung für mich scheint darin zu bestehen , den Netzwerkdienst einzurichten und ihn dann beim Start einzuschalten ( NM_CONTROLLED=no, wie uther und alexnorthsoul anmerken). Ich könnte (sollte?) NetworkManager wahrscheinlich standardmäßig ausschalten, aber jetzt funktioniert es für mich und ich bin nervös, irgendetwas anderes anzufassen./etc/sysconfig/network-scripts/ifcfg-eth0chkconfig network on

Übrigens war mein Ziel, das System dazu zu bringen, meine ausgewählte statische IP zu berücksichtigen. Als ich NetworkManager laufen ließ und NM_CONTROLLED=yeses einstellte (oder wegließ), wurde eth0 in ifconfig angezeigt, aber die Adresse war eine DHCP-Adresse, nicht meine statische IP. Das Ausschalten von NetworkManager ersparte mir also DHCP, und das Einschalten des Netzwerks führte dazu, dass meine Einstellungen geladen wurden, die die statische IP enthielten.

Ich bin kein Systemadministrator, sondern Entwickler. Dies sind also keine Worte eines CentOS-Experten, sondern nur die eines Überlebenden bei der Konfiguration der VMs, die ich brauchte.

verwandte Informationen