Mengkonfigurasi NAT tamu vmware Ubuntu

9

Saya memiliki host Windows yang menjalankan guest Ubuntu VM via vmplayer. Mesin virtual itu akan dikloning, didistribusikan di antara beberapa orang (menjalankan host Windows) dan digunakan untuk melakukan lokakarya pemrograman. Saya mencoba - dan sejauh ini gagal - untuk mengatur jaringan untuk memenuhi persyaratan berikut:

  1. Tamu harus memiliki akses ke internet
  2. Semua klon harus memiliki nama host yang sama (katakanlah Workshop menjadi konkret)
  3. Sistem host harus dapat mengakses tamu masing-masing melalui nama itu (mis. Lokakarya ping akan melakukan ping tamu yang berjalan di host itu dan bukan klon lain)

Apa yang saya coba sejauh ini:

  • "Memasang" adaptor jaringan NAT untuk tamu
  • Mencoba menghubungkan tamu melalui DHCP, di / etc / network / interfaces :

    auto eth0
    iface eth0 inet dhcp
       hostname Workshop
    

Itu bekerja sejauh menghubungkan ke internet yang bersangkutan. Namun, saya tidak dapat terhubung ke tamu dari tuan rumah sama sekali. (Misalnya, Lokakarya ping tidak berfungsi; jika saya menggunakan alamat yang dikembalikan oleh ifconfig tidak berfungsi baik dari tuan rumah).

  • Saya kemudian mencoba memberikan alamat statis kepada tamu:

    auto eth0
    iface eth0 inet static
         address 172.241.0.101
         netmask 255.255.0.0
         gateway 172.241.0.100
    

(172.241.0.100 adalah alamat yang diberikan secara statis ke host oleh VMWare Network VMNet8 Adapter - itulah adaptor NAT di atas). Sekarang, saya bisa melakukan ping 172.241.0.101 dan telnet dari host. Saya juga bisa melakukan ping dan telnet dari guest ke 172.241.0.100 (host), tetapi hanya itu - tidak ada koneksi ke jaringan yang lebih luas. (Saya juga tidak dapat mengakses tamu melalui hostname-nya, tapi itu tidak penting di sini karena jika push datang untuk mendorong saya dapat menggunakan alamatnya secara langsung - selama itu sama untuk semua orang - dan bukan namanya).

Sekarang, saya pikir saya dapat menggunakan opsi koneksi jaringan yang dijembatani dengan DHCP dan itu akan memberi saya apa yang saya butuhkan dalam kasus satu VM (saya tidak mencobanya dalam kasus ini, tapi saya ingat pernah melakukannya sebelumnya). Namun, jika ada beberapa VM dengan nama host yang sama dan host mereka terhubung ke jaringan yang sama yang akan bermasalah, bukan?

Solusi Anda dan saran lainnya akan sangat dihargai.

malenkiy_scot
sumber

Jawaban:

8

Pertama-tama, ya, Anda tidak akan dapat menggunakan koneksi jaringan yang dijalin karena semua tamu akan memiliki nama host yang sama, jadi Anda harus pergi dengan NAT.

Anda mendapatkan bagian dari konfigurasi dengan benar, namun, masalah Anda harus di gateway default yang Anda tetapkan untuk tamu. Gateway default, ketika menggunakan NAT, bukan IP host, melainkan IP "virtual switch" yang terhubung ke jaringan NAT. (Adaptor host VMnet8 hanyalah perangkat lain yang terhubung ke jaringan, untuk memungkinkan host berkomunikasi dengan VM.) Switch virtual yang kita bicarakan ini mendapatkan .2IP di subnet. Jadi dalam kasus Anda, Anda /etc/network/interfacesharus membaca:

auto eth0
iface eth0 inet static
     address 172.241.0.101
     netmask 255.255.0.0
     gateway 172.241.0.2

Ini harus memberi tamu Anda VM akses ke internet (melalui 172.241.0.2), dan juga berkomunikasi dengan host Anda ( 172.241.0.100). Jadi cobalah dan beri tahu saya jika itu berhasil.

Jika tidak berhasil (sangat tidak mungkin), maka Anda perlu mencari tahu apa IP dari saklar virtual itu. Apa yang dapat Anda lakukan adalah membiarkan VM mendapatkan IP melalui DHCP (yaitu mengubahnya iface eth0 inet dhcpseperti yang Anda miliki sebelumnya), lalu lakukan route -n. Ini akan menunjukkan gerbang default yang digunakannya. Gunakan IP itu dalam konfigurasi statis Anda.


