Virtual Box 네트워킹 모드 - Network Address Translation(NAT)
- 가상 머신에서 외부 네트워크에 접근하는 가장 간단한 방법
- 호스트 네트워크와 게스트 시스템 상에서 어떤 구성도 필요하지 않음
- 이러한 이유로 Virtual Box에서 디폴트로 설정됨
- 진짜 컴퓨터와 같이 라우터를 통해 인터넷에 연결
- 이 경우에 라우터는 Virtual Box 네트워킹 엔진
- 이 라우터는 각각의 가상 머신과 호스트 사이에 위치
이 구분은 가상 머신끼리 서로 통신하지 않기 때문에 보안이 최대화
- 단점 : 가상 머신은 외부로부터 보이지도 않고 접근할 수도 없음
=> 따라서 이 방식으로는 서버를 운영할 수 없음
- 가상 머신은 Virtual Box에 통합된 DHCP 서버로부터 개별 네트워크 상의
네트워크 주소와 구성을 받는다.
- 따라서 가상 머신에 할당된 IP 주소는 보통 호스트보다
완전히 다른 네트워크 상에 있다
- ex) 가상 머신에 하나보다 많은 카드가 설정 되어 있을 때
첫 번째 카드는 10.0.2.0이라면, 두 번째 카드는 10.0.3.0 등으로 연결된다
* NAT 한계
- NAT의 4가지 한계가 있는데 이것은 사용자들이 알아야 한다.
1. ICMP 프로토콜 한계 : 자주 사용되는 네트워크 디버깅 툴은(ping or tracerouting)
메시지를 보내고 받는데에 ICMP 프로토콜에 의존한다
ICMP 지원이 Virtual Box 2.1부터 개선되었지만,
일부 다른 도구들은 신뢰적으로 작동하지 않을 수 있다.
2. UDP 브로트캐스트를 받는 것이 신뢰할 수 없음
- 게스트가 특별한 포트 상에서 UDP 데이터를 보낸 후에
리소스를 저장하기 위해서 일정시간 동안 오직 리슨을 하기 때문에
게스트가 브로드캐스트를 확실히 받을 수 없다.
3. GRE와 같은 프로토콜이 지원 안 됨
- TCP와 UDP 말고 다른 프로토콜은 지원이 안 된다
4. 1024 미만의 호스트의 포트를 보내는 것은 불가능함
- root에서 실행되지 않는 응용프로그램은
1024 이하의 포트를 묶는 것은 불가능하다
- 그 결과 그러한 포트 전송을 구성하기를 시도하면 가상 머신은 시작을 안 한다.
- ex) NFS 는 포트 번호가 1024 미만이기 때문에
서버는 연결을 거절하는 구성을 취한다