Tidak Ada Akses Internet di VM di Jaringan NAT di VirtualBox

12

Saya telah membuat Jaringan NAT di VirtulBox 5 Di Ubuntu 14,04 LTS dengan pengaturan berikut

Nama Natework: NatNetwrok1
Network CIDR: 10.0.2.0/24
Dukungan DHCP: diaktifkan
Dukungan IPv6: dinonaktifkan
tanpa penerusan port apa pun

Selain itu saya memiliki dua VM (Kedua klon Xubuntu), saya telah menetapkan pengaturan Jaringan untuk mengaktifkan dua NIC pada masing-masing VM dengan pengaturan berikut di keempat adapter:

Terlampir pada: "Jaringan NAT"
Nama: "NatNetwrok1"

Ketika saya menjalankan kedua VM saya bisa melihat pengaturan berikut menjalankan perintah ifconfig

hasil ifconfig di Xubuntu1

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)

hasil ifconfig pada Xubutracentu2

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)

Ping di antara 4 IP ini berfungsi dengan baik.
Tetapi saya tidak dapat mengakses Internet di salah satu VM ini.
Jika jika mengubah "NAT Network" menjadi "NAT", saya dapat mengakses jaringan tetapi tampaknya menjadi bagian dari jaringan virtual yang berbeda dan saya tidak dapat melakukan ping mereka dari satu sama lain
Adakah yang bisa membantu saya dalam mengidentifikasi dan memperbaiki masalah

Adakah yang bisa menjelaskan apa perbedaan antara NAT dan Jaringan NAT

ehsan
sumber
Masalah yang sama ... Bisakah seseorang membantu?
monitor35
Saya baru-baru ini mengalami masalah ini menggunakan kotak virtual 5.0.40 dari repo ubuntu default. Untuk menyiasatinya, saya mengkonfigurasi setiap VM dengan dua antarmuka. Satu dengan NatNetwork internal, dan yang lainnya menggunakan mode jembatan. Di bawah OS tamu (ubuntu 16.04), Anda perlu mengubah / etc / network / interfaces agar antarmuka kedua muncul di guest. Itu memungkinkan setiap VM berada di NAT internal dan memiliki akses ke internet pada saat yang sama.
JulioHM

Jawaban:

7

Kenapa tidak bekerja?

Dalam 16,04 (dan mungkin 14,04) fitur Jaringan NAT dari versi paket utama VirtualBox (5.0.36) disadap .

Periksa!

Anda dapat memeriksanya sendiri: jika ls /usr/lib/virtualbox/VBoxNetNATexecutable ada, maka Anda mungkin memiliki beberapa jenis masalah lain.

Memperbaikinya!

Bug ini diperbaiki di versi yang lebih baru. Jadi, Anda harus menginstal versi baru:

Hapus versi lama

Misalnya jika Anda menginstal menggunakan aptAnda dapat menjalankan:

sudo apt remove virtualbox --auto-remove

Instal versi baru

Perbaikan tersedia untuk versi yang lebih baru (Ubuntu yakkety +). Untuk versi yang lebih lama:

  • Kunjungi virtualbox.org, dan unduh versi terbaru secara manual
  • ATAU
  • Gunakan skrip berikut:

    # 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
    
MrMeszaros
sumber
1
Jika Anda sudah menginstal versi virtualbox sebelumnya, pastikan Anda juga menghapus instalan virtualbox-dkmsagar perbaikan ini berfungsi. Jika tidak, Anda mungkin masih terjebak tanpa internet
Barak Itkin
7

Saya mengalami ini menggunakan VirtualBox 5.0.40 dari repositori apt default. Untuk menyiasatinya, saya mengkonfigurasi setiap VM untuk menggunakan dua antarmuka jaringan.

  • Adaptor 1: Bridge Addapter (to your real nic)
  • Adaptor 2: Jaringan NAT (pilihan Anda)

Di bawah OS guets (Ubuntu 16.04), Anda harus mengubah /etc/network/interfacesagar antarmuka kedua muncul. Dalam kasus saya, saya membutuhkan VM untuk menggunakan IP statis di dalam Jaringan NAT, jadi inilah yang saya dapatkan.

## 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

Ini, tentu saja, mengasumsikan Jaringan NAT saya menggunakan subnet 10.10.11.0/24. Sesuaikan angka dengan skenario Anda atau biarkan saja ke dhcp, seperti yang Anda inginkan.

CATATAN: Satu hal penting yang perlu diperhatikan dalam konfigurasi statis adalah bahwa, untuk skenario khusus ini, Anda TIDAK BISA menetapkannya sebagai gateway default. Memberikan enp0s8default (seperti 10.10.11.1) akan menyebabkan OS membuat rute ke gateway ini dan rute itu juga dapat mengacaukan akses internet Anda. Anda hanya perlu melakukan itu ketika antarmuka khusus ini membutuhkan rute ke jaringan lain, selain dari yang dikonfigurasi untuk itu.

Untuk mengetahui nama antarmuka yang ditetapkan oleh Ubuntu untuk lingkungan Anda, Anda bisa dmesg | grep eth.

masukkan deskripsi gambar di sini

