it-swarm.com.de

Warum ist die Standard-eth0-Schnittstelle unter CentOS standardmäßig nicht verfügbar?

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

Ich bin auf ein kleines Problem gestoßen, nämlich: das Standard-eth0 Schnittstelle ist standardmäßig inaktiv. Ich verwende die Option mit NAT (die virtuelle Maschine befindet sich hinter dem Host). Auch wenn ich die Schnittstelle aufrufe

ifconfig eth0 up es funktioniert nicht sofort. Ich erhalte dies, nachdem ich die Benutzeroberfläche aufgerufen habe:

Was sollte mehr getan werden, um das Netzwerk auf einem CentOS-Computer zu konfigurieren?CentOS showing the output of ifconfig. Note that eth0 is down.

P.S. Entschuldigung für den Screenshot, aber ich weiß nicht, wie ich den Text aus der VirtualBox herausholen soll.

44
Patryk

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

$IFNAME wird sein eth0 auf vielen EL6-Boxen, aber auf EL7- und EL6-Boxen, die das Schema Consistent Network Device Naming verwenden, könnte es etwas anderes sein, wie en3p1. Verwenden Sie den Befehl ip link, um eine Liste der Netzwerkschnittstellen abzurufen, einschließlich der derzeit ausgefallenen.

Achten Sie bei zukünftigen Installationen mehr darauf. Sie haben eine Option im Abschnitt "Netzwerkkonfiguration" überschritten, mit der Sie festlegen können, dass die Schnittstelle beim Booten aufgerufen werden soll. Diese On-Boot-Option ist in EL6 und EL7 standardmäßig deaktiviert, während sie in früheren Versionen standardmäßig aktiviert war.

Um die Netzwerkschnittstelle beim ersten Start bei der Installation in EL7 zu aktivieren, wechseln Sie im Netzwerkkonfigurationsbildschirm zur Registerkarte ConfigureGeneral und aktivieren Sie das Kontrollkästchen Automatically connect to the network when available.

Was betrifft, warum sie dies geändert haben, würde ich Sicherheitsgründe erraten. Sie haben die Möglichkeit, die Einstellungen gegenüber der Standardeinstellung etwas zu verringern, bevor Sie die Netzwerkschnittstelle zum ersten Mal aufrufen.

53
Warren Young

Wenn Sie keinen DHCP-Server in Ihrem Netzwerk haben, müssen Sie eine statische IP-Adresse festlegen. Bitte beachten Sie 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/network - Datei 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

Sehen Sie sich Ihre Netzwerkschnittstellen an

ifconfig
8
alexnorthsoul

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

Ich installiere selten X Windows auf meinen Servern, daher ist NetworkManager nur ein Problem für mich. Ich deaktiviere es und aktiviere den Standard-Netzwerkdienst.

chkconfig NetworkManager aus
chkconfig Netzwerk ein

service NetworkManager stoppen
Start des Servicenetzwerks

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

ONBOOT=yes
BOOTPROTO=dhcp

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

5
George M

Nach dem, was ich beim Experimentieren und Lesen gesammelt habe, stimme ich zu, dass Network Manager standardmäßig geladen wird, der Netzwerkdienst jedoch nicht.

Als ich kürzlich einen VM Host startete, ohne dass eth0 in der ifconfig-Ausgabe angezeigt wurde, lag dies daran, dass Network Manager ausgeführt wurde, das Netzwerk nicht ausgeführt wurde und NM_CONTROLLED=no in meinem /etc/sysconfig/network-scripts/ifcfg-eth0 Datei.

Sobald ich lief service network restart, eth0 wurde in der ifconfig-Ausgabe angezeigt. Durch einen Neustart wurde es jedoch wieder gelöscht.

Die Lösung für mich scheint darin zu bestehen, NM_CONTROLLED=no im /etc/sysconfig/network-scripts/ifcfg-eth0 und dann den Netzwerkdienst beim Start einschalten (chkconfig network on, wie uther und alexnorthsoul hervorheben). Ich könnte (sollte?) Wahrscheinlich NetworkManager standardmäßig ausschalten, aber es funktioniert jetzt für mich und ich bin nervös, etwas anderes zu berühren.

Mein Ziel war es übrigens, das System dazu zu bringen, die von mir ausgewählte statische IP zu berücksichtigen. Als ich NetworkManager laufen ließ und NM_CONTROLLED=yes (oder weggelassen), ich habe eth0 in ifconfig angezeigt, aber die Adresse war eine DHCP-Adresse, nicht meine statische IP. Das Deaktivieren von NetworkManager hat mich also von DHCP verschont, und das Aktivieren des Netzwerks hat dazu geführt, dass meine Einstellungen geladen wurden, die die statische IP enthielten.

Ich bin kein Systemadministrator, sondern ein Entwickler. Dies sind also keine Worte eines CentOS-Experten, sondern nur ein Überlebender der Konfiguration der von mir benötigten VMs.

1
SteveW