[VirtualBox] 네트워크 설정 및 통신 실습

jinnnii·2024년 7월 15일
0

Linux

목록 보기
2/2

이번 포스팅에서는 VirtualBox를 사용한 네트워크 실습을 다뤄보려고 한다.
테스트는 CentOS 7을 기준으로 하였다.

1. 네트워크 실습 : NAT

VM 중 하나를 NAT 로 설정하고 포트포워딩 테스트를 진행한다. 순서는 다음과 같다.
테스트는 CentOS 7을 기준으로 하였다.

1.1 NAT 설정

  • 먼저 VirtualBox 에서 VM의 네트워크 설정을 NAT 로 설정한다.

  • VM에 접속한 후, ifconfig 명령어를 실행하여 네트워크 인터페이스 설정을 확인합니다.
  • 여기서 emp0s3 inet 을 보면 기본 NAT IP인 10.0.2.15 로 설정된 것을 볼 수 있다.

1.2. 접속 가능 여부 확인

  • 이제 VM에서 호스트와 인터넷에 ping 을 보내 접속 여부를 확인해본다.
  • 호스트 서버 IP를 192.168.10.2 로 가정하겠다.
ping 192.168.10.2 	# 게스트 → 호스트 통신 Success!
ping google.com		# 게스트 → 인터넷 통신 Success!
  • 위 명령어를 통해 호스트 서버와 구글 서버에 ping을 보내보았다.
  • 정상적으로 응답이 오면 VM에서 외부 네트워크로의 접속이 원활하다는 것을 알 수 있다.
  • 다음으로, 호스트에서 VM으로 ping 을 보내본다. 기본 NAT 설정에는 호스트에서 VM으로 직접적인 접속이 불가능하므로, 포트포워딩 설정이 필요하다
ping 10.0.2.15 		# 호스트 → 게스트 '직접' 통신 Failed...

1.3. 포트포워딩 설정 및 SSH 접속 테스트

  • 호스트에서 VM에 접속하기 위해 포트포워딩 설정을 추가로 진행한다.
  • SSH 접속을 위해 22번 포트를 호스트의 임의의 포트(2024)로 포워딩한다.
  • 이후 호스트에서 포트포워딩된 포트로 접속이 가능한지 확인해보자.
tcping 192.168.10.2 2024 
  • 이제 Putty를 통해 포트포워딩된 IP와 포트로 SSH 접속을 시도해본다.

  • 성공적으로 접속되면, 포트포워딩이 제대로 설정된 것!

2. 실습 : NAT 네트워크

이번에는 NAT 네트워크를 설정해 본다.

1.1 NAT 네트워크 설정

  • NAT 네트워크는 여러 VM이 동일한 네트워크 내부에서 통신할 수 있도록 하므로,
  • 게스트 간 통신 테스트도 추가로 진행된다.
  • VirtualBox의 네트워크 설정에서 NAT Networks 옵션을 선택하여 NAT 네트워크를 추가한다.

  • 여기서는 네트워크 이름과 IPv4 Prefix를 설정한다.
  • 기본 값은 10.0.2.0/24이지만, 나는 192.168.100.0/24로 변경하였다.
  • 또한 DHCP 설정을 통해 VM이 자동으로 IP를 할당받도록 설정할 수 있다.
    만약 체크를 해제하는 경우 설정 파일에서 직접 입력 해주자.

  • VM의 네트워크 어댑터를 NAT 네트워크 로 변경하고, 방금 생성한 네트워크로 설정한다.

  • VM에서 ifconfig 명령어를 실행하면, IP가 192.168.100.4 로 변경된 것을 확인할 수 있다.
  • 같은 방법으로 다른 VM 도 설정하여 게스트 간 통신을 테스트해보기로 하겠다. (ex.192.168.100.5)

2.2. 접속 가능 여부 확인

  • VM 서버에서 다음과 같은 순서로 Ping 테스트를 진행해본다.
