4 votes

Accéder au serveur Apache fonctionnant dans Fedora guest VirtualBox depuis l'hôte

J'ai des difficultés à accéder au serveur Apache à partir de l'hôte.

J'ai installé Fedora 15 VM VirtualBox sur Windows 7. Dans cette VM, j'ai un serveur Apache qui tourne et qui fonctionne bien dans l'invité.

Je ne sais pas ce que je peux faire d'autre pour que cela fonctionne.

Voici la configuration que j'ai. IP du système d'exploitation de l'hôte :

   IPv4 Address. . . . . . . . . . . : 192.168.0.10
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 192.168.0.2

Pour la VM, j'ai installé deux adaptateurs réseau :

  1. NAT pour que la machine VM ait accès à Internet, cela fonctionne.
  2. Adaptateur réservé à l'hôte.

Host-Only Network DetailsHost-Only DHCP Server

Voici la configuration sur l'invité :

[root@localhost network-scripts]# ifconfig
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:14 errors:0 dropped:0 overruns:0 frame:0
          TX packets:14 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:1394 (1.3 KiB)  TX bytes:1394 (1.3 KiB)

p2p1      Link encap:Ethernet  HWaddr 08:00:27:DD:DD:EA  
          inet addr:10.0.2.15  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fedd:ddea/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1289 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1207 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:936406 (914.4 KiB)  TX bytes:137003 (133.7 KiB)

p7p1      Link encap:Ethernet  HWaddr 08:00:27:44:A3:DB  
          inet addr:192.168.56.101  Bcast:192.168.56.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe44:a3db/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:313 errors:0 dropped:0 overruns:0 frame:0
          TX packets:386 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:30505 (29.7 KiB)  TX bytes:44783 (43.7 KiB)

Quand je le fais ping 192.168.56.101 de l'hôte, j'obtiens des réponses correctes, mais toutes les tentatives d'accès au service web échouent. J'obtiens des erreurs de dépassement de délai.

2voto

writes_on Points 435

En règle générale, lorsque le trafic ICMP (ping, par exemple) est autorisé vers un invité virtualisé mais que le trafic TCP (requêtes HTTP, par exemple) est bloqué, le problème se situe au niveau d'un pare-feu logiciel fonctionnant sur le système d'exploitation de l'invité.

Remarque : La syntaxe des commandes dans cette explication est spécifique à Fedora Core, mais les étapes générales peuvent être abstraites pour être utilisées sur d'autres distributions de Linux.

Dans les installations par défaut de Fedora Core, IPTables est activé dès le départ. Vérifiez l'état du service IPTables pour voir s'il est dans un état "actif".

[root@gauss ~]# /bin/systemctl status iptables.service

En outre, pour connaître les règles IPTables actuellement actives, vérifiez l'état de IPTables init script.

[root@gauss ~]# /usr/libexec/iptables.init status

S'il existe une règle IPTables dans la chaîne INPUT similaire à celle présentée ci-dessous, elle est responsable du blocage du trafic TCP/IP et UDP vers l'hôte.

REJECT     all  --  0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited

Il existe de nombreuses options pour activer le trafic HTTP (par exemple, ajouter une règle IPTables dans la chaîne INPUT pour accepter explicitement le trafic TCP sur le port 80 à partir du réseau de l'hyperviseur IP 192.168.56.1, supprimer la règle DROP universelle dans la chaîne INPUT, etc.)

Étant donné que l'invité n'est pas confronté au monde extérieur et qu'il se trouve sur un réseau réservé à l'hôte, la solution la plus simple consiste à arrêter IPTables et à le désactiver afin qu'il ne démarre pas automatiquement au redémarrage.

[root@gauss ~]# /bin/systemctl stop  iptables.service
[root@gauss ~]# /bin/systemctl disable iptables.service

Une fois cette étape franchie, l'invité Fedora Core sera en mesure de répondre aux requêtes HTTP via son interface publique et les pages pourront être visualisées sur l'hyperviseur Windows 7 en accédant à 192.168.56.101 dans un navigateur ou tout autre client HTTP.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X