Vmware debug vm

De The Linux Craftsman
Aller à la navigation Aller à la recherche

Introduction

Dans ce tutoriel, nous allons nous placer dans le cas de figure typique ou la machine virtuelle ne ping pas Internet ! Nous allons voir, étape par étape, en remontant le modèle OSI, où les problèmes peuvent se trouver...

Le schéma réseau est simple, nous avons une machine virtuelle connecté au VmNet8 :

                                      NAT
               192.168.17.0/24        |
  +--------+                      +----+-----+
  |   VM   +----------------------+Passerelle+-> VERS INTERNET
  +--------+                      +----+-----+
192.168.17.201            192.168.17.2 |

Couche physique (OSI 1)

Sur VmWare le niveau physique se résume à regarder si le câble réseau est branché dans la carte réseau :

Vmware nic plugged.jpg

Sur le Linux à regarder si la carte est UP :

[root@web ~]# ip l
...
2: enp0s5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 00:0c:29:fd:ed:d2 brd ff:ff:ff:ff:ff:ff

Repérez bien le state UP !

Si l'état est à down il faut utiliser, pour la carte enp0s5, la commande suivante :

[root@web ~]# ip l set dev enp0s5 up

Ou avec nmtui si vous avez le NetworkManager d'installé (eg. Rocky Linux)

Vmware nic up nmtui.jpg

Warning-icon.png ASTUCE : Si vous avez plusieurs cartes réseau, n'hésitez pas à ouvrir le menu avancé pour noter l'adresse MAC de la carte connectée au VmNet8 !

Vmware nic advanced.jpg

Et vérifier sur le terminal que c'est la bonne carte avec ip a ou ip l :

[root@web-tlc ~]# ip a
...
2: enp0s5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:fd:ed:d2 brd ff:ff:ff:ff:ff:ff
    inet 192.168.17.201/24 brd 192.168.17.255 scope global noprefixroute enp0s5
       valid_lft forever preferred_lft forever

Que la carte à bien la même adresse MAC : link/ether 00:0c:29:fd:ed:d2

Couche MAC/LLC (OSI 2)

Il faut vérifier si la carte est branchée dans le bon commutateur (ici VmNet8) :

Vmware nic plugged vmnet.jpg

Couche réseau (OSI 3)

Adresse IP dans la plage réseau

Dans cette partie nous allons d'abord vérifier que la machine à une IP dans la plage réseau du VmNet8. Pour cela nous allons afficher le Virtual Network Editor ainsi que l'adresse de la machine virtuelle :

Vmware nat settings.jpg
[root@web ~]# ip a
...
2: enp0s5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:fd:ed:d2 brd ff:ff:ff:ff:ff:ff
    inet 192.168.17.201/24 brd 192.168.17.255 scope global noprefixroute enp0s5
       valid_lft forever preferred_lft forever

Le VmNet8 est dans le sous-reseau 192.168.17.0/24 et la machine virtuelle possède une adresse dans ce sous-réseau.

Passerelle

Nous allons maintenant nous assurer que la passerelle utilisée par notre machine virtuelle est bonne. Nous allons afficher son adresse dans le Virtual Network Editor ainsi que sur la machine virtuelle :

Vmware nat gateway.jpg
[root@web ~]# ip r
default via 192.168.17.2 dev enp0s5 proto static metric 100 
192.168.17.0/24 dev enp0s5 proto kernel scope link src 192.168.17.201 metric 100

On peut constater que l'adresse de la passerelle sur VmWare est 192.168.17.2 et c'est bien la même sur Linux : default via 192.168.17.2 ...

Vérification

A ce stade la commande suivante devrait fonctionner :

# ping 1.1.1.1

Si ce n'est pas le cas, recommencez au niveau OSI 1, vous avez raté une étape...

Couche application (OSI 7)

Nous allons vérifier que le DNS est correcte en affichant le contenu du fichier /etc/resolv.conf :

[root@web ~]# cat /etc/resolv.conf 
# Generated by NetworkManager
nameserver 1.1.1.1

Dans ce fichier vous devriez avoir au moins une ligne nameserver avec une adresse IP de serveur DNS (eg. 8.8.8.8, 8.8.4.4, 1.1.1.1, 1.0.0.1, etc...) Si ce n'est pas le cas, utilisez nmtui pour modifier l'adresse du serveur DNS

Nmtui dns change1.jpg
Nmtui dns change2.jpg
Nmtui dns change3.jpg