VirtualBox의 NAT 네트워크에있는 VM에서 인터넷에 액세스 할 수 없음


14

우분투 14.04 LTS에서 VirtulBox 5에 NAT 네트워크를 만들었습니다.

Natework 이름 : NatNetwrok1
네트워크 CIDR : 10.0.2.0/24
지원 DHCP : 활성화
지원 IPv6 :
포트 전달없이 비활성화

또한 두 개의 VM (Xubuntu 클론 모두)이 있으며 네 개의 어댑터 모두에서 다음 설정을 사용하여 각 VM에서 두 개의 NIC를 사용하도록 네트워크 설정을 설정했습니다.

첨부 : "NAT 네트워크"
이름 : "NatNetwrok1"

두 VM을 모두 실행하면 ifconfig 명령을 실행할 때 다음 설정을 볼 수 있습니다

Xubuntu1에서 ifconfig 결과

eth0      Link encap:Ethernet  HWaddr 08:00:27:00:8c:03  
          inet addr:10.0.2.9  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe00:8c03/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:43 errors:0 dropped:0 overruns:0 frame:0
          TX packets:47 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:12133 (12.1 KB)  TX bytes:8517 (8.5 KB)

eth1      Link encap:Ethernet  HWaddr 08:00:27:9e:20:e8  
          inet addr:10.0.2.8  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe9e:20e8/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:43 errors:0 dropped:0 overruns:0 frame:0
          TX packets:48 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:10294 (10.2 KB)  TX bytes:8798 (8.7 KB)

Xubutracentu2에서 ifconfig 결과

eth0      Link encap:Ethernet  HWaddr 08:00:27:00:8c:03  
          inet addr:10.0.2.9  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe00:8c03/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:43 errors:0 dropped:0 overruns:0 frame:0
          TX packets:47 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:12133 (12.1 KB)  TX bytes:8517 (8.5 KB)

eth1      Link encap:Ethernet  HWaddr 08:00:27:9e:20:e8  
          inet addr:10.0.2.8  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe9e:20e8/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:43 errors:0 dropped:0 overruns:0 frame:0
          TX packets:48 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:10294 (10.2 KB)  TX bytes:8798 (8.7 KB)

이 4 개의 IP 간 핑
은 제대로 작동 하지만이 두 VM 중 하나에서 인터넷에 액세스 할 수 없습니다.
“NAT 네트워크”를“NAT”로 변경하면 네트워크에 액세스 할 수 있지만 다른 가상 네트워크의 일부가되어 핑할 수없는 것 같습니다 서로
문제를 식별하고 해결하는 데 도움을 줄 수 있습니까?

누구나 NATNAT 네트워크의 차이점을 설명 할 수 있습니까?


같은 문제 ... 누군가 도울 수 있습니까?
monitor35

나는 최근 기본 우분투 저장소에서 가상 상자 5.0.40을 사용 하여이 문제에 부딪쳤다. 이를 해결하기 위해 각 VM을 두 개의 인터페이스로 구성했습니다. 하나는 내부 NatNetwork가 있고 다른 하나는 브리지 모드를 사용합니다. 게스트 OS (ubuntu 16.04)에서 두 번째 인터페이스가 게스트에 표시되도록 / etc / network / interfaces를 조정해야합니다. 따라서 각 VM이 내부 NAT에있을 수 있고 동시에 인터넷에 액세스 할 수있게되었습니다.
JulioHM

답변:


7

왜 안돼?

16.04 (및 아마도 14.04) 에서는 기본 패키지 버전의 VirtualBox (5.0.36) 의 NAT 네트워크 기능 이 버그가 있습니다.

확인해 봐!

직접 확인할 수 있습니다. ls /usr/lib/virtualbox/VBoxNetNAT실행 파일이 있으면 다른 종류의 문제가있을 수 있습니다.

고쳐!

이 버그는 최신 버전에서 수정되었습니다. 따라서 새 버전을 설치해야합니다.

이전 버전 제거

예를 들어 다음을 사용하여 설치 한 경우 다음을 apt실행할 수 있습니다.

