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

43

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: Die Standardschnittstelle eth0ist standardmäßig ausgefallen. Ich benutze die Option mit NAT (die virtuelle Maschine ist "hinter" dem Host). Auch wenn ich das Interface mit aufbringe

ifconfig eth0 upes funktioniert nicht sofort. Ich bekomme das, nachdem ich das Interface aufgerufen habe:

Was sollte noch getan werden, um das Netzwerk auf dem CentOS-Computer zu konfigurieren?CentOS zeigt die Ausgabe von ifconfig.  Beachten Sie, dass eth0 inaktiv ist.

PS Entschuldigung für den Screenshot, aber ich weiß nicht, wie ich den Text aus der VirtualBox herausholen kann.

Patryk
quelle
2
Es gibt keine eth1auf dem Screenshot ... Btw, versuchen Sie DHCP auf Ihrer Schnittstelle ausgeführt werden : dhclient eth0.
PBM
@pbm 1) Ich eth1habe eth0in der Beschreibung geändert . 2) hat dhclient eth0funktioniert :) danke. Wie kann ich es als Standard festlegen - nach dem Neustart so ausführen?
Patryk
Ich bin mir nicht sicher, aber sieh
dir

Antworten:

52

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

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

Achten Sie bei zukünftigen Installationen besser darauf. Sie haben im Abschnitt zur Netzwerkkonfiguration eine Option übersprungen, mit der Sie festlegen können, dass die Schnittstelle beim Start hochgefahren 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, rufen Sie die Registerkarte ConfigureGeneralim Netzwerkkonfigurationsbildschirm auf und aktivieren Sie das Kontrollkästchen Automatically connect to the network when available.

Ich schätze , warum sie das geändert haben. Sie haben die Möglichkeit, die Standardeinstellungen ein wenig zu ändern, bevor Sie die Netzwerkschnittstelle zum ersten Mal aufrufen.

Warren Young
quelle
Genau die Infos, die ich gesucht habe. Danke!
SamAndrew81
8

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

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

Setzen Sie den folgenden Befehl ab, 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
alexnorthsoul
quelle
5

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 für mich nur eine Qual. Ich deaktiviere es und aktiviere den Standard-Netzwerkdienst.

chkconfig NetworkManager aus
chkconfig network ein

service NetworkManager stoppt den
Start des Dienstnetzwerks

Um DHCP auf der Schnittstelle zu aktivieren, führen Sie system-config-networkdas entsprechende Gerät aus, bearbeiten Sie es, speichern Sie es 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.

George M
quelle
1

Nach dem, was ich beim Experimentieren und Lesen erfahren habe, bin ich damit einverstanden, dass Network Manager scheinbar standardmäßig geladen wird, der Netzwerkdienst jedoch nicht.

Als kürzlich ein VM-Host gestartet wurde, 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 sich NM_CONTROLLED=noin meiner /etc/sysconfig/network-scripts/ifcfg-eth0Datei befand.

Sobald ich lief service network restart, erschien eth0 in der Ausgabe von ifconfig. Ein Neustart führte jedoch dazu, dass es wieder verschwand.

Die Lösung für mich zu sein scheint Einstellung NM_CONTROLLED=noin /etc/sysconfig/network-scripts/ifcfg-eth0, dann auf dem Netzdienst beim Start drehen ( chkconfig network onwie uther und alexnorthsoul Punkt aus). Ich könnte (sollte?) Wahrscheinlich NetworkManager standardmäßig ausschalten, aber es funktioniert jetzt für mich und ich bin nervös, irgendetwas anderes zu berühren.

Mein Ziel war es übrigens, dass das System die von mir gewählte statische IP-Adresse einhält. Als ich NetworkManager laufen ließ und einstellte NM_CONTROLLED=yes(oder ausließ), wurde eth0 in ifconfig angezeigt, aber die Adresse war eine DHCP-Adresse, nicht meine statische IP. Das Ausschalten von NetworkManager ersparte mir DHCP, und das Einschalten des Netzwerks bewirkte, dass meine Einstellungen geladen wurden, die die statische IP enthielten.

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

SteveW
quelle