Untuk dapat melakukan ping VM tamu menggunakan Workshop hostname-nya , inilah yang dapat Anda lakukan. Anda perlu menambahkan entri dalam hostsfile di Windows, yang terletak di C:\Windows\System32\drivers\etc\hosts. Edit file itu untuk menyertakan baris berikut di akhir:

Untuk mengedit file itu di Windows, Anda harus membukanya sebagai administrator di Notepad atau Wordpad ... dan kadang-kadang bahkan tidak membiarkan Anda menyimpannya, jadi Anda harus mengambil salinan file di suatu tempat, edit itu, hapus ekstensi .txt jika ada, dan kembali dan ganti yang asli, dan "konfirmasi" itu ... oh betapa aku suka Linux. Tapi bagaimanapun, inilah baris yang perlu Anda tambahkan:

172.241.0.101    Workshop

Setelah ini selesai, Anda seharusnya dapat ping Workshopberhasil dari host Windows Anda.

Meskipun tentu saja, untuk dapat menggunakan ini di bengkel Anda, Anda harus mengedit file host di setiap host Windows, kecuali jika Anda juga mengkloning mesin Windows.

Kiat : karena Anda akan menetapkan IP statis untuk tamu Anda, pastikan bahwa "jaringan NAT" di VMplayer di semua host Windows Anda menggunakan subnet 172.241.0.0/16, karena saya pikir VMware secara acak memberikan subnet ke jaringan virtualnya ( VMnet1, 2, dan seterusnya), jadi VMnet8 mungkin tidak menggunakan subnet yang sama pada host Windows lainnya. Jika tidak, Anda harus memberikan VMnet8 subnet secara manual menggunakan Virtual Network Editor di VMware.


EDIT

Baik. Setelah komentar, inilah yang perlu Anda lakukan:

  1. Konfigurasikan mesin host (Windows) Anda untuk "mendapatkan alamat IP secara otomatis" pada adaptor VMnet8. Seharusnya mendapatkan IP 192.168.186.1.
  2. Konfigurasikan mesin tamu (Ubuntu) Anda ke IP statis dalam jangkauan 192.168.186.3 - 192.168.186.127. Ayo gunakan 192.168.186.3. Juga, konfigurasikan gateway default dan server dns menjadi 192.168.186.2Jadi, Anda /etc/network/interfacesseharusnya:

    auto eth0
    iface eth0 inet static
         address 192.168.186.3
         netmask 255.255.255.0
         gateway 192.168.186.2
         dns-nameservers 192.168.186.2
    
  3. Uji konektivitas lokal dengan melakukan ping 192.168.186.1dan 192.168.186.2dari mesin tamu. Anda juga harus bisa melakukan ping dari host ke tamu.

  4. Uji konektivitas internet di mesin tamu dengan melakukan ping google.com, atau menjelajahi internet.
  5. Tambahkan baris 192.168.186.3 Workshopke hostsfile Anda di mesin host Windows.
  6. Tes ping Workshopdari mesin host Windows.

Jika Anda ingin menggunakan IP dari jaringan / kumpulan yang sama sekali berbeda 192.168.186.0/24, Anda harus masuk ke Edit > Virtual Network EditorVMware, menemukan VMnet8, dan mengubah pengaturan DHCP di bagian paling bawah ke jaringan apa pun yang Anda inginkan, dan ubah IP statis sesuai dengan itu. (gateway default akan selalu menjadi IP yang dapat digunakan kedua, x.x.x.2).

masukkan deskripsi gambar di sini