JulioHM
sumber
Milik saya bekerja lebih baik ketika saya menggunakan 'dhcp' untuk eth0 dan eth1. Itu hanya secara otomatis ditugaskan 10.0.2.15 untuk NAT dan eth1 internet publik saya tidak memiliki IP, tapi saya bisa ping internet dari VM!
Milean
6

Menurut manual VirtualBox, ini adalah kemungkinan jaringan untuk VM Anda:

  • NAT: Jaringan internal antara VM dan host. Selain itu Anda dapat mengakses Internet. Dua atau lebih VM dalam mode NAT tidak memiliki konektivitas di antara mereka, hanya dengan host dan Internet.

  • Internal: Semua VM dengan konfigurasi ini akan memiliki konektivitas di antara mereka tetapi tidak dengan host atau Internet.

  • Host saja: Jaringan virtual akan dibuat antara host dan semua VM dengan konfigurasi ini, tetapi Anda tidak akan memiliki akses Internet.

  • Jaringan NAT: Anda dapat menjangkau semua VM di jaringan NAT dan host yang telah ditentukan sebelumnya, tetapi Anda tidak akan dapat terhubung ke Internet.

  • Bridged: VM Anda akan berada di jaringan yang sama dengan host Anda seolah-olah itu komputer / server lain di jaringan ini, dan karenanya, ia akan memiliki akses Internet jika host Anda memilikinya.

  • Umum: Konfigurasi lanjutan dan lebih spesifik jarang digunakan.

Jadi, jika Anda ingin membuat jaringan internal dengan konektivitas ke host pilih NAT Network, tetapi perhatikan bahwa Anda tidak akan memiliki akses Internet. NAT diatur hanya ketika Anda hanya ingin akses Internet dari VM Anda dan tidak ada yang lain.

Namun tidak satu pun dari pengaturan ini yang sesuai dengan Anda jika Anda ingin memiliki konektivitas antara VM dan Internet. Sejauh yang saya tahu, satu-satunya pilihan Anda adalah mengkonfigurasi kedua VMs dalam mode bridged, sehingga mereka akan menjadi 'berbeda' komputer di jaringan host Anda dan Anda akan dapat melakukan ping semua dan Internet dari salah satu dari mereka.

Di sisi lain, tampaknya Anda menghubungkan satu VM dari yang lain karena kedua mesin memiliki alamat MAC yang sama ( HWaddr di info perintah ifconfig), perlu diketahui bahwa Anda harus mencentang kotak centang yang bertuliskan " Masukkan ulang alamat MAC semua kartu jaringan "Saat clonning. Dua perangkat dengan alamat MAC yang sama selalu menimbulkan masalah.

Saya bukan ahli dalam VirtualBox jadi mungkin pengguna lain dapat memberi tahu Anda konfigurasi yang memungkinkan lainnya untuk mendapatkan yang Anda inginkan. Saya harap Anda menemukan informasi ini berguna.

Untuk informasi lebih lanjut, Anda dapat membaca ini .

Pablo288
sumber
3
Tidak benar bahwa Jaringan NAT akan mencegah tamu Anda terhubung ke internet. Saya dapat terhubung ke internet dari tamu VM di Jaringan NAT. Per komentar terakhir di forums.virtualbox.org/viewtopic.php?f=3&t=69504 , "mode NAT berarti setiap VM terisolasi di belakang routernya sendiri ... NAT Network sama dengan NAT kecuali bahwa Anda dapat memiliki beberapa VM terhubung ke router internal yang sama. "
eebbesen
2

Ini mungkin bug di VirtualBox. Saya pernah mengalami hal yang sama (Ubuntu 16.04.2 LTS, VirtualBox 5.0.32_Ubuntu r112930): Mengatur Jaringan NAT, mengkonfigurasi itu untuk dua VM Ubuntu. Setiap VM dapat melakukan ping / SSH ke yang lain, dan melalui penerusan port saya bisa SSH dari host ke masing-masing VM. Tetapi tidak ada akses Internet dari dalam VM. Seorang kolega mencoba yang sama dengan host Windows, VirtualBox (versi tidak diketahui), dan VM yang sama, dan itu berhasil.

Sebagai solusinya, saya telah mengkonfigurasi kartu jaringan kedua untuk setiap VM: Yang pertama menggunakan NAT untuk mengakses Internet, yang kedua menggunakan "Jaringan NAT" untuk mengakses tamu lain. Saya harus mengatur port SSH yang meneruskan pada kartu (NAT) pertama, dan mengkonfigurasi port SSH yang berbeda pada satu VM (yaitu 2222 -> 22 pada VM1, 2223 -> 23 pada VM2).

Berdasarkan dokumentasi , baik NAT dan NAT Network harus dapat mengakses Internet. Perbedaannya adalah bahwa yang pertama memiliki koneksi host ↔ tamu terpisah, sehingga tamu tidak dapat mengakses satu sama lain, hanya host. Yang terakhir mengumpulkan semua tamu ke dalam satu jaringan (dan menyediakan layanan seperti DHCP), sehingga mereka dapat saling mengakses.

Ingo Karkat
sumber