12/25/2013

Virtual Box - Network 설정 과 Window Network Adapter 이해

1. Virtual Box의 내부 Network 관련설정 


Virtual Box에 Network를 다양하게 존재하지만, 다 사용하지 않기에 여기서는 다루지 않고 아래의 관련메뉴얼과 다른사이트를 참조하기 바란다.
현재 많이 사용하는 Network 설정은 기본 설정인  NAT와 Bridge 설정만을 설명하겠다.
본인은 Linux를 Server 목적으로 Bridged Networking으로 만 사용한다.


이유는 아래의 표를 보면 모든기능을 사용가능한 것이 Bridged임을 쉽게 알수있다.
NAT의 제약사항은 기본으로 알고 있으리라고 생각한다.

VM ↔ HostVM1 ↔ VM2VM → InternetVM ← Internet
Host-only++
Internal+
Bridged++++
NAT+Port forwarding
NAT Network++Port forwarding


1.1 Virtual Box의 네트워크 설정 

Virtual Box를 새로구성한 후 아래와 같이 Virtual Box에서 네트워크 관련설정이 가능하다.

  설정->네트워크->어댑터1 설정

어댑터는 Guest OS에서 Network 관련설정을 요약을 해보면 다음과 같다.
  1. 어댑터의 Network 구성설정 ( Host 와 Guest OS 네트워크 구성설정)
  2. Guest OS Network Device 관련설정 
  3. MAC 주소 및 NAT를 위한 포트포워딩 설정 




  • 다음에 연결됨  (어댑터의 네트워크 구성설정)
  1. Not attached : 연결되지 않음 , 사용안함 
  2. Network Address Translation (NAT) : 일반적인 NAT 모드
  3. NAT Network : 개선된 NAT 모드, 추가적인 명령, VboxManage 이용 
  4. Bridged networking : Virtual box가 이미 사용중인 window adapter 연결하여 brigde로 사용 
  5. Internal networking : 다른종류의 soft based network라고 하는데 잘모르겠음.
  6. Host-only networking : VirtualBox Host-Only Network 이용
  7. Generic networking : 거의사용 안한다고 한다.

  • 어댑터 종류 ( Virtual Box의 Guest OS의 Network Device)
  1. AMD PCNet PCI II (Am79C970A);
  2. AMD PCNet FAST III (Am79C973, the default);
  3. Intel PRO/1000 MT Desktop (82540EM);
  4. Intel PRO/1000 T Server (82543GC);
  5. Intel PRO/1000 MT Server (82545EM);
  6. Paravirtualized network adapter (virtio-net).

  • 무작위모드 (Promiscuous mode)
무작위모드 (promiscous mode) 주로 스니핑할때 사용되며, Virtual Box의 메뉴얼을 읽어보면 대부분의 무선랜은 이 기능을 지원하지 못한다고 언급하고 있다.
하지만, 브리지하는 것이 유선으로 연결하는 것이기때문에 , Host 내부에서 사용하는 의미가 있을 것 같다.
  1. 거부                :  기본설정 (무작위 기능을 사용안함)
  2. 가상머신에 허용 :  Host Network 정보는 볼수 없지만, VM사이에서 Network 정보는 볼수 있다.  
  3. 모두 허용         :  모든제한을 제거, Host Network 정보를 볼수있다.
**상위기능 정리
1/2/3번을 선택하던 Host에 연결된 Network Device의 Mac broadcast/multicast는 정보는 볼수있다.
하지만, Guest OS에서 Host의 Network Device의 Packet 정보를 보고 싶다면, 3번을 선택해야한다.

상위기능을 쉽게 테스트 해보려면,GuestOS에서 Wireshark를 설치하여 동작시켜보면 안다.
다만 Wireshark의 Interface에서 Promiscuous Mode설정하고 Capture해보고 비교해보면 안다.


  • MAC 주소 
추후 DHCP를 사용하게된다면 이곳을 직접 설정하여 DHCP Server에 설정된 MAC으로 동일하게 설정이 가능하다.


  • 케이블 연결됨 
Virtual Box의 Network Adapter와 상위 Window Network Adapter에 연결
상위와 같이 아래의 두 Adapter를 연결함
  1. Intel PRO/1000 MT Desktop (82540EM)  (가상유선랜)
  2. Intel Dual Band Wireless-AC 7250         (무선랜)

  • 포트포워딩 
네트워크 구성을 NAT를 사용할 경우, 외부 Network가 내부 Network에 접근이 가능하도록 하는 기능이다.
네트워크 구성을 브리지어댑터 모드로 구성한다면 사용할 일이 없다.



