VirtualBox에서 실행중인 Ubuntu 서버에 외부에서 어떻게 액세스합니까


44

VirtualBox를 통해 Ubuntu Server 12.04 LTS를 랩톱에 설치했습니다. LAMP, OpenSSH, Mail 서버를 설치했습니다.

로그인 할 때을 (를) 실행했습니다 ifconfig. 그것은 192.168.0.3으로 inet 주소를 주었다.

따라서 이것이 서버에 바로 액세스 할 수있는 주소 여야합니까? 그러나 브라우저를 통해 액세스 할 수 없습니다. 서버는 항상 VirtualBox에 있지만 여전히 다른 브라우저 또는 모바일에서는 작동하지 않습니다. 대중이 접근 할 수 있도록하려면 어떻게해야합니까?

답변:


58

기본적으로 VirtualBox의 게스트 컴퓨터는 소위 NAT 네트워킹을 사용하도록 구성되어 있습니다. 게스트의 네트워크 어댑터의 IP는 게스트와 게이트웨이 역할을하는 상위 VirtualBox 응용 프로그램을 포함하는 "가상"서브넷에 있습니다. 게스트에게는 일반 DSL 모뎀과 같은 것을 통해 인터넷에 액세스하는 것처럼 보이지만, 인터넷을 통해 모뎀을 구성하지 않고 로컬 네트워크의 컴퓨터에 액세스 할 수없는 것처럼 게스트는 어디에서나 액세스 할 수 없습니다 접속하다.

VirtualBox 설명서 에는 다음과 같은 네트워킹 모드 목록이 있습니다.

8 개의 네트워킹 어댑터 각각은 다음 모드 중 하나에서 작동하도록 별도로 구성 할 수 있습니다.

미 첨부

이 모드에서 VirtualBox는 게스트에게 네트워크 카드가 있지만 이더넷 케이블이 카드에 연결되지 않은 것처럼 연결이 없음을보고합니다. 이러한 방식으로 가상 이더넷 케이블을 "풀"하고 연결을 중단 할 수 있습니다. 이는 게스트 운영 체제에 사용 가능한 네트워크 연결이 없음을 알리고 재구성을 시행하는 데 유용 할 수 있습니다.

NAT (네트워크 주소 변환)

웹을 탐색하고, 파일을 다운로드하고, 게스트 내부에서 전자 메일을 보는 것만으로도이 기본 모드로 충분하며이 섹션의 나머지 부분을 안전하게 건너 뛸 수 있습니다. Windows 파일 공유를 사용할 때 특정 제한 사항이 있습니다 (자세한 내용은“NAT 제한 사항”섹션 참조).

브리지 네트워킹

이는 네트워크 시뮬레이션 및 게스트에서 서버 실행과 같은 고급 네트워킹 요구를위한 것입니다. 활성화되면 VirtualBox가 설치된 네트워크 카드 중 하나에 연결하고 호스트 패킷을 직접 우회하여 호스트 운영 체제의 네트워크 스택을 우회합니다.

내부 네트워킹

이것은 선택된 가상 머신에는 보이지만 호스트 나 외부에서 실행되는 애플리케이션에는 보이지 않는 다른 종류의 소프트웨어 기반 네트워크를 만드는 데 사용할 수 있습니다.

호스트 전용 네트워킹

호스트의 물리적 네트워크 인터페이스없이 호스트와 가상 머신 세트를 포함하는 네트워크를 만드는 데 사용할 수 있습니다. 대신 가상 네트워크 인터페이스 (루프백 인터페이스와 유사한)가 호스트에 만들어져 가상 컴퓨터와 호스트 간의 연결을 제공합니다.

일반 네트워킹

거의 사용하지 않는 모드는 사용자가 VirtualBox에 포함되거나 확장 팩에 배포 될 수있는 드라이버를 선택할 수 있도록하여 동일한 일반 네트워크 인터페이스를 공유합니다.

외부에서 게스트에 액세스해야하는 경우 브리지 된 네트워킹을 구성하여 게스트에게 로컬 네트워크의 고유 한 IP를 제공해야합니다. 구성은 게스트 OS가 아닌 VirtualBox 설정에서 수행됩니다.

모바일에서 (예 : LAN 외부에서) 서버에 액세스하려면 네트워킹을 구성한 후 DSL 모뎀에서 포트 전달을 추가로 설정해야합니다.


3
기본 NAT 구성을 언급하고 브리지를 제안하면 +1입니다.
Mark Mikofski

새롭고 도움이되고 내 상황과 관련이있는 것을 가르쳐 주신 +1 감사!
heypaleblue

답장을 보내 주셔서 감사하지만 인터넷을 통해 다른 사람이 액세스 할 수 있도록 서버에 DNS를 설치할 필요는 없습니까?
Chins

@Chins : 아니오 서버에 DNS를 설치할 필요는 없습니다. 지금까지 설명한 모든 내용에는 DNS가 전혀 포함되어 있지 않습니다.
Sergey

1
@ Sergey-Bridged Adapter로 VM을 구성했습니다. ifconfig 실행시 표시되는 IP 주소는 10.210.xx이지만 호스트 시스템에서 여전히 vm을 넣을 수 없습니다. 무엇이 잘못 될 수 있습니까?
Andy Dufresne

9

좀 더 자세한 정보를 제공하기 위해 다음은 브리지 네트워크를 설정하는 실제 단계입니다.

브리지 된 네트워킹을 활성화하려면 가상 머신의 설정 대화 상자를 열고 "네트워크"페이지로 이동하여 "연결된"필드의 드롭 다운 목록에서 "브리지 네트워크"를 선택하기 만하면됩니다. 마지막으로, 페이지 하단의 목록에서 원하는 호스트 인터페이스를 선택하십시오. 여기에는 시스템의 실제 네트워크 인터페이스가 포함됩니다. 예를 들어 일반적인 MacBook에서는 "en1 : AirPort"(무선 인터페이스)와 "en0 : Ethernet"(네트워크 케이블과의 인터페이스)을 선택할 수 있습니다.

출처

그런 다음 가상 머신을 다시 시작하고 외부에 연결할 수있었습니다.


예를 들어, Mac OS 10.1.11에서는 Wi-Fi 어댑터를 직접 브리지 할 수 없지만, 먼저 네트워크 설정에서 '브리지 어댑터'를 만들어야합니다
twicejr

1
그러나 고정 IP 주소와 같은 것은 브리지 모드에서 어떻게 작동합니까? 그렇다면 모든 것이 동일한 연결에 있습니까? VM의 웹 서버가 일부 IP 주소 대신 로컬 호스트에 있습니까? 포트가 1 : 1로 전달됩니까? 따라서 Tomcat이 localhost : 8080의 VM에있는 경우 호스트 시스템은 브라우저에 localhost : 8080을 입력하여 VM을 확인합니까?
anon58192932
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.