Intro

일면식 없지만, 영상을 통해 가르침을 주신 고쌤IT 님께 감사를 드립니다.
고쌤IT 유튜브 : https://www.youtube.com/@GoGijeong

용어 및 상식

  • 랜카드 = 어댑터 = NIC = 네트워크 인터페이스
  • 랜카드 하나 당 IP가 하나 생긴다.
  • 하나의 머신(컴퓨터 등)에 랜카드 여러 개가 있을 수 있다.

Virtual Box의 네트워크 종류

  • NAT : BOX 내에서의 통신까지 가능
  • 호스트 전용 어댑터 : HOST OS 와 통신 가능
  • 어댑터 브릿지 : HOST OS와 같은 네트워크에 있는 단말과 통신 가능

네트워크 종류

Virtual Box에는 네트워크의 종류(모드) 가 총 8가지가 있다.

  • NAT
  • 어댑터에 브릿지
  • 내부 네트워크
  • 호스트 전용 어댑터
  • 일반 드라이버
  • NAT 네트워크
  • Cloud Network [expermental]
  • 연결되지 않음

처음에는 이 버츄얼박스의 설명이 어렵게만 느껴졌는데,
공부하고 보니 이 표가 정말 정확한 설명임을 알았다.

NAT

위키피디아

가상 머신에서 호스트 호출 가능
(+인터넷 가능)
호스트에서 가상 머신에 접속 불가능 (ssh 불가) / 포트포워딩을 하면 접속 가능
버츄얼박스에서 생성된 가상 머신끼리 통신 불가능

왜냐하면, 가상머신들이 VirtualBox로부터 IP를 할당받고,(아래 NAT 네트워크와 비교)
만들어진 가상 머신들의 네트워크를 NAT로 설정하면 모두 동일한 IP를 가지게 된다.(10.0.2.15)
가상머신간 통신을 하려고 해도 할 수 없는게, 두 곳으 IP가 동일하다
즉, 자기 자신을 가리키게 되므로 접근이 불가

DHCP가 되지 않는 공유기에 여러 컴퓨터가 물린 것과 같은 상황

포트포워딩을 하면 호스트에서 게스트로 접속이 가능하다. 포트 포워딩에 대해서는 아래에서 이야기한다.

NAT 네트워크

NAT + 버츄얼박스에 생성된 가상 머신끼리 통신 가능
그리고 가상머신을 그룹화할 수 있다.
1, 2번 머신을 묶을수도, 2, 3번 머신을 묶을수도, 1, 2, 3 모두 묶을 수도

이게 가능한 것은, 이번에는 DHCP 동적 IP 할당으로부터 IP를 받기 때문에
서로 하나의 네트워크에 묶여있게 되고,
서로 모두 IP 주소가 다르게 된다.

앞서 말한대로 그룹화할 수 있는데,
없으면 버츄얼박스 파일 -> 도구 -> 네트워크 매니저 -> NAT Networks 에서 설정할 수 있다.

여기에서 만들기 등을 눌러 할 수 있다.

이렇게

그리고 그룹을 묶어주는 것은

가상머신 -> 네트워크 -> NAT 네트워크 에서 가능하다. 여기서 설정된 네트워크 이름이 그룹이다.

포트포워딩을 하면 호스트에서 게스트로 접속이 가능하다. 포트 포워딩에 대해서는 아래에서 이야기한다.

DHCP 되는 공유기에 여러 컴퓨터가 물린 것과 같은 상황

호스트 전용 어댑터

NAT + OS와 주고받기 가능
그러니까 호스트에서 가상 머신에 접속 가능 (ssh 가능)
왜 호스트 전용이냐?

호스트와 게스트간 통신은 되나, 인터넷이 안되는 것. 이게 호스트 전용 어댑터

포트포워딩이 없어도 호스트와 게스트 간 통신이 가능하다.

어댑터 브릿지

호스트 전용 어댑터 + 호스트와 동일 네트워크에 있는 머신과의 통신까지 가능

어댑터에 브릿지한다 라고 생각하면 된다. 브릿지란?

브릿지는 IP를 버츄얼박스에서 할당받는 게 아니라
버츄얼머신이 속한 호스트 PC가 속한 유무선 공유기에서 할당받게 된다.
즉, 호스트 PC 와 네트워크상 동일한 격에 있게 되는 것이다.

별도의 설정이 없어도 호스트 PC 뿐만 아니라 호스트 PC와 동일한 네트워크에 있는
다른 PC에서도 가상머신에 접속이 가능하다.

내부 네트워크

아예 단절되고, 가상머신간의 네트워크만 사용 가능 호스트와의 네트워크도 불가능

어댑터1 어댑터2 어댑터3 …

하나의 머신은 다수의 랜카드를 가지고 있다.
앞서 용어 및 상식에서 언급한 것 처럼 랜카드 = 어댑터 인 점 참고
그리고 하나의 어댑터(랜카드) 는 하나의 IP를 가지게 된다는 점 참고

어댑터는 총 8개까지 설정 가능하다 그런데 보이는 건 어댑터4까지

8개를 설정하려면 명령어를 통해 설정해줘야 한다.
(자세한 내용 패스)

어댑터 종류

어댑터 종류 설명
PCnet-PCI II (AMD 칩 기반) 윈도우 2000에 해당시 사용
Pcnet-FAST III (AMD 칩 기반) 대부분의 운영체제와 호환
Intel PRO/1000 MT Desktop 윈도우 Vista ~ 최근 버전까지, 웬만한 것 호환. 특정한 게 없으면 이것 사용.
Intel PRO/1000 T Server 윈도우 XP와 호환
Intel PRO/1000 MT Server  
반가상 네트워크 (virtio-net)  

인텔 이더넷 제품 호환성 확인

무작위 모드

어디어디에서만 켜진다.
이집 만나고 저집 만나는데
나랑 상관이 없는 패킷들도 열어볼 수 있는지에 대한 여부 무작위모드 -> 패킷 스니핑이 일어날 수 있음

모두 허용 : 나와 상관 없는 패킷들도 열어볼 수 있다.

MAC 주소

하드웨어 주소 모든 하드웨어들은 MAC 주소를 가지고 있다. 48비트.
28비트 - 28비트 (제조회사) - (시리얼넘버)

포트 포워딩

NAT NAT 네트워크 두 가지에서 설정 가능 정책을 이용해 포트 포워딩을 해주는 것

Reference

VirtualBox NAT, 호스트 전용 어댑터, 어댑터 브릿지 차이 : https://www.youtube.com/watch?v=14tBGziujJY
VurtualBox 네트워크 설정 (어댑터 설정) : https://www.youtube.com/watch?v=e6x6DTGWAyY

VirtualBox 네트워크 설정 - NAT : https://www.youtube.com/watch?v=OrRIzxW_UcM
VirtualBox 네트워크 설정 - NAT 네트워크 : https://www.youtube.com/watch?v=ZkWKtdVCAGU

인텔 이더넷 제품 호환성 확인 : https://www.intel.co.kr/content/www/kr/ko/support/products/36773/ethernet-products.html#81296