1.2 관련용어 정리 및 참고자료 


  • 무작위모드 (Promiscuous mode)
무작위 모드를 사용하면, 동일한 네트워크에 연결된 다른 Network Device들의 Packet정보를 보는 것이 가능한데 이를 스니핑이라고 한다.
어떻게 같은 Network에서 다른 Network Device의 Packet 정보를 볼 수 있는가 하면, Ethernet의 물리적 구조를 보면  쉽게 알수 있다.
기본적으로 Ethernet은  BUS구조이며, 한 Device가 송신하면 모든 Device들이 다 받도록 구성되어있다. 그래서 이전에는 Dummy Hub를 이용하여 Debugging도 하고 그랬지만,
요즘은 L2스위치, 즉 스위치 Hub가 기본이라 MAC 주소를 파악하여, 해당 Device에게만 받도록 동작하도록 되어있다.

물론 MAC Broadcast/Multicast는 모든 Device들이 받기 때문에 상위정보와 관계가 없다.



  • 무작위모드 참고자료 와 Wireshark 사용법
  https://en.wikipedia.org/wiki/Promiscuous_mode
  https://wiki.wireshark.org/CaptureSetup/Ethernet


  • 무작위모드 설정방법

$ ifconfig eth0 promisc 
$ ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 08:00:27:0f:63:43  
          inet addr:192.168.1.100  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe0f:6343/64 Scope:Link
          UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metric:1
          RX packets:164 errors:0 dropped:0 overruns:0 frame:0
          TX packets:171 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:19383 (19.3 KB)  TX bytes:24384 (24.3 KB)

$ sudo ifconfig eth0 -promisc
$ ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 08:00:27:0f:63:43  
          inet addr:192.168.1.100  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe0f:6343/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:308 errors:0 dropped:0 overruns:0 frame:0
          TX packets:216 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:46911 (46.9 KB)  TX bytes:30378 (30.3 KB)


  • 네트워크 관련 매뉴얼
6.1/6.2 참고 및 관련기능 참고
6.5 Bridged Networking 기능
6.5 Bridged Networking 의 (WLAN의 promiscuous mode 제한)
6.11. Improving network performance (Promiscuous mode 설명)
  https://www.virtualbox.org/manual/ch06.html


  • 버추얼 박스 네트워크 설정 가이드

  http://solatech.tistory.com/263


  • 버추얼 박스 네트워크 설정 자료

  http://niceit.tistory.com/188


2. Window(Host)의 네트워크 어댑터 확인 

제어판->네트워크 및 인터넷->네트워크 상태 및 작업보기 ->어댑터 설정 변경
나의 경우는 아래와 같이 6개의 어댑터가 존재한다.

하지만 실제로 거의 사용하는 것은 3번 유선4번 무선 일뿐이다.
그리고, 2번의 경우 Virtual Box의 네트워크 구성을 Bridged Networking로 구성할 경우 사용할 필요가 없어진다.


  • Window Network Adapters
  1. Bluetooth 네트워크 연결2   (Bluetooth 장치(개인 영역 네트워크) #2)
  2. VirtualBox-Host-Only Network (VirtualBox Host-Only Ethernet Adapter)
  3. 로컬 영역 연결         (Realtek PCIe GBE Family Controller)
  4. 무선 네트워크 연결   ( Intel Dual Band Wireless-AC 7260)
  5. 무선 네트워크 연결2  ( Microsoft Virtual WIFI Miniport Adapter)
  6. 무선 네트워크 연결3  ( Microsoft Virtual WIFI Miniport Adapter #2)


각 어뎁터의 우측클릭후 속성과 상태 기능을 확인해보자


  • 4번 무선 네트워크 연결->속성
물리적인 무선랜(WIFI) 어댑터로 이 내부에서 사용되는 Driver들을 확인해보자

  1. Microsoft Networks용 클라이언트: Network Client로 필요 
  2. VirtualBox NDIS6 Bridged Networking Driver : Virtual Box의 브리지어댑터(Bridged Network) 필요.
  3. QoS 및 기타등등 




  • 3번 로컬영역 연결-> 속성
물리적인 유선랜의 어댑터로 이 내부에 포함된 Driver들을 확인해보자
  1. Microsoft Networks용 클라이언트: Network Client로 필요 
  2. VirtualBox NDIS6 Bridged Networking Driver : Virtual Box의 브리지어댑터(Bridged Network) 필요.
  3. QoS 및 기타등등 




  • 2번 VirtualBox-Host-Only Network -> 상태 -> 자세히 
아래와 같이 Virtual Box -Host의 IP주소를 확인가능하다.



2.1 Window의 두 네트워크 어뎁터들 연결  

아래의 메뉴에서 Ctrl키와 함께 두개의 어뎁터를 선택 후 우측마우스로 연결 브리지 적용하면 새로운 Window 네트워크 어뎁터가 생성이 된다.

두 네트워크는 브리지로 연결이 되어 통신이 가능하며, 사용 후 필요없다면, 이 새로 생성된 브리지를 제거하여 원상태로 복구가 가능하다.



네트워크 브리지 (MAC Bridge Miniport) 어댑터 생성확인


네트워크 브리지 (MAC Bridge Miniport) 어댑터 생성->속성확인



2.2 Window의 두 네트워크 어뎁터들의 공유 (AP동작) 

이번에는 Microsoft Virtual WiFi Miniport Adapter을 이용하여 Soft 기반의 AP를 동작시키고, 이를 STA모드로 동작 중이 물리적인 Window WIFI Adapter를 연결하는 것이다.
한 마디로 나의 Laptop에서 AP와 STA모드로 동시에 동작시킨 후 이를 공유하려고 한다.

Microsoft Virtual WiFi Miniport Adapter 와 Physical Wifi Adapter의 구성으로 아래와 같은 조합으로 구성된다고 한다.
  • STA adapter.
  • STA and AP adapters. (두 모드를 동시 사용할 예정)
  • STA and VSTA adapters.
  • STA, AP, and VSTA adapters.
STA: Station adapter로 현재 window physical wifi adapter.
AP  : Access Point로 Virtual Wifi Miniport Adapter를 이용하여 soft based로 구동
VSTA: Virtual Station Adapter 인데, 다른 Virtual Wifi Miniport Adapter로 구동하는 것 같다.


1. Window의 cmd (터미널)을 관리자 권한으로 실행하고, 아래의 명령을 통해 기본정보를 확인하자.

netsh wlan show settings 
netsh wlan show drivers



2. Microsoft Virtual WiFi Miniport를 AP로 설정을 하는 것으로 SSID: AP이름 KEY: Password를 입력하여 설정하자

netsh wlan set hostednetwork mode=allow ssid=JHlee_Laptop_AP key=asdf12345



3. 기본설정을 했으니, SoftAP의 동작을 시키고 Microsoft Virtual WiFi Miniport Adapter가 동작하는 확인하자.

netsh wlan start hostednetwork  



4. 상위에서 AP로 동작되는 것을 확인했지만, 인터넷이 되지 않아 문제가 발생한다.
이를 해결하기위해서 아래의 WLAN의 STA과 AP를 공유해서 이 문제를 해결하자
  1. 무선 네트워크 연결   ( Intel Dual Band Wireless-AC 7260)
  2. 무선 네트워크 연결3  ( Microsoft Virtual WIFI Miniport Adapter #2)




5. 공유가 된후, WLAN이 동작되는 외부 Device(핸드폰)를 이용하여 상위 JHLee_Laptop_AP에 접속하면 인터넷이 동작되는 것을 확인가능하다.
이로써 나의 Laptop에서 STA/AP모드를 동시에 사용한다.


6. 원상태로 복구하고 싶다면, 원래대로 공유모드를 제거한 후, 아래명령으로 AP모드를 멈추도록 하면, 원래대로 복구된다.

netsh wlan stop hostednetwork  




  • netsh command 관련사항 

netsh wlan start hostednetwork    // WLAN을 AP모드로 동작 시작 

netsh wlan stop hostednetwork     // WLAN을 AP모드로 동작 정지  

netsh wlan set hostednetwork [mode=]allow|disallow        //WLAN을 AP모드 관련 설정 

netsh wlan set hostednetwork [ssid=] [key=] [keyUsage=]persistent|temporary  //WLAN을 AP모드 관련 설정 

netsh wlan refresh hostednetwork [data=] key            //WLAN을 AP모드 리프레시  

netsh wlan show hostednetwork [[setting=]security]      //WLAN을 AP모드 정보 확인 

netsh wlan show settings       //WLAN을 정보 확인 

netsh wlan show drivers        //WLAN Driver 정보확인 


Window AP모드 관련자료
   https://msdn.microsoft.com/en-us/library/dd815243(VS.85).aspx
   https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc755301(v=ws.10)

STA과 AP모드 동시사용관련자료
   http://www.wikihow.com/Enable-a-Virtual-WiFi-in-Windows

댓글 없음 :