VirtualBox 호스트 전용 네트워크 vm간 통신 및 인터넷 연결
실습 환경
- (Local)Windows 11, (VM)Ubuntu20.04, VirtualBox 환경을 기준으로 작성됨.
기본 프로그램 및 이미지 다운로드
- VirtualBox 다운로드
- Ubuntu22.04 ISO 다운로드
VirtualBox 네트워크 설정
VirtualBox를 실행하고 왼쪽 상단 파일 > 도구 > 네트워크 관리자 클릭. 새로운 호스트 전용 네트워크를 만든다.
인터넷 연결을 공유하기 위한 로컬 PC 인터넷 설정
윈도우 + R 키를 눌러 control
을 입력하고 실행한다.
네트워크 상태 및 작업 보기 클릭 후 좌측의 어댑터 설정 변경
메뉴를 클릭한다. 로컬 컴퓨터에서 인터넷 연결을 위한 이더넷을 클릭하고 이더넷 속성
으로 진입한다.
이후 공유탭으로 이동해 다른 네트워크 사용자가 이 컴퓨터의 인터넷 연결을 ...
체크 후 확인 버튼을 누른다. 192.168.137.1 로 변경해야 합니다...
가 표시되면 확인 버튼을 누른다.
다시 VirtualBox로 돌아가 이전에 만든 호스트 전용 네트워크 어댑터 정보에서 수동으로 어댑터 설정
체크 후 IPv4 주소를 192.168.137.1
로 변경한다.
DHCP 서버탭을 클릭하고 서버 활성화를 체크한 후 서버 주소, 최저 주소 한계, 최고 주소 한계를 입력한 후 환경을 적용한다.
VirtualBox 상단 탭에서 머신 > 새로 만들기 후 이전에 다운로드한 Ubuntu20.04 ISO 이미지를 선택하고 머신으로 생성한 후 실행해 OS 설치를 마친다. 이후 VM을 복제한다. 갯수는 필요한 만큼 복제한다. 이 포스팅에서는 3개 이용.(VM수 만큼 최대 주소를 늘릴 필요가 있다.)
Ubuntu VM 설치 및 복제가 끝난 이후 VM을 종료하고 각 VM을 클릭한 후 설정 버튼을 눌러 네트워크 어댑터 설정을 진행한다. 어댑터 1은 NAT
으로, 어댑터 2는 호스트 전용 어댑터를 선택한 후 이전에 만든 호스트 전용 어댑터를 선택한다.
VM 기타 수정 사항
다시 VM을 실행하여 호스트(선택사항) 및 IP주소를 변경한다.
호스트 명 수정(선택사항)
# 아래 명령 실행 후 변경할 호스트명 입력 후 저장(:wq > 엔터)
sudo vi /etc/hostname
# 아래 명령 실행 후 127.0.1.1 (변경할 호스트명) 입력 후 저장
sudo vi /etc/hosts
# 호스트명 변경 적용
sudo hostnamectl set-hostname new-hostname
# 재부팅
sudo reboot
# 변경 내용 확인
hostnamectl
IP주소 변경
cd /etc/netplan
위 경로로 이동 후 존재하는 YAML이 있다면 다음과 같이 수정한다.
sudo vi config명.yaml
다음과 같이 내용을 변경한다.
network:
version: 2
ethernets:
enp0s3:
dhcp4: yes
enp0s8:
addresses:
# 1번째 VM이므로 이전 호스트 전용 네트워크에서 설정한 최저 주소로 설정한다.
# 2번째 VM은 192.168.56.102
- 192.168.56.101/24
# 호스트 전용 네트워크의 IPv4주소
routes:
- to: default
via: 192.168.137.1
nameservers:
addresses:
- 192.168.137.1
설정을 적용 하기 위해 다음 명령을 입력한다.
sudo netplan apply
위 과정을 복제한 VM에도 적용한다.
이후 ping 테스트를 통해 각 VM간 통신, 인터넷 통신이 되는지 확인한다.
# ping 다른 VM IP주소
ping 192.168.56.102
# google.com
ping google.com
패스워드 없이 sudo 명령어 수행
# root 사용자로 전환
sudo su -
# visudo로 파일 수정
visudo
다음 텍스트 추가
spkr ALL=(ALL) NOPASSWD:ALL
다른 VM에 SSH PW 없이 접속
먼저 /hosts
파일을 수정합니다.
sudo vi /etc/hosts
현재 머신을 ubun22-01라고 가정합니다.
192.17.29.101 ubun22-01
192.17.29.102 ubun22-02
192.17.29.103 ubun22-03
ubun22-01, ubun22-02, ubun22-03 각각 개인키/공개키를 생성하기 위해 ssh-keygen
명령을 기본값으로 설정하여 생성합니다.
ssh-keygen
ubun22-01 머신에서 다음과 같이 다른 VM에서 생성한 키를 복사합니다.
ssh-copy-id ubun22.01
ssh-copy-id ubun22.02
ssh-copy-id ubun22.03
방화벽 해제하기
간혹 방화벽으로 인해 클러스터 구축 등 문제가 발생할 수 있습니다.
다음 명령으로 방화벽을 해제하고 상태를 확입합니다.
sudo ufw disable
sudo ufw status
실습 환경
기본 프로그램 및 이미지 다운로드
VirtualBox 네트워크 설정
인터넷 연결을 공유하기 위한 로컬 PC 인터넷 설정
VM 기타 수정 사항
호스트 명 수정(선택사항)
IP주소 변경
패스워드 없이 sudo 명령어 수행
다른 VM에 SSH PW 없이 접속
방화벽 해제하기