ping 192.168.10.2 	# 게스트 → 호스트 통신 Success!
ping 192.168.100.5 	# 게스트 ↔ 게스트 통신 Success!
ping google.com 	# 게스트 → 인터넷 통신 Success!
  • 호스트 서버에서도 게스트로 Ping 테스트를 진행해본다.
ping 192.168.100.4 #호스트 → 게스트 '직접' 통신 Failed...
  • NAT와 마찬가지로 NAT 네트워크 또한 호스트에서 VM으로 직접적인 접속이 불가능하므로, 포트포워딩 설정이 필요하다

2.3. 포트포워딩 설정 및 SSH 접속 테스트

  • 호스트에서 게스트로 통신을 위한 포트포워딩 설정을 진행한다.

  • 이전 NAT 설정과 동일하게 포트포워딩을 설정하고, 접속 테스트를 진행한다.

  • 정상적으로 접속되는 것을 확인해볼 수 있다.

3. 실습 : Host-Only Adapter

3.1 Host-Only Adapter 네트워크 설정

  • Host-Only Adapter 설정은 호스트와 게스트 간의 통신만 가능하게 하며, 외부 네트워크와의 연결을 차단한다.
  • 이를 테스트해보기 위해 먼저 VirtualBox의 네트워크 설정에서 Host-only Networks 옵션을 선택하여 어댑터를 추가한다.

  • 가상 호스트 어댑터의 IPv4 주소는 192.168.25.1 로 할당,
  • DHCP 설정을 통해 VM이 자동으로 IP를 할당받도록 설정하였다.

  • VM의 네트워크 어댑터를 호스트 전용 어댑터 로 변경하고, 방금 생성한 어댑터를 설정한다.

  • VM에서 ifconfig 명령어를 실행하면, IP가 192.168.25.4 로 할당된 것을 확인할 수 있다.
  • 같은 방법으로 게스트 간 통신을 위한 다른 VM 도 설정한다. (ex.192.168.25.5)

3.2 접속 가능 여부 확인

  • VM 서버에서 다음과 같은 순서로 Ping 테스트를 진행해본다.
ping 192.168.25.1 	# 게스트 → 호스트 통신 Success!
ping 192.168.25.5 	# 게스트 ↔ 게스트 통신 Success!
ping google.com 	# 게스트 → 인터넷 통신 Failed...

  • 호스트, 게스트간 통신은 되지만 네부 네트워크(인터넷)에는 통신이 불가능한 것을 확인할 수 있다.

4. 부록

4.1. 고정 IP 설정

  • DHCP 비활성화 시, 자동으로 IP 주소가 할당되지 않기 때문에 수동으로 설정하는 추가적인 설정이 필요하다.
cd /etc/sysconfig/network-scripts
vi ifcfg-enp0s3
  • 기본 상태의 네트워크 설정 파일은 다음과 같다.

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="enp0s3"
UUID="341ac288-4a5d-44d6-9367-03e6b8e734e7"
DEVICE="enp0s3"
ONBOOT="yes"

  • BOOTPROTO 매개변수를 dhcp 자동 할당이 아닌, none 또는 static 으로 설정
  • ONBOOT 매개변수가 no 로 설정되어 있다면 yes 로 변경

IPADDR="192.168.100.25"

  • 고정 IP 주소를 다음과 같이 설정한다.
  • NetMask, Gateway, Prefix 등 추가적인 설정은 생략하였다.
  • 설정 파일 저장 후, 네트워크를 재시작한다.
service network restart	#네트워크 재시작

업로드중..

  • ifconfig를 통해 고정 IP 로 설정된 것을 확인해볼 수 있다.

결론

이번 포스팅에서는 VirtualBox를 이용한 다양한 네트워크 설정 및 테스트를 진행해보았다.
이 과정을 통해 네트워크에 대한 이해를 높이고, 실제 환경에서 가상 서버를 구축할 때 어떤 네트워크를 적용하면 좋을지 선택하는데 큰 도움이 될 것 같다.

profile
주니어 개발자 9개월

0개의 댓글