sudo apt remove virtualbox --auto-remove

새 버전 설치

이 수정은 최신 버전 (Ubuntu yakkety +)에 제공됩니다. 이전 버전의 경우 :

  • virtualbox.org를 방문하여 최신 버전을 수동으로 다운로드하십시오.
  • 또는
  • 다음 스크립트를 사용하십시오.

    # add the official repository
    wget -q -O - https://www.virtualbox.org/download/oracle_vbox_2016.asc | sudo apt-key add -
    echo deb http://download.virtualbox.org/virtualbox/debian `lsb_release -cs` non-free contrib | sudo tee /etc/apt/sources.list.d/virtualbox.org.list
    # install the newer version
    sudo apt install virtualbox-5.1
    

1
이전 버전의 virtualbox가 설치되어있는 virtualbox-dkms경우이 수정 사항이 작동하려면 설치 제거해야합니다 . 그렇지 않으면 여전히 인터넷없이
멈출 수

7

기본 apt 저장소에서 VirtualBox 5.0.40을 사용 하여이 문제가 발생했습니다. 이를 해결하기 위해 두 개의 네트워크 인터페이스를 사용하도록 각 VM을 구성했습니다.

  • 어댑터 1 : 브리지 어댑터 (실제 NIC에)
  • 어댑터 2 : NAT 네트워크 (선택)

guets OS (Ubuntu 16.04) /etc/network/interfaces에서 두 번째 인터페이스가 표시 되도록 조정해야 합니다. 필자의 경우 NAT 네트워크 내에서 고정 IP를 사용하려면 VM이 필요했기 때문에 이것이 내가 얻은 것입니다.

## Bridge to Internet
auto enp0s3
iface enp0s3 inet dhcp

## NAT Network among VMs
## Static is optional
## DHCP if you don't need it
auto enp0s8
iface enp0s8 inet static
  address 10.10.11.100
  netmask 255.255.255.0

물론 이것은 내 NAT 네트워크가 서브넷을 사용한다고 가정합니다 10.10.11.0/24. 시나리오에 숫자를 적용하거나 원하는대로 dhcp에 그대로 두십시오.

참고 : 정적 구성에서 유의해야 할 중요한 사항은이 특정 시나리오에서는 기본 게이트웨이를 할당 할 수 없다는 것입니다. 주기 enp0s8(10.10.11.1 같은) 기본은 OS이 게이트웨이 경로를 생성하게되며, 그 경로는 또한 인터넷 접속을 나사뿐만 아니라 수 있습니다. 이 특정 인터페이스에 구성된 인터페이스 외에 다른 네트워크로의 경로가 필요한 경우에만 수행하면됩니다.

사용자 환경에 대해 Ubuntu에서 지정한 인터페이스 이름을 찾으려면 다음을 수행하십시오 dmesg | grep eth.

여기에 이미지 설명을 입력하십시오


eth0과 eth1 모두에 'dhcp'를 사용하면 광산이 더 잘 작동했습니다. NAT에 자동으로 10.0.2.15를 할당했으며 공용 인터넷 eth1에 IP가 없지만 VM에서 인터넷을 핑 할 수 있습니다!
Milean

6

VirtualBox 매뉴얼에 따르면 VM에 대한 네트워크 가능성은 다음과 같습니다.

  • NAT : VM과 호스트 사이의 내부 네트워크. 게다가 당신은 인터넷에 액세스 할 수 있습니다. NAT 모드의 둘 이상의 VM은 호스트와 인터넷을 통해서만 연결되지 않습니다.

  • 내부 : 이 구성을 사용하는 모든 VM은 호스트 또는 인터넷과 연결되지 않지만 서로 연결됩니다.

  • 호스트 만 : 이 구성으로 호스트와 모든 VM간에 가상 네트워크가 생성되지만 인터넷에 액세스 할 수 없습니다.

  • NAT 네트워크 : 동일한 사전 정의 된 NAT 네트워크와 호스트에서 모든 VM에 연결할 수 있지만 인터넷에 연결할 수는 없습니다.

  • 브리지 : VM은이 네트워크의 다른 컴퓨터 / 서버 인 것처럼 호스트와 동일한 네트워크에 있으므로 호스트에 인터넷이 연결됩니다.

  • 일반 : 고급 및보다 구체적인 구성은 거의 사용되지 않습니다.

