Greifen Sie vom Host aus auf den Apache-Server zu, der in der Fedora-Gast-VirtualBox ausgeführt wird

Greifen Sie vom Host aus auf den Apache-Server zu, der in der Fedora-Gast-VirtualBox ausgeführt wird

Ich habe Probleme, vom Host aus auf den Apache-Server zuzugreifen.

Ich habe Fedora 15 VM VirtualBox unter Windows 7 installiert. Innerhalb dieser VM läuft ein Apache-Server, der im Gast einwandfrei funktioniert.

Ich bin nicht sicher, was ich sonst noch tun kann, damit es funktioniert.

Hier ist die Konfiguration, die ich habe. Host-OS-IP:

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

Für VM habe ich zwei Netzwerkadapter installiert:

  1. NAT, damit die VM-Maschine Zugriff auf das Internet hat, es funktioniert.
  2. Host-Only-Adapter.

Details zum Host-Only-Netzwerk Host-Only-DHCP-Server

Hier ist die Konfiguration auf dem Gast:

[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)

Wenn ich ping 192.168.56.101das vom Host aus mache, bekomme ich die richtigen Antworten, aber alle Versuche, auf den Webdienst zuzugreifen, schlagen fehl. Ich erhalte Timeout-Fehler.

Antwort1

Wenn ICMP-Verkehr (z. B. Ping) zu einem virtualisierten Gast zugelassen wird, TCP-Verkehr (z. B. HTTP-Anfragen) jedoch blockiert wird, liegt das Problem normalerweise an einer Software-Firewall, die auf dem Gastbetriebssystem ausgeführt wird.

Notiz:Die Befehlssyntax in dieser Erklärung ist Fedora Core-spezifisch, aber die allgemeinen Schritte können für die Verwendung auf anderen Linux-Distributionen abstrahiert werden.

Bei Standardinstallationen von Fedora Core ist IPTables standardmäßig aktiviert. Überprüfen Sie den Status des IPTables-Dienstes, um festzustellen, ob er sich im Status „aktiv“ befindet.

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

Um die aktuell aktiven IPTables-Regeln anzuzeigen, überprüfen Sie außerdem den Status des IPTables-Init-Skripts.

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

Wenn in der INPUT-Kette eine Regel und eine IPTables vorhanden sind, die der unten aufgeführten ähnelt, ist diese dafür verantwortlich, sowohl TCP/IP- als auch UDP-Verkehr zum Host zu blockieren.

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

Zum Aktivieren von HTTP-Verkehr gibt es mehrere Möglichkeiten (z. B. Hinzufügen einer IPTables-Regel in der INPUT-Kette, um Verkehr von TCP auf Port 80 von der Host-Only-Netzwerk-IP 192.168.56.1 des Hypervisors explizit zu akzeptieren, Entfernen der universellen DROP-Regel in der INPUT-Kette usw.).

Da der Gast nicht mit der Außenwelt verbunden ist und sich in einem Host-Only-Netzwerk befindet, besteht die einfachste Möglichkeit darin, IPTables zu stoppen und zu deaktivieren, sodass es beim Neustart nicht automatisch gestartet wird.

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

Sobald dies abgeschlossen ist, kann der Fedora Core-Gast HTTP-Anfragen über seine öffentliche Schnittstelle bedienen und die Seiten können auf dem Windows 7-Hypervisor angezeigt werden, indem man in einem Browser oder einem anderen HTTP-Client die Adresse 192.168.56.101 aufruft.

verwandte Informationen