호스트에서 Apache 서버에 액세스하는 데 문제가 있습니다.
저는 Windows 7에 Fedora 15 VM VirtualBox를 설치했습니다. 이 VM 내에는 게스트 내에서 Apache 서버가 실행되고 제대로 작동하고 있습니다.
이 작업을 수행하기 위해 내가 무엇을 더 할 수 있는지 잘 모르겠습니다.
내가 가진 구성은 다음과 같습니다. 호스트 OS IP:
IPv4 Address. . . . . . . . . . . : 192.168.0.10
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.0.2
VM의 경우 두 개의 네트워크 어댑터가 설치되어 있습니다.
- VM 시스템이 인터넷에 액세스할 수 있도록 NAT가 작동합니다.
- 호스트 전용 어댑터.
게스트의 구성은 다음과 같습니다.
[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)
호스트에서 수행하면 ping 192.168.56.101
적절한 응답을 받지만 웹 서비스에 액세스하려는 모든 시도가 실패합니다. 시간 초과 오류가 발생합니다.
답변1
일반적으로 가상화된 게스트에 대해 ICMP 트래픽(예: 핑)이 허용되지만 TCP 트래픽(예: HTTP 요청)이 차단되는 경우 문제는 게스트 OS에서 실행되는 소프트웨어 방화벽에 있습니다.
메모:이 설명의 명령 구문 구문은 Fedora Core에만 적용되지만 일반적인 단계는 다른 Linux 배포판에서 사용하기 위해 추상화될 수 있습니다.
Fedora Core의 기본 설치에는 기본적으로 IPTable이 활성화되어 있습니다. IPTables 서비스의 상태를 확인하여 '활성' 상태인지 확인하세요.
[root@gauss ~]# /bin/systemctl status iptables.service
또한 현재 활성화된 IPTables 규칙을 보려면 IPTables init 스크립트의 상태를 확인하세요.
[root@gauss ~]# /usr/libexec/iptables.init status
INPUT 체인에 아래에 포함된 것과 유사한 IPTables 규칙이 있는 경우 호스트에 대한 TCP/IP 및 UDP 트래픽을 모두 차단하는 역할을 합니다.
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
HTTP 트래픽을 활성화하는 방법에 관한 여러 옵션이 있습니다(예: INPUT 체인에 IPTables 규칙을 추가하여 하이퍼바이저의 호스트 전용 네트워크 IP 192.168.56.1의 포트 80에서 TCP의 트래픽을 명시적으로 수락하고 INPUT 체인에서 범용 DROP 규칙을 제거함). 체인 등).
게스트는 외부 세계를 향하지 않고 호스트 전용 네트워크에 있기 때문에 가장 쉬운 옵션은 IPTables를 중지하고 비활성화하여 재부팅 시 자동으로 시작되지 않도록 하는 것입니다.
[root@gauss ~]# /bin/systemctl stop iptables.service
[root@gauss ~]# /bin/systemctl disable iptables.service
이 작업이 완료되면 Fedora Core 게스트는 공용 인터페이스를 통해 HTTP 요청을 처리할 수 있으며 브라우저나 다른 HTTP 클라이언트에서 192.168.56.101을 눌러 Windows 7 하이퍼바이저에서 페이지를 볼 수 있습니다.