Virtualbox : 호스트 OS에서 게스트 OS의 웹 서버에 액세스하는 방법은 무엇입니까?


10

RTFM을 읽고 포럼을 많이 읽은 후에도 여전히 문제가 있으며 조언이 필요합니다. 우분투에서 Virtualbox를 사용하고 게스트로 Centos 서버를 설치했습니다. 내 문제는 호스트 OS에서 게스트 OS의 웹 서버에 액세스 할 수 없다는 것입니다.

세부 사항은 다음과 같습니다. 호스트 OS는 Ubuntu 12.04 LTS (커널 3.2.0-24- 일반) 64 비트입니다.

Virtualbox 4.1.12를 사용합니다.

무선 라우터에서 내 IP 주소를 얻습니다.

eth0      Link encap:Ethernet  HWaddr 18:03:73:42:3d:ac  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:47 Base address:0xe000 

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:3784 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3784 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:378673 (378.6 KB)  TX bytes:378673 (378.6 KB)

wlan0     Link encap:Ethernet  HWaddr 64:27:37:69:c5:d2  
          inet addr:192.168.1.15  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::6627:37ff:fe69:c5d2/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:124013 errors:0 dropped:0 overruns:0 frame:0
          TX packets:82469 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:164307087 (164.3 MB)  TX bytes:9744555 (9.7 MB)

그래서 CentOS를 게스트 OS로 설치했으며 http 서버에 액세스하고 싶습니다. Virtualbox의 네트워크 설정에서 나는 이것을 가지고 있습니다 : 브리지 어댑터에 연결됨

이름 : wlan0

VM에 무차별 모드를 허용합니다.

그리고 'Cable Connected'가 틱되었습니다.

CentOS 시스템에서 eth0 인터페이스는 255.255.255.0 마스크로 192.168.1.20 IP 주소를 선택했습니다. 지금까지 모든 것이 정상으로 보이므로 두 시스템이 서로 핑할 수 있습니다. 웹 서버를 시작했으며 포트 80에서 수신 대기 중입니다-netstat로 확인하십시오. (그러나 웹 서버의 기본 구성 파일은 변경하지 않았습니다.)

CentOS 머신의 웹 서버에 연결하고 싶지 않습니다. Firefox는 '연결할 수 없습니다'라고 Chrome은 불행하다고 말합니다. Chrome은 192.168.1.20에 연결할 수 없습니다. (여기서는 프록시를 사용하지 않습니다.)

게스트 시스템에서 포트 80으로 텔넷을 시도했지만 기쁨은 없습니다.

:~$ telnet 192.168.1.20 80
Trying 192.168.1.20...
telnet: Unable to connect to remote host: No route to host

중요한지 확실하지 않지만 게스트 OS의 라우팅 테이블은 다음과 같습니다.

[root@centos ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0
link-local      *               255.255.0.0     U     1002   0        0 eth0
default         192.168.1.1     0.0.0.0         UG    0      0        0 eth0

(재미있어, 우분투에서 CentOS로 ssh 할 수 있다는 것을 알았습니다.)

Virtualbox에서 다른 설정을 시도했지만 위의 내용은 사람들이 다른 포럼에서 제안한 내용과 가장 비슷합니다. 포트 전달, 호스트 전용 어댑터로 NAT를 시도했지만 수정하지 못했습니다.

누군가 내게 빛을 비출 수 있습니까? 건배


또한 ... 내 호스트 OS (Ubu)에서 traceroute를 수행했으며 게스트 OS에 대한 경로를 찾았습니다. 그리고 기계가 서로 핑 할 수 있고 ssh가 작동한다고 말했듯이. index_x.html이라는 더미 html 파일을 만들었으며 게스트 자체에서 lynx로 페이지를 읽을 수 있습니다. 이것이 방화벽 문제 일 수 있습니까?
Petkaux

게스트 OS에서 방화벽을 실행하고 있습니까? 그렇다면 포트 80을 차단합니까?
Fran

그래, 맞아, 프랜 iptables가 게스트 CentOS에서 나를 차단하고있었습니다. 나는 무슨 일이 일어나고 있는지 보려고 일시적으로 끄고 웹 서버에 액세스 할 수있었습니다! 이 pp!
Petkaux

@ Petkaux 같은 환경에서 샘플 문제가 있습니다. 나는 리눅스에 좋지 않다. 그래서, 당신은 당신이 당신을 위해 시도한 것을 명령 / 단계를 줄 수 있습니까? ?
Mr. Black

답변:


8

해결책은 여기에 설명 된대로 게스트 OS의 방화벽에서 포트를 여는 것입니다. http://wiki.centos.org/HowTos/Network/IPTables

Virtualbox의 네트워크 설정이 정상입니다. 브리지 된 네트워크가 올바른 설정입니다.


고마워요, 이걸 알아내는 데 시간이 좀 걸렸습니다. firewall-cmd --zone=external --add-service=http --permanent; firewall-cmd --reload
Christopher Markieta

3

아래와 같이 게스트 OS 내부 방화벽을 비활성화하면 액세스 할 수 있습니다. 유형

service iptables stop
chkconfig iptables off

게스트 OS에있을 때 명령 줄에서


감사합니다. CentOS VM의 서버에 액세스하기 위해 다른 설정을 시도하는 데 몇 시간을 보냈습니다.
uınbɐɥs

간단하고 우아한!
Edward_178118
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.