리눅스에서 돌아가는 훌륭한 가상머신 Virtual box!

 하지만 NAT 구성을 사용할 경우 웬일인지 호스트에서 게스트로의 Ping 과 ssh, telnet 접속이 되지 않았다..

 그래서 브릿지 구성을 통하여 문제를 해결했다.

 먼저 임의의 디렉토리에 다음의 스크립트를 작성한다.

startup.sh (Language : perl)
  1. #!/bin/sh
  2.  
  3. brctl addbr br0
  4.  
  5. ifconfig eth0 0.0.0.0
  6. #ifconfig wlan0 0.0.0.0
  7.  
  8. # for wireless lan
  9. #brctl addif br0 wlan0
  10.  
  11. # for wired lan
  12. brctl addif br0 eth0
  13.  
  14. # If you have a dhcp-server uncomment this line
  15. dhclient3 br0
  16. #dhcpcd br0 -A
  17.  
  18. # If you have a static IP uncomment the following lines and
  19. # change the IP accordingly to ypur subnet
  20. #ifconfig br0 192.168.1.110 up
  21. #route add default gw 192.168.1.1
  22.  
  23. # Change your username accordingly
  24. tunctl -t tap0 -u pchero
  25. tunctl -t tap1 -u pchero
  26.  
  27. # Now add the tap-device to the bridge
  28. ifconfig tap0 up
  29. ifconfig tap1 up
  30. brctl addif br0 tap0
  31. brctl addif br0 tap1
  32.  
  33. route add -net 192.168.10.0 netmask 255.255.255.0 br0
  34. route add -net 192.168.100.0 netmask 255.255.255.0 br0
  35.  

 위의 스크립트 파일 구성은 브릿지 네트워크를 사용하는 가상 머신이 두개일 때 사용하는 스크립트이다.

 만약 세개 이상이 필요하다면 원하는 숫자만큼 tap 인터페이스를 늘리고 br0에 붙여서 사용하면 된다.

 다음은 종료시 사용하는 스크립트이다.

stop.sh (Language : perl)
  1. #!/bin/bash
  2.  
  3. # Biring the interfaces down
  4. ifconfig tap0 down
  5. ifconfig tap1 down
  6. ifconfig br0 down
  7. #ifconfig br1 down
  8. brctl delif br0 tap0
  9. brctl delif br0 tap1
  10. #brctl delif br1 tap1
  11. brctl delbr br0
  12. #brctl delbr br1
  13.  
  14. # Now setup your network-interface again
  15. # for dhcp uncommnet the following line
  16.  
  17. # for wired lan
  18. dhclient3 eth0
  19.  
  20. # for wireless lan
  21. #dhclient3 wlan0
  22.  
  23. # For a static IP uncommnet the following lines and change them accordingly
  24. #ifconfig eth0 192.168.10.100
  25. #route add default gw 192.168.10.1 dev eth0
  26.  

 이렇게 만들어진 스크립트를 사용하기 위해서는 다음의 작업들이 더 필요하다.

 먼저 네트워크 세팅에서 호스트 네트워크로 변경한다.

 그런 다음, 호스트 인터페이스 설정에서 설정 프로그램에 startup.sh, 종료 프로그램에 stop.sh, 인터페이스 이름에 설정한 tap0, tap1 을 설정한다. 다음은 설정 예이다.

gksudo /home/pchero/virtual_box/starttun.sh
gksudo /home/pchero/virtual_box/stop.sh

 앞쪽에 붙어있는 gksudo 는 root의 권한으로 사용하기 위한 명령이다.

 ….하지만 나의 경우는 이상하게 gksudo 로 설정을 해도 되지 않았다. 일일이 하나씩 스크립트를 수동으로 실행을 시켜야 되었다..

 왜그럴까….;;;

Tags: ,

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.