버추얼박스(VirtualBox) 구동시 게스트(Guest) OS의 ip를 임의로 고정하고, 인터넷도 되게 하는 방법

By | 9월 1, 2011

* 원래 포스팅 잘 안하고 링크만 하는데 워낙 장시간의 구글링과 삽질을 한 관계로 포스팅합니다. ( ㅠ_ㅠ)=b

1. 문제 상황

버추얼박스 구동시 호스트<=>게스트 간 통신이 가능하게 하고, 게스트에서 인터넷이 되게 하는 가장 간단한
방법은 네트워크를 '브리지 어댑터' 로 설정하고, 호스트나 게스트 모두 공유기의 DHCP를 사용하여 ip를
발급 받는 방식이다. 그러나 이 방식의 경우, 현재 네트워크(공유기)의 ip대역만을 사용할 수 있기 때문에 항상
다른 사람과 ip충돌의 가능성이 있고, 따라서 게스트의 ip를 고정하는 것이 의미가 없다는 것이 문제이다.
게스트의 ip를 고정할 수 없다면, 가령 가상머신에서 돌리는 weblogic의 설정파일에 ip를 박아놓았을 경우,
네트워크 환경이 바뀌면 설정파일을 모두 수정해 주어야 하는 일 등, 여러가지로 곤란한 상황이 발생할 수 있다.

 

2. 버추얼박스를 통해 최종적으로 만들고자 하는 환경

   (1) 호스트 <=> 게스트 간 통신(ex: ssh)이 가능하다
   (2) 게스트 <=> 또 다른 게스트 간 통신이 가능하다.
(3) 게스트의 ip가 바뀌거나 충돌하지 않도록, 게스트 ip를 임의의 대역 내에서 고정할 수 있다.
(4) 게스트에서 인터넷이 된다.

 

 

3. 글쓴이의 환경

(1) 호스트 OS : 우분투 11.04
(2) 게스트 OS : 솔라리스 10/09, Windows 7

 

4. 방법

   (1)  '호스트 전용 어댑터' 생성

- 이 어댑터는 호스트<=> 게스트간 통신이 가능하도록 호스트 측에 설치되는 가상의 네트워크 카드 이다.

- 버추얼박스 > 파일 > 환경설정 > 네트워크 에서 호스트 전용 네트워크 추가

- 어댑터 탭
- ipv4 주소 : 192.168.xx.1
(게스트가 호스트에 접근할 때 여기에 설정한 ip로 접근한다. - ex: 192.168.56.1)
- ipv4 서브넷 마스크 : 잘 모르겠으면 255.255.255.0 으로 하자 ^^;

- DHCP서버 탭
- 공유기가 아닌 버추얼박스에서 제공하는 DHCP서버를 말하는 것으로, 사용하지 않는다. (체크해제)

   (2) 게스트OS의 네트워크 설정

   - 네트워크 카드는 2개를 셋팅한다

         (a) 인터넷을 사용하기 위한 네트워크 카드  
            - 가상머신 선택 > 설정 > 네트워크 에서 어댑터1을 'NAT'로 설정함.

(b) 호스트 <=> 게스트간 통신을 위한 네트워크 카드
가상머신 선택 > 설정 > 네트워크 에서 어댑터2를 '호스트 전용 어댑터'로 설정.

            설정할 때에 드롭다운 박스의 선택지 중  (1)에서 생성한 호스트 전용 어댑터를 선택한다.

- 게스트OS를 기동한 후 추가작업으로 마무리한다.

         - 첫번째 네트워크 카드(NAT)는 DHCP로 설정해 준다.
- 두 번째 네트워크 카드(호스트 전용 어댑터)는 ip를 수동으로 설정해 준다. (ex: 192.168.56.101)

            (여기서 설정한 ip가 호스트 <=> 게스트 간 통신시 게스트의 ip가 된다.)
- 게스트OS가 솔라리스인 경우 참고사항

         솔라리스의 경우 PnP를 지원하지 않는 관계로, 버추얼박스에서 새롭게 추가한 네트워크 카드는 인식하지
못한다. 그러므로 sys-unconfig 명령을 통해 시스템 설정을 다시 초기화 하면서 버추얼박스에서 추가한
네트워크 카드를 인식시켜야 한다. (네트워크 카드를 인식시키는데 더 간단한 방법이 있으면 댓글 주세요~)

