Freigeben über


Es kann keine Verbindung mit azure Linux VM über das Netzwerk hergestellt werden.

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.