VirtualBox DHCP IP 할당 불안정 문제 완벽 해결 가이드
20시간의 시행착오를 정리했습니다. Docker 설치 후 갑자기 발생한 DHCP 할당 실패 문제의 원인과 근본적인 해결방법입니다.
🚨 문제 상황 요약
증상
- 이전: 부팅할 때마다 공유기(DHCP)에서 정상적으로 IP 할당 (예: 172.16.11.235)
- 현재: 부팅 시 공유기 대신 호스트 PC의 가상 IP(예: 223.x.x.x) 자동 할당
- 임시 해결: ipconfig /release → ipconfig /renew 수행하면 정상 IP로 변경됨, 버츄얼박스 브릿지에 연결되어 있는 기기를 계속 지우고 다시 연결하고 삭제해도 같은 문제 반복됨.
- 반복 발생: 부팅할 때마다 같은 문제 반복
시간대별 문제 진행
월요일까지 → DHCP 정상 할당 ✅
화요일 아침 → 갑자기 할당 실패 ❌
그 사이에 → Docker & Hyper-V 삭제
🔍 원인 분석
근본 원인: Windows Hyper-V와 VirtualBox의 네트워크 충돌
Docker 설치 시 발생한 변화:
- Docker 설치 → Hyper-V 자동 활성화
- Hyper-V 활성화 → Windows 가상 스위치(vEthernet) 생성
- vEthernet이 네트워크 우선순위를 높게 설정
- VirtualBox의 DHCP 요청이 공유기 대신 Windows 가상 스위치에 먼저 캡처됨
- 결과적으로 잘못된 IP 범위(223.x.x.x)에서 할당받음
왜 기존 방법들이 임시 해결일까?
- ipconfig /release/renew: 그 순간만 정상 IP로 변경되지만, 부팅 시 우선순위 문제는 해결 안 됨
- 브릿지 제거, 디바이스 삭제: 임시 해결이지 근본 원인 제거 아님
✅ 근본적인 해결 방법: netplan 고정 IP 설정
가장 안정적인 해결책은 DHCP 의존성 제거입니다.
Linux VM 내부에서 고정 IP를 설정하면 부팅 시마다 안정적으로 작동합니다.
적용 단계
Step 1: 현재 설정 파일 확인
cd /etc/netplan
ls -la
보통 다음 중 하나 있음:
- 00-installer-config.yaml
- 01-netcfg.yaml
- 50-cloud-init.yaml
Step 2: 백업 (매우 중요!)
sudo cp /etc/netplan/00-installer-config.yaml /etc/netplan/00-installer-config.yaml.backup
Step 3: 파일 편집
sudo nano /etc/netplan/00-installer-config.yaml
Step 4: 기존 내용 전부 삭제하고 아래 입력
network:
version: 2
renderer: networkd
ethernets:
enp0s3:
dhcp4: false
addresses:
- 172.16.11.235/24
routes:
- to: default
via: 172.16.11.254
nameservers:
addresses:
- 8.8.8.8
- 172.16.11.254
⚠️ YAML 주의사항:
- 탭 금지 - 반드시 스페이스 2개 사용
- 들여쓰기 오류 시 전체 설정이 작동하지 않음
Step 5: 저장 및 적용
nano 에디터 사용 시:
Ctrl + O (저장)
Enter
Ctrl + X (종료)
설정 적용:
sudo netplan apply
Step 6: 네트워크 재시작 (확실하게 반영)
sudo systemctl restart systemd-networkd
Step 7: 확인
ip addr show enp0s3
성공 시 출력:
inet 172.16.11.235/24 brd 172.16.11.255 scope global enp0s3
🚨 적용 중 에러 발생 시
에러: Configuration rejected
원인: YAML 들여쓰기 오류
해결:
sudo netplan try # 설정 검증
# 에러 메시지 확인 후 파일 수정
롤백 (설정 원상복구)
sudo cp /etc/netplan/00-installer-config.yaml.backup /etc/netplan/00-installer-config.yaml
sudo netplan apply
✔️ 최종 검증 (부팅 후 매번 확인)
부팅 후 확인 명령어
# 현재 IP 확인
ip addr show enp0s3
# 라우팅 테이블 확인
ip route show
# DNS 확인
cat /etc/resolv.conf
# 게이트웨이 통신 확인
ping 172.16.11.254
# 외부 인터넷 통신 확인
ping 8.8.8.8
💡 왜 고정 IP가 정답일까?
항목 DHCP 동적 할당 고정 IP 설정
| 부팅 안정성 | ❌ 불안정 (우선순위 의존) | ✅ 항상 안정적 |
| 네트워크 충돌 | ❌ Hyper-V 영향 받음 | ✅ 영향 없음 |
| 관리 편의성 | ❌ 매번 확인 필요 | ✅ 예측 가능 |
| 서버 환경에 적합 | ❌ 부적절 | ✅ 표준 방식 |
결론: VM 내부에서 고정 IP를 사용하는 것이 서버 환경에서의 표준 관행입니다.
'리눅스' 카테고리의 다른 글
| [KaliLinux & Rocky9.7] 보안 인프라 구축 실습 정리 | Suricata IDS/IPS 설치 및 설정 가이드 (0) | 2026.05.13 |
|---|---|
| [KaliLinux_Ubuntu] 보안 인프라 구축 실습 정리 | Snort 3 · Nmap · IDS/IPS (0) | 2026.05.11 |
| Rocky Linux DNS 서버 구축 후 브라우저에서 도메인이 안 열릴 때 해결법 (0) | 2026.04.02 |
| [Linux] 리눅스 6주차 DNS, Apache, Nginx, SSL 수업정리 (0) | 2026.03.13 |
| [Linux 7주차 수업정리] Linux 메일 서버 + NIC Bonding 구축 실습 정리 (0) | 2026.03.08 |