* 솔라리스에서 sys-unconfig 를 진행할 때 주의사항

             - 사용할 네트워크 카드를 선택하는 질문에서 두 개 모두 체크(X) 해 주어야 한다.

   (3) 테스트

(a) 호스트OS의 네트워크 카드로 '호스트 전용 어댑터' 와 (1)에서 설정한  ip가 셋팅되어 있는지 확인한다.

      (b) 게스트OS의 네트워크 카드가, 버추얼박스에서 설정한 대로 설정되어 있는지 확인한다.
또한 '호스트 전용 어댑터' 네트워크 카드의 ip가 사용자가 지정한 그대로 셋팅되어 있는지 확인한다.
(c) 호스트 <=> 게스트간 ping 및 기타 연결을 시도해 본다.
* 윈도우로 ping 요청을 날릴 경우 방화벽에 의해 ping이 가지 않을 수 있다. (클릭)
(d) 게스트에서 브라우저로 인터넷연결을 확인한다.
(e) 이와 같이 설정한 또 다른 게스트OS가 있다면 게스트 <=> 게스트의 통신도 확인해 보자.
 

* 참고 사이트
http://open-source-experiments.blogspot.com/2008/04/virtualbox-case-study-making-host-only.html
http://christophermaier.name/2010/09/01/host-only-networking-with-virtualbox.html

Subscribe
Notify of
guest
12 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
김효섭
김효섭
11 years ago

감사합니다. 많은 도움이 되었습니다 ^^

호러블캣
11 years ago

흐흐 도움이 되셨다니 다행이네요, 많은 삽질을 거쳤기 때문에 각별한 애정이 있는 글입니다.^^

몽아
몽아
11 years ago

와우~ 찾았던 자룐데.. 덕분에 설정 잘 마무리했네요~

호러블캣
11 years ago
Reply to  몽아

흐흐흐~ 제가 고생한 보람이 있군요. 방문 감사합니다 ^^

ㅠㅠ
ㅠㅠ
11 years ago

정말 ㅠㅠ날 정도로 감사드립니다.
많은 삽질을 거친 끝에 님의 글을 발견했습니다. ㅠㅠ
덕분에 이제 됩니다! 얏호!!! ㄳㄳㄳㄳㄳㄳㄳㄳ!!!!!!!!

호러블캣
11 years ago
Reply to  ㅠㅠ

잘 된다니 저도 기쁘네요 ^ㅁ^/!!

맥사용자
맥사용자
10 years ago

맥-버추얼박스(윈7) 사용자입니다. 글쓰신 부분 중
” (a) 호스트OS의 네트워크 카드로 ‘호스트 전용 어댑터’ 와 (1)에서 설정한 ip가 셋팅되어 있는지 확인한다.” 를 이해하지 못하였습니다. 맥사용자를 위해서 좀 더 풀어서 설명해 주실 수 있을까요? 다른 것은 다 이해가 되었는데 이 부분이 이해가 안되서 설정을 못하고 있습니다.

호러블캣
10 years ago
Reply to  맥사용자

그 말의 뜻은요…
버추얼박스에서 호스트전용어댑터를 셋팅하면 호스트OS(ex:윈도우7)의 네트워크 제어판에 “VirtualBox Host-Only Network” 라는 가상의 장치가 생기는데, 이 장치의 등록정보를 파고 들어가 보면, 호스트전용어댑터 생성시 설정한 IP가 박혀 있을 거라는 말입니다.
정상적으로 수행하면 당연히 이렇게 되어 있어야 하는 것이기 때문에, 특별히 설정해 주어야 하는 부분은 아니구요,
“(3) 테스트” 에 쓴 글들은, 혹시 안되면 한 번 확인해 보시라는 의미에서 쓴 부분입니다.

kenu
10 years ago

설명 감사드립니다.
복 받으실 겁니다. ^^b

호러블캣
10 years ago
Reply to  kenu

kenu님 이시군요! (>. < ) 이런 누추한 곳 까지, 영광입니다~!

leemosy
leemosy
10 years ago

상세한 설명 정말 감사합니다.덕분에 10분만에 문제해결했네요.ㅎ

itpsolver
10 years ago
Reply to  leemosy

ㅎㅎ 도움이 되서 기쁘네요~