Alaa Ali
sumber
172.241.0.2 tidak berfungsi. Ia tidak menjawab ping juga (sebagai soal fakta, menjalankan nmap -sP 172.241.0.0/24 hanya mengembalikan dua host langsung - .100 dan .101). Ketika dikonfigurasikan dengan dhcp, alamat yang sama sekali berbeda dikembalikan oleh rute -n: 192.168.186.2
malenkiy_scot
Oh, saya berasumsi bahwa Anda menggunakan jaringan 172.241.0.0/16 karena itu yang digunakan DHCP. Kalau dipikir-pikir, itu sebenarnya IP publik [Oo]. Apakah ada alasan Anda menetapkan host dan IP tamu di jaringan 172.241.0.0? Bagaimanapun, lihat jawaban saya yang diedit.
Alaa Ali
Tidak, bukan itu yang DHCP gunakan, tapi begitulah konfigurasi VMNet8 adater. Alamat DHCP diperoleh melalui layanan DHCP VMWare. Saya tidak tahu dari mana ia mendapatkan kumpulan alamatnya. Saya tidak berpikir alamat 172.241 bersifat publik. Ketika saya membuat koneksi antara host dan tamu dan menjalankan CPORTS itu menunjukkan bahwa 10.63.41.41 (itu adalah alamat host pada LAN) terhubung ke dirinya sendiri pada port yang berbeda - yang masuk akal karena ini adalah NAT (atau mungkin sebenarnya PAT) . Saya benar-benar berpikir sepanjang garis yang sama seperti yang Anda lakukan mengenai gateway - bahwa ia memiliki alamat yang berbeda.
malenkiy_scot
Yup, seperti yang disebutkan dalam jawaban saya, layanan DHCP dan kumpulannya dapat dikonfigurasi dari Virtual Network Editor (Saya telah menambahkan tangkapan layar ke jawaban saya). Gateway, DHCP dan server DNS semuanya adalah perangkat virtual yang sama x.x.x.2,. Dan ya, seperti yang Anda katakan, tentu saja menggunakan overloading (PAT) atas IP host Anda; Anda seharusnya tidak melihat IP tamu di jaringan yang lebih luas. Juga, 172.241.0.0/16 adalah rentang IP publik =). 172.16.0.0 - 172.31.255.255adalah rentang pribadi di alamat kelas B. Tapi itu tidak terlalu penting, itu seharusnya tidak mempengaruhi apa pun.
Alaa Ali
Juga, Anda dapat mengunjungi halaman ini jika Anda ingin membaca lebih lanjut tentang NAT di VMware, ini adalah bacaan yang bagus.
Alaa Ali
3

Saya mengalami masalah serupa, menggunakan VMWare Player yang berjalan di Windows 7 dengan tamu Ubuntu. Tetapi saya dapat terhubung dari host ke tamu dan tamu ke host, tetapi masalahnya adalah saya tidak dapat terhubung ke internet dari tamu. Setelah membaca jawaban @Alaa, saya harus membuat satu lagi tweak untuk menambahkan nama server DNS ke file interface (dns-nameservers 192.168.150.2) dan kemudian semuanya jatuh sejalan.

Ini konfigurasi saya yang berfungsi.

Konfigurasi antarmuka VMWare pada host:

Adaptor Ethernet, Adaptor Jaringan VMware VMnet8: (Klien)

Connection-specific DNS Suffix  . : 
Description . . . . . . . . . . . : VMware Virtual Ethernet Adapter for VMnet8
Physical Address. . . . . . . . . : 00-50-56-C0-00-08
DHCP Enabled. . . . . . . . . . . : No
Autoconfiguration Enabled . . . . : Yes
Link-local IPv6 Address . . . . . : fe80::9c13:cbf2:1dc:259f%42(Preferred) 

IPv4 Address. . . . . . . . . . . : 192.168.150.1(Preferred) 
Subnet Mask . . . . . . . . . . . : 255.255.255.0

Default Gateway . . . . . . . . . : 
DHCPv6 IAID . . . . . . . . . . . : 704663638
DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-19-06-50-32-88-53-2E-7A-D3-8E
DNS Servers . . . . . . . . . . . : fec0:0:0:ffff::1%1
                                    fec0:0:0:ffff::2%1
                                    fec0:0:0:ffff::3%1
NetBIOS over Tcpip. . . . . . . . : Enabled 

Perubahan antarmuka Guest Ubuntu:

auto eth0
iface eth0 inet static
address 192.168.150.10
netmask 255.255.255.0
gateway 192.168.150.2
dns-nameservers 192.168.150.2

192.168.150.2 adalah proxy VMWare yang akan meneruskan lalu lintas tamu ke host.

Kingsly
sumber
Halo, saya menemui masalah yang sama dengan Anda. Apakah Anda akan menjelaskan lebih lanjut tentang cara Anda menyelesaikan masalah. Hal pertama adalah di mana mendapatkan informasi "adapter Ethernet VMware Network Adapter VMnet8: (Client)". Apakah maksud Anda Anda perlu memperbarui perubahan di / etc / network / interfaces Selain itu, untuk alamat seperti "netmask", "gateway", apakah mereka berbeda dengan mesin yang berbeda? Atau saya bisa menggunakan yang sama seperti yang Anda posting.
user288609