♣ 도움받은 사이트

 - Development notes (https://whitekeyboard.tistory.com/730 )

 - 피어몬트, 그곳에 가면... (https://blog.startsomething.dev/2018/10/26/virtualbox-%EC%97%90%EC%84%9C-nat-%EC%99%80-host-only-network-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0/ )

 - WP Diaries ( https://www.wpdiaries.com/virtualbox-for-web-development/ )

 - 타쿠대디 ( https://takudaddy.tistory.com/352 )

 - 코덕 개발자노트 ( https://cjwoov.tistory.com/11 )

 

예전에 VirtualBox 의 브릿지와 NAT 개념 관련 글을 쓴 적이 있는데

그 때만 하더라도 자료가 많치 않았다. 2015년이니 9년 전이네... ㅋ~

Link : https://hahaite.tistory.com/283

 

최근에 관련하여 찾아보니 윗글보다 훨씬 자세하고 쉽게 쓴 글이 수두룩하다.

 Link : https://takudaddy.tistory.com/352

 

Virtual Box 네트워크 설정 정리

[목차] 1. 들어가며 2. 기본 용어 정리 3. 네트워크 방식 설명 4. 참고 [들어가며] 버추얼박스로 취약 서버를 구축해 테스트 및 실습을 해야 할 일이 많은데 가상 서버간의 네트워크 통신과 관련한

takudaddy.tistory.com

 

Link : https://cjwoov.tistory.com/11

 

[VM] VirtualBox 네트워크 설정 상세 분석

본 포스트는 https://technology.amis.nl/2018/07/27/virtualbox-networking-explained를 번역 & 가공하였습니다. 1. 서론 2. 네트워크 옵션 2.1 내부 네트워크 2.2 NAT 2.3 NAT 네트워크 2.4 호스트 전용 어댑터 2.5 브릿지 네

cjwoov.tistory.com

 

관련 개념은 위 두 링크를 참고바라며 아래는 위 개념을 어느정도 알고 있다고 가정하고 쓴다.

 * 호스트 : Windows 11

 * 게스트 : Ubuntu server 22

(한마디로 윈도우에 VirtualBox 설치했고, VirtualBox 사용해서 리눅스 돌리고 있다.)

 

♣ 어댑터에 브릿지

리눅스는 IPTime  과 같은 외부 공유기로부터 IP를 받는다.

제일 깔끔한 방법이나 공유기가 필요하다.

(그래서 출장갈 때 항상 공유기를 챙겼던 시절이 있었다. ㅋ)

 

♣ NAT

NAT 로 설정하면 리눅스는 10.0.2.15 의 IP를 할당받는다.

그리고 리눅스에 접속할 때 아래 192.168.56.1 로 리눅스에 접속할 수 있다.

 

그러나 포트포워딩 귀차니즘이 있고 게스트 간에 통신이 안되는 이슈가 있다.

 

♣ 호스트 전용 어댑터

호스트 전용 어댑터로 설정하면 아래처럼 192.168.56.xxx 로 IP 가 할당된다.

(이 IP는 192.168.56.1 가상 공유기로부터 DHCP 로 할당받는 것으로 알고 있다.)

그리고 호스트에서 이 IP 로 접속하면 된다. (NAT와 달리 포트포워딩 필요없음)

 

하지만 결정적으로 외부 접속 (인터넷 등)이 안된다. OTL

 

♣ NAT + 호스트 전용 어댑터 조합

표 출처 : 코덕 개발자 노트 ( https://cjwoov.tistory.com/11 )

 

VirtualBox 는 복수의 네트워크 어댑터 설정이 가능하다.

즉, 어댑터 1에는 NAT 로, 어댑터 2 에는 호스트 전용 어댑터로 설정하여 상호 단점을 보완하는 것이다.

 

이 후, 게스트 접속은 호스트 전용 어댑터 IP 로 (192.168.56.xxx ) 접속할 수 있으며

게스트의 외부망 접속은 NAT 를 통해 이루어지게 된다.

 

여기까지 하고 ifconfig 해보면 NAT 설정 IP (10.0.2.15) 만 나타나고

호스트 전용 어댑터 (192.168.56.xxx ) 는 안보인다.

 

그런데 ip addr 명령어로 보면 아래처럼 IP 할당이 안된 이더넷이 하나 보인다.

이 놈이 호스트 전용 어댑터의 이더넷임을 알 수 있다.

 

이에 (위의 경우) enp0s8 에 IP 를 할당해 준다.

 

본 글의 예제는 Ubuntu Server 22 환경이므로, 이 환경에 맞게 아래처럼 작업해 준다.

(당연한 얘기지만 각각의 게스트 OS 에 맞게 설정해 준다.)

 

아래는 호스트 전용 어댑터에 192.168.56.5 에 Subnet Mask 255.255.255.0 을 적용한 예이다.

$ cd /etc/netplan

$ sudo vi 00-installer-config.yaml  (파일명은 다를 수 있음)

그리고 아래처럼 호스트 전용 어댑터(enp0s8) 부분을 추가하였다.

그리고 아래 명령어 적용하거나 재부팅하여 ifconfig 해보면,

$ sudo netplan apply

$ ifconfig

 

아래처럼 호스트 전용 어댑터를 확인할 수 있다.

이제 게스트에서 아래 IP 192.168.56.5 로 접속하면 된다.

또한 NAT 어댑터를 통해 외부접속도 가능한 환경이 된다.

 

♣ 덧글

https://blog.startsomething.dev/2018/10/26/virtualbox-%EC%97%90%EC%84%9C-nat-%EC%99%80-host-only-network-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0/

 

위 글에 의하면 VirtualBox 전역도구에서

DHCP 사용 안함 및 "수동으로 어댑터 설정" 으로 설정하라고 하고 있다.

그런데 위 설정 시, DHCP 는 그냥 사용함으로 두어도 됐다.

혹시나 안되면 아래 설정 부분을 수정해 보자.

 

이글은 예전 제 싸이월드 블로그에 작성한 글을 티스토리로 옮긴 것입니다.
원문 : http://cy.cyworld.com/home/21147242/post/54A21ECBD6D5739A07C68401
원문 작성일 : 2015.3.12

============================================================

제 PC엔 windows8 이 깔려있습니다.
여기에 VirtualBox를 설치하였고,
VirtualBox 에 리눅스(Fedora)를 설치하였습니다.
한줄요약 : 윈도우에서 VirtualBox를 이용해 리눅스를 돌리고 있음.
위와같이 리눅스를 설치하고 윈도우에서 putty 를 이용해 리눅스에 ssh로 접속하여 작업합니다.
쉬운 브리지 어댑터 먼저 썰을 풉니다~

 


1. 브리지 어댑터 (Bridge Adapter)


Virtualbox 에서 Fedora를 실행하기 전에 아래와 같이 네트워크에서 브리지 어댑터를 선택합니다.
(아래 이미지는 리눅스를 실행한 후에 캡쳐를 한 것인데 실행 전에 선택해야합니다.)

 

 

이 경우, PC가 공유기로부터 IP를 받는 경우,
리눅스 또한 공유기로부터 IP를 받습니다.
윈도우의 IP가 192.168.10.xx 라면, 리눅스의 IP 또한 192.168.10.xx 가 됩니다.
브리지 어댑터로 설정하면 아래와 같은 구조라고 생각하면 됩니다.

 


위에 언급했듯이 전 윈도우에서 putty 를 이용해 리눅스에 접속하는 걸 선호합니다.
브리지 네트워크로 설정할 경우, 공유기가 없다면? 리눅스가 IP를 할당받지 못해
윈도우에서 리눅스로 접속할 방법이 없더군요.
공유기를 함께 챙기면 되겠지만 그러지 못한 상황이라면...
NAT 설정을 통해 이를 극복할 수 있습니다.


 

2. NAT


NAT의 개념은 저도 정확히 이거다 말하기가 애매한데요. 그냥, 경험을 통해 아~ 이렇구나 했습니다.
아니면 댓글로 알려주세요~
NAT 설정은 저 위에 Virtualbox 네트워크 설정에서 브리지 어댑터 대신 NAT를 선택하면 됩니다.
Virtualbox 를 설치하면 dos 에서 VirtualBox Host-Only Network 를 확인할 수 있습니다.
C:\>ipconfig

 

 

결론부터 얘기하면,
윈도우에서 리눅스로 접속하고 싶을 때,
위 주소 192.168.56.1 로 접속하여 리눅스로 접속할 수 있습니다.


(이 개념 찾는게 제일 힘들었네요. 전 계속 리눅스의 10.0.2.15로 접속하려고 시도했거든요.
그런데 막상 검색해도 쉽게 안나오던 정보였습니다.)

이에 몇가지 설정이 필요합니다.
VirtualBox 에서 NAT 로 설정한 후, 리눅스를 설치하고 ifconfig 하면
아래와 같이 10.0.x.15 주소를 확인할 수 있습니다.

 

 

이 주소는 NAT 설정 후 나타나는 주소입니다.
저 위에 윈도우에서 리눅스로 접속하기 위해 192.168.56.1 IP 를 사용한다고 했는데요.
이 192.168.56.1 이 리눅스의 10.0.2.15 IP와 연결되게 됩니다.
그러므로 윈도우에서 192.168.56.1 로 접속을 시도하면 리눅스로 연결 되게 됩니다.

이제 NAT 설정 시, 그림을 다시 그려보면 아래와 같이 됩니다.
(이 개념은 지극히 개인적인... 고로 틀렸을지도 모릅니다. ㅜ.ㅠ )

 

브리지 어댑터의 경우, linux 가 바로 공유기에 연결된 개념이었는데
NAT의 경우, 위와 같은 구조이기에 공유기랑 상관없는 구조입니다.
공유기가 없는 환경에서 리눅스에 접속할 필요가 있을 경우, NAT를 사용하면 되겠지요~
이제 마지막 과정입니다.
192.168.56.1 과 10.0.2.15 사이에 포트포워딩을 해 주어야 합니다.
아래와 같이 포트포워딩을 선택합니다.


 

 

그러면 아래와 같은 그림이 나옵니다.
아래 제가 설정한 경우입니다.
이미지 오른쪽의 + 버튼을 클릭하여 규칙을 추가하시면 됩니다.

 

 

전 putty 를 이용해 리눅스에 접속하여 작업하기에 22번 포트를 포워딩했습니다.
그리고 리눅스에서 인터넷을 사용하기 위해 80번 포트를 포워딩했습니다.
기타 환경에 맞게 추가하여 주시면 됩니다.
위와 같이 설정한 후에 putty에서 192.168.56.1 로 접속시도하면 리눅스로 연결됩니다.

 

+ Recent posts