CentOS keine Netzwerkschnittstelle nach der Installation in VirtualBox


53

Ich habe Ubuntu 12.10, auf dem ich die virtuelle Box installiert habe, auf der ich Centos 6.4 i386 einrichte. Auf Ubuntu habe ich: 3.5.0-17-generischer Kernel läuft.

Auf der virtuellen Box installiere ich Centos 6.4 und alles funktioniert einwandfrei. Wenn ich jedoch eine VM-Maschine boote, gibt es nur eine Loopback-Schnittstelle. Nichts anderes. Ich habe versucht, die Datei ifcfg-eth0 manuell hinzuzufügen, aber es passiert nichts. In den VM-Einstellungen habe ich NAT- und HostOnly-Schnittstellen hinzugefügt, aber wenn ich Centos starte, gibt es nur eine einzige Schnittstelle. Was soll ich machen?

Antworten:


53

Sie müssen das Netzwerk während der Installation aktivieren. Sie können dies auch nach der Installation tun. Dies ist eine Änderung in der CentOS-Installation in den 6.x-Versionen, die viele Leute abschreckt, auch mich.

Ab CentOS 6.x können Sie entweder NetworkManagerIhre Netzwerk-Setups verwalten lassen oder es auf die alte Art und Weise tun und sie manuell unter Verwendung von /etc/sysconfig/network-scripts/ifcfg-eth0Dateitypen einrichten . Da dies eine VM ist, würde ich die Verwendung empfehlen NetworkManager.

Gehen Sie wie folgt vor, um den Verbindungseditor aufzurufen:

$ nm-connection-editor

Sie erhalten eine GUI wie diese:

                         ss von conn.  Editor

In dieser GUI müssen Sie das eth0-Setup folgendermaßen bearbeiten:

                         ss von nm # 1

                         ss von nm # 2

                         ss von nm # 3

Ohne GUI

Wenn Sie dies auf einem Headless-Server versuchen, können Sie die folgenden Dateien bearbeiten und einen Neustart durchführen, um Ihr eth0Netzwerkgerät zu aktivieren und eine IP-Adresse von einem DHCP-Server abzurufen. Ändern Sie diese beiden Optionen in der Datei /etc/sysconfig/network-scripts/ifcfg-eth0:

ONBOOT="yes"
NM_CONTROLLED="no"

Verweise


5
Centos 6.4 "nm-Verbindungseditor nicht gefunden" ... keine GUI läuft. Kopfloser Server. keine Freude. :(
Mojo

1
"Ohne GUI" -Schritte haben perfekt funktioniert, vielen Dank!
Wildcard

2
Die Schritte ohne GUI haben mich ein wenig abgehauen, bis ich die nächsten paar Antworten ausgecheckt habe. In CentOS min ist es etwas anderes als eth0. Bitte aktualisieren Sie Ihre Antwort auf ifcfg-XXXX. Außerdem wurde NM_CONTROLLED nicht aufgelistet, und da die anderen es nicht angegeben haben, habe ich es nicht hinzugefügt, sodass dies die Standardeinstellung sein muss. Das Netzwerk ist jetzt betriebsbereit. Wenn Sie die Antwort auch aktualisieren können, um "NO GUI" -Typen umzuleiten, oder sie über die GUI-Antwort zu platzieren, wäre das großartig, da ich vermute, dass n / w nur in Min-Distributionen deaktiviert ist, wenn es in normalen Distributionen deaktiviert ist fraglich, da es viele Noobs verwirren würde.
Killjoy

@killjoy - welche CentOS-Version verwendest du? Was ich oben gezeigt habe, war, wie es 2013 war, als ich das geschrieben habe. In neueren Versionen haben sich möglicherweise Änderungen ergeben. Mit NM_CONTROLLED können Sie dies auch explizit tun. Deshalb habe ich es gezeigt.
SLM

@slim - neueste 7-Version zum Datum des Posts, in der Tat haben einige andere auch andere Werte. Auf meiner Arbeits-VM ist es '-eno', also denke ich, es ist kein statisches eth0 wie zuvor.
Killjoy

18

Führen Sie den Befehl aus:

$ ip a

Dies zeigt die Schnittstellen. Ich muss /etc/sysconfig/network-scripts die entsprechende ifcfgDatei öffnen und beim Booten auf yes setzen. Starten Sie das System neu und Sie sind inaktiv.

Standardmäßig ist dies in Centos 7 auf no gesetzt


1
Ist es wichtig, wenn Sie in einer VM ausgeführt werden? Weil ich das alles ein paar Mal gemacht habe und es NOCH sagt, dass das Netzwerk nicht erreichbar ist und ich die VirtualBox-Gastzusätze nicht ohne das Netzwerk installieren kann, weil CentOS aus irgendeinem Grund bzip2 nicht enthält.
MarcusJ

1
Um dies zu erweitern, können Sie eine neue ifcfgDatei erstellen und die Schnittstelle mit der gewünschten DEVICE=[name]Option benennen , solange Sie die einschließen HWADDR=[mac address].
Centimane

Sie müssen auch diese Zeile ändern: NM_CONTROLLED = no
Rob Sedgwick

Was machst du, wenn es keine ifcfg-Datei gibt, die dem angezeigten Gerät entspricht ip a?
Marathon

8

Wenn Sie eine neue virtuelle Maschine (dh ein Gastbetriebssystem) mit VirtualBox erstellen, wird die Netzwerkkarte standardmäßig zu einer Am79C973. Während diese Netzwerkkarte von vielen Betriebssystemen unterstützt wird, scheint diese bestimmte Netzwerkkarte von CentOS 7 nicht unterstützt zu werden. Dies bedeutet, dass die einzige Netzwerkkarte, die in Ihrer neuen CentOS 7-VM angezeigt wird, die Loopback-Netzwerkkarte ist. Sie müssen lediglich die Netzwerkkarte in eine Netzwerkkarte ändern, die wie die 82543GC unterstützt wird.

Stoppen Sie zuerst die CentOS-VM, falls Sie dies noch nicht getan haben, und ändern Sie dann die Netzwerkkarte mithilfe des folgenden Befehls auf Ihrem VirtualBox-Host:

vboxmanage modifyvm "testvm" --nictype1 82543GC

Starten Sie nun Ihre CentOS VM erneut und Sie werden feststellen, dass sie nun eine Netzwerkkarte hat.

Ich hoffe das hilft.


Ich benutze keine vbox. Ich laufe nur Centos als Dual-Boot, aber ich habe das gleiche Problem wie op
samayo


6

Schauen Sie sich die NIC-Konfigurationsdateien an /etc/sysconfig/networking/devices/ifcfg-ethXund prüfen Sie, ob der Parameter ONBOOTexistiert. Wenn nicht - fügen Sie es hinzu.

grep "ONBOOT=yes" /etc/sysconfig/networking/devices/*
/etc/sysconfig/networking/devices/ifcfg-eth0:ONBOOT=yes
/etc/sysconfig/networking/devices/ifcfg-eth1:ONBOOT=yes

Ein Neustart oder /etc/init.d/network restartnach der Änderung sollte Ihre Benutzeroberfläche anzeigen.


Ein herzliches +1 für die Verwendung von grep, um herauszufinden, wo sie diese Woche die Konfiguration abgelegt haben! (Übrigens, dasselbe Problem auf Centos6 und das Update funktionierte immer noch)
gbarry

5

In Centos 7 lautet der Name der Netzwerkschnittstelle enp0s3, damit das Netzwerk funktioniert, müssen Sie die entsprechenden Dateien folgendermaßen bearbeiten:

sudo vim /etc/sysconfig/network-scripts/ifcfg-emp0s3

Und stell das ONBOOTaufyes

ONBOOT=yes

Woa woa woa, das ist eine grobe Vereinfachung der Benennung der CentOS 7-Benutzeroberfläche. Siehe: cgit.freedesktop.org/systemd/systemd/tree/src/udev/… als Referenz. Wahrscheinlich handelt es sich bei der Schnittstelle eher um eine p#p###Formatschnittstelle. In beiden Fällen ist es jedoch besser, den tatsächlichen Namen zu ermitteln, als ihn zu erraten.
Centimane

Außerdem verwendet der Fragesteller CentOS 6.4, sodass die Benennung der CentOS 7-Benutzeroberfläche nicht relevant ist. Die Benennung der Benutzeroberfläche hat sich in 7.
Centimane

1
Hat für mich gearbeitet. Vielen Dank. Ich bin auf freiem RHEL. Um den Namen der Schnittstelle zu kennen, führen Sie pifconfig aus. Ja, RHEL wurde nicht mit ifconfig ausgeliefert. Sogar in sbin. Ubuntu ist in dieser Hinsicht besser.
NotAgain

@ Centimane Hey, danke, dass du mich wissen lässt, dass ich zu stark vereinfache. Aber für mich ist es Arbeit und nicht sicher, ob es eine schlechte Praxis ist. Würde es Ihnen etwas ausmachen, den richtigen Weg zu finden, um die richtige Schnittstelle für Centos zu finden? Damit wäre es "Bulletproff" für die zukünftige Centos-Version.
Yana Agun Siswanto

1
Die Schnittstellennamen basieren auf der Hardware, sodass der Schnittstellenname davon abhängt, welchen NIC-Typ Sie verwenden und wie die Hardware an RHEL gemeldet wird. Basierend auf Ihren Schnittstellennamen RHEL denkt Ihr NIC ist ein em beded Gerät, p ort 0 s Los 3 . Unterschiedliche Hardware verwendet jedoch einen anderen NIC-Namen.
Centimane


1

Ich denke, es ist wahrscheinlich die Netzwerkeinstellung, die es auslöst. Ich fand meine Arbeit am besten mit "Bridged Adapter", da Sie dann die Netzwerkkarte des Hosts direkt verwenden. Außerdem kann der virtuelle Computer DHCP verwenden, um eine eigene interne IP-Adresse von Ihrem Router zu erhalten.

NAT ist ein bisschen seltsam, da Sie nur eine IP-Adresse verwenden (die gleiche wie die des Hosts?) Und stattdessen die Übersetzung von Ports weiterleiten - es ist also nicht wirklich eine separate IP für den virtuellen Computer. HostOnly Ich denke, nur erlaubt der virtuelle Computer, "lokales Netzwerk" mit Ihrem Host zu machen - dh. kein externes Internet. Und das lässt Sie so ziemlich mit dem Loopback-Gerät allein.


0

Dies scheint mir ein /etc/udev/rules.d/70-persistent-net.rules Problem zu sein. Wenn diese Datei nicht gelöscht wird, kann die Bearbeitung von ifcfg-ethX nicht helfen, da die alten Einstellungen bestehen bleiben. Löschen Sie die Datei und erstellen Sie sie mit "udevadm trigger" neu.


Ich verstehe nicht, wie sich das darauf bezieht, dass ein Gerät nicht vorhanden ist.
Thrig

0

Dies gilt speziell für VMBox, bei der Sie einen neuen Klon installiert haben (meiner war CentOS) und keine IP-Adresse sehen:

  1. Stoppen Sie die VM. Gehen Sie zu Einstellungen-> Netzwerk-> Erweitert. Setzen Sie dann die MAC-Adresse zurück, indem Sie auf das blaue Symbol rechts klicken. Notieren Sie sich die neue MAC-Adresse.
  2. Starten Sie die VM. Gehen Sie zu System-> Einstellungen-> Netzwerkverbindungen. Bearbeiten Sie die Verbindung eth0 -> Geräte-MAC-Adresse mit der neuen MAC-Adresse aus Schritt 1 und fügen Sie ":" zwischen zwei Zeichen ein. zB 08012741798D bis 08: 01: 27: 41: 79: 8D und speichern
  3. Starten Sie neu und melden Sie sich als root an: cd / var / lib / NetworkManager
  4. Entfernen oder verschieben Sie NetworkManager.state in einen anderen Ordner, z. B .: mv NetworkManager.state NetworkManager.state.save
  5. run: Service NetworkManager stoppen
  6. run: Service NetworkManager starten
  7. Um die neue IP-Adresse anzuzeigen, führen Sie Folgendes aus: ifconfig -a

0
  1. sudo dhclientGetan. Kein Neustart erforderlich.

  2. Wenn der DHCP-Client beim Booten automatisch gestartet werden soll, sudo vi /etc/sysconfig/network-scripts/ifcfg-enp0s3 ändern Sie die Einstellung ONBOOT=noin ONBOOT=yes.


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.