Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: ✔️ Linux-VMs
Ursprüngliche KB-Nummer: 4010059
Notiz
CentOS, auf das in diesem Artikel verwiesen wird, ist eine Linux-Verteilung und wird End Of Life (EOL) erreichen. Sie sollten sich Ihre Nutzung dieser Distribution ansehen und entsprechend planen. Weitere Informationen finden Sie unter CentOS End Of Life Guidance.
In diesem Artikel wird ein Problem behoben, bei dem Netzwerkfehler verhindern, dass Sie eine Verbindung mit virtuellen Azure Linux-Computern herstellen.
Symptome
Die primäre Schnittstelle auf einem virtuellen Azure Linux-Computer (VM) ist eth0. Wenn eth0 nicht konfiguriert ist, kann auf die VM nicht über eine Netzwerkverbindung zugegriffen werden, auch wenn andere Tools angeben, dass der virtuelle Computer aktiviert ist.
Wenn das Problem auftritt, kann die Secure Shell (SSH)-Verbindung, die über die richtigen Berechtigungen verfügt, mit der Verbindung mit der VM beginnen. Der Zugriff auf den virtuellen Computer ist jedoch aufgrund des Netzwerkproblems nicht möglich.
Die Netzwerkfehler werden in der Regel im seriellen Konsolenprotokoll protokolliert. Insbesondere werden möglicherweise die folgenden Fehler angezeigt.
Fehler im seriellen Konsolenprotokoll
CentOS Linux-Verteilungsfehler
Fehler 1
Bringing up interface eth0:
Device eth0 does not seem to be present, delaying initialization.
[FAILED]
Fehler 2
Bringing up loopback interface: [ OK ]
Bringing up interface eth0: Device eth0 has different MAC address than expected, ignoring.
[FAILED]
Fehler 3
YYYY/MM/DD HH:MM:SS Discovered Windows Azure endpoint: ###.##.###.##
/usr/sbin/waagent:2275: DeprecationWarning: BaseException.message has been deprecated as of Python 2.6
Error('socket IOError ' + e.message + ' args: ' + repr(e.args))
YYYY/MM/DD HH:MM:SS ERROR:socket IOError args: (113, 'No route to host')
YYYY/MM/DD HH:MM:SS ERROR:socket IOError args: (113, 'No route to host')
Failed services in runlevel 3:network
Fehler 4
login: YYYY/MM/DD HH:MM:SS ERROR:timed out
YYYY/MM/DD HH:MM:SS ERROR:Traceback (most recent call last):
YYYY/MM/DD HH:MM:SS ERROR: File "/usr/sbin/waagent", line 3395, in DoDhcpWork
YYYY/MM/DD HH:MM:SS ERROR: receiveBuffer = sock.recv(1024)
YYYY/MM/DD HH:MM:SS ERROR:timeout: timed out
YYYY/MM/DD HH:MM:SS ERROR:
YYYY/MM/DD HH:MM:SS DoDhcpWork: Setting socket.timeout=10, entering recv
YYYY/MM/DD HH:MM:SS ERROR:timed out
YYYY/MM/DD HH:MM:SS ERROR:Traceback (most recent call last):
YYYY/MM/DD HH:MM:SS ERROR: File "/usr/sbin/waagent", line 3395, in DoDhcpWork
YYYY/MM/DD HH:MM:SS ERROR: receiveBuffer = sock.recv(1024)
YYYY/MM/DD HH:MM:SS ERROR:timeout: timed out
Customer changed the IP from DHCP to FIXED
SUSE Linux-Verteilungsfehler
Setting up (localfs) network interfaces:
lo
lo IP address: 127.0.0.1/8
IP address: 127.0.0.2/8
done eth4
No configuration found for eth4
unused Waiting for mandatory devices: eth0
29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
eth0 No interface found
Ubuntu
Fehler 1
cloud-init-nonet waiting 120 seconds for a network device.
cloud-init-nonet gave up waiting for a network device.
ci-info: lo : 1 127.0.0.1 255.0.0.0 .
ci-info: eth1 : 0 . . 00:0d:3a:10:6a:53
route_info failed
Waiting for network configuration...
Waiting up to 60 more seconds for network configuration...
Booting system without full network configuration...
Fehler 2
ci-info: | eth0 | False | . | . | 00:0d:3a:21:f9:ad |
ci-info: +--------+-------+-----------+-----------+-------------------+
ci-info: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Route info failed!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ i=eth0
+ x=0
+ ifdown eth0
ifdown: interface eth0 not configured
+ ifup eth0
Missing required variable: address
Missing required configuration variables for interface eth0/inet.
Failed to bring up eth0.
+ exit 0x\
Lösung
Für CentOS
Entfernen Sie die HWADDR-Direktive aus der Datei ifcfg-eth0 unter /etc/sysconfig/network-script
.
Für SUSE Linux
Entfernen Sie die Dateien, die Einträge für eth0 oder eth1 enthalten, unter /etc/udev/rules.d
.
Für Ubuntu
Fehler 1
Dieser Fehler weist darauf hin, dass die Aneth1-Schnittstelle anstelle von eth0 konfiguriert ist. Dies kann auftreten, wenn das Betriebssystem auf dem virtuellen Computer keine Updates für udev installiert hat. In dieser Situation speichert udev die vorherige Netzwerkschnittstelle falsch. Wenn die Größe des virtuellen Computers geändert oder verschoben wird, empfängt er eine andere MAC-Adresse, die eth1 zugewiesen wird.
Notiz
Sie können die Version des Images aus den seriellen Protokollen überprüfen. Wenn ein sehr alter Ubuntu-Kernel (z. B. 3.2.0-58.88, veröffentlicht im Januar 2014) gefunden wird, gibt dies an, dass das Betriebssystem nicht aktualisiert wurde.
Um dieses Problem zu beheben, fügen Sie den Betriebssystemdatenträger an eine andere ausgeführte VM an, und löschen Sie dann die Udev-Regeldatei unter /etc/udev/rules.d/70-persistent-net.rules
.
Um dieses Problem in Zukunft zu vermeiden, empfehlen wir, das Udev-Paket auf dem virtuellen Computer zu aktualisieren. Führen Sie beispielsweise den folgenden Befehl aus:
sudo apt-get update
sudo apt-get install udev
Fehler 2
Um dieses Problem zu beheben, setzen Sie die /etc/network/interfaces.d/eth0.cfg
Datei auf die Standardeinstellung zurück, und fordern Sie die Azure DHCP an, um eine IP-Adresse abzurufen. Entfernen Sie dann die Dateien im Ordner, die /var/lib/dhcp
zwischengespeicherte DHCP-Einstellungen enthalten. Es folgt ein Beispiel für die Standarddatei eth0.cfg:
# The primary network interface
auto eth0
iface eth0 inet dhcp
Beheben des Problems auf einem angepassten Linux-Betriebssystem
Wenn der virtuelle Computer mit dem Netzwerkproblem Ihre hochgeladene VHD verwendet, können Sie versuchen, das Netzwerk basierend auf einem Arbeitskatalogimage zu konfigurieren. Fügen Sie dazu den problematischen Datenträger als Datenträger an die Galerie-VM an, und führen Sie dann die folgenden Befehle aus.
fdisk -l
df -h
mount /dev/sdc1 /temporary
df -h
cd /temporary/etc/udev/rules.d
ls -ltr
mv 70-persistent-net.rules /temporary/root/
cd ../../network
ls
mv interfaces interfaces.org
ls -ltr
Kopieren Sie von der funktionierenden VM in die aktuellen Ordnerdateien:
cp /etc/network/interfaces .
cp -R /etc/network/interfaces
cp -R /etc/network/interfaces.d .
cp -R /etc/network/interfaces.dynamic.d .
ls -ltr
cd ..
cd
umount /mnt
Weitere Informationen zum Anfügen eines Datenträgers an den Katalog-VIRTUELLEN Computer finden Sie unter "Anfügen eines Datenträgers an eine Windows-VM in der Azure-Portal".
Referenz: Netzwerkdateien für Betriebssysteme
Netzwerkkartenkonfiguration
/etc/sysconfig/network-scripts/ifcfg-eth0 ..ifcfg-eth0:1 (Centos, Oracle)
/etc/sysconfig/network/ifcfg-eth0 (SuSE)
/etc/network/interfaces (Ubuntu)
Hostnamenkonfiguration
/etc/sysconfig/network (Centos , Oracle)
/etc/HOSTNAME (SuSE)
/etc/hostname (Ubuntu)
DNS-Konfigurationsdateien
/etc/resolv.conf
/etc/nsswitch.conf
Konfigurationsdateien für das Standardgateway
set in ifcfg-ethn or /etc/sysconfig/network
/etc/sysconfig/network/route (SuSE)
/etc/network/interfaces (Ubuntu)
Statische Routen
/etc/sysconfig/network-scripts/route-ethX (Centos, Oracle)
/etc/sysconfig/network/routes (SuSE)
/etc/network/interfaces (Ubuntu)
Firewallregeln
/etc/sysconfig/iptables (centos, Oracle)
/etc/sysconfig/SuSEfirewall2.d/services (SuSE)
/etc/ufw/ufw.conf (Ubuntu)
Kontaktieren Sie uns für Hilfe
Wenn Sie Fragen haben oder Hilfe mit Ihren Azure-Gutschriften benötigen, dann erstellen Sie beim Azure-Support eine Support-Anforderung oder fragen Sie den Azure Community-Support. Sie können auch Produktfeedback an die Azure Feedback Community senden.