따라서 호스트에 연결할 수있는 내부 네트워크를 만들려면 NAT 네트워크를 선택하십시오. 그러나 인터넷에 액세스 할 수는 없습니다. NAT는 VM에서 인터넷 액세스 만 원하는 경우에만 설정됩니다.

그러나 VM과 인터넷을 모두 연결하려면 이러한 설정 중 어느 것도 괜찮습니다. 내가 아는 한, 두 가지 VM을 브리지 모드로 구성하는 것이 유일한 선택이므로 호스트 네트워크의 '다른'컴퓨터가되고 모든 VM과 인터넷을 모두 핑 (Ping) 할 수 있습니다.

반면, 두 시스템 모두 동일한 MAC 주소 ( ifconfig 명령 정보의 HWaddr) 를 갖기 때문에 한 VM을 다른 VM에서 복제 한 것으로 보입니다. " 모든 네트워크 카드의 MAC 주소 다시 초기화 "확인란을 선택해야 합니다. "클론 할 때. MAC 주소가 같은 두 장치는 항상 문제를 일으 킵니다.

저는 VirtualBox의 전문가가 아니므로 다른 사용자가 다른 가능한 구성을 말하여 원하는 것을 얻을 수 있습니다. 이 정보가 도움이 되길 바랍니다.

자세한 내용은 당신이 읽을 수있는 .


3
NAT 네트워크 가 손님의 인터넷 연결을 방해 한다는 것은 사실이 아닙니다 . NAT 네트워크의 VM 게스트에서 인터넷에 연결할 수 있습니다. forums.virtualbox.org/viewtopic.php?f=3&t=69504 에 대한 마지막 의견에 따르면 , "NAT 모드는 각 VM이 자체 라우터 뒤에 격리되어 있음을 의미합니다 ... NAT 네트워크는 여러 VM을 가질 수 있다는 점을 제외하고 NAT와 같습니다. 동일한 내부 라우터에 연결되어 있습니다. "
eebbesen

2

VirtualBox의 버그 일 수 있습니다. 동일한 경험을했습니다 (Ubuntu 16.04.2 LTS, VirtualBox 5.0.32_Ubuntu r112930). NAT 네트워크를 설정하고 두 개의 Ubuntu VM에 대해 구성하십시오. 각 VM은 다른 VM에 ping / SSH를 할 수 있고 포트 전달을 통해 호스트에서 각 VM으로 SSH를 사용할 수 있습니다. 그러나 VM 내부에서 인터넷에 액세스 할 수 없습니다. 동료는 Windows 호스트, VirtualBox (알 수없는 버전) 및 동일한 VM을 사용하여 동일한 작업을 시도했으며 작동했습니다.

이 문제를 해결하기 위해 각 VM에 대해 두 번째 네트워크 카드를 구성했습니다. 첫 번째는 NAT를 사용하여 인터넷에 액세스하고 두 번째는 "NAT 네트워크"를 사용하여 다른 게스트에 액세스합니다. 첫 번째 (NAT) 카드에서 SSH 포트 전달을 설정하고 한 VM에서 다른 SSH 포트를 구성해야했습니다 (예 : VM1에서 2222-> 22, VM2에서 2223-> 23).

설명서를 기반으로 NAT와 NAT 네트워크 모두 인터넷에 액세스 할 수 있어야합니다. 차이점은 첫 번째는 호스트 ↔ 게스트 연결을 분리했기 때문에 게스트는 서로 만 액세스 할 수없고 호스트 만 액세스한다는 것입니다. 후자는 모든 게스트를 단일 네트워크로 풀링하고 DHCP와 같은 서비스를 제공하여 서로 액세스 할 수 있도록합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.