Alamat tamu VMWare Fusion Linux berdasarkan nama host?

11

Saya memiliki gambar Ubuntu Server 9.04 yang disiapkan di VMWare Fusion 3.0.0, menggunakan opsi NAT untuk koneksi jaringan tamu. Dari host Mac, saya bisa ssh ke tamu linux baik-baik saja menggunakan alamat IP itu, tapi saya ingin dapat merujuknya dengan nama host untuk kenyamanan. yaitu:

mac-host:~ ssh [email protected]

Saya memiliki setup serupa menggunakan Parallels beberapa tahun yang lalu, tapi saya tidak ingat bagaimana itu diatur. Mungkin "baru saja bekerja".

Ada saran tentang cara membuat ini bekerja?

amrox
sumber

Jawaban:

14

EDIT Versi pertama dari instruksi yang saya posting menyebabkan konflik dengan server nama dan gateway yang VMware letakkan di vmnet8. Versi ini memperbaiki masalah ini.

Versi perangkat lunak:

  • MAC OS X Versi 10.6.3
  • VMware Fusion Versi 3.1.0 (261058)
  • Ubuntu 10,04 LTS

Apa yang telah aku lakukan:

  • Selama pembuatan VM, atur jaringan ke NAT.

  • Di Linux Guest: Jalankan ifconfig untuk mendapatkan alamat perangkat keras HWaddr, alamat broadcast Bcast, alamat internet IPv4 inet addr, dan mask Maskyang digunakan.

    UbuntuGuest$ifconfig
    eth0      Link encap:Ethernet  HWaddr 00:0c:29:53:bf:e5  
              inet addr:192.168.213.129  Bcast:192.168.213.255  Mask:255.255.255.0
                     <snip>
    
  • Di Linux Guest: Cari informasi server nama

    UbuntuGuest$cat /etc/resolv.conf
    nameserver 192.168.213.2
    domain localdomain
    search localdomain
    
  • Di Linux Guest: Cari alamat gateway: (Terdaftar di kolom Gateway baris dengan 0.0.0.0 sebagai Tujuan.)

    UbuntuGuest$route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    192.168.213.0   0.0.0.0         255.255.255.0   U     0      0        0 eth0
    0.0.0.0         192.168.213.2   0.0.0.0         UG    100    0        0 eth0
    
  • Pada OS X Host: Edit dhcpd.conffile untuk vmnet8(Switch virtual NAT) untuk menetapkan alamat IP statis ke Tamu Linux. (Gunakan editor pilihan Anda pada baris keempat)

    OSXHost$cd /Library/Application\ Support/VMware\ Fusion/vmnet8/
    OSXHost$sudo chmod u+w dhcpd.conf
    OSXHost$sudo cp dhcpd.conf dhcpd.conf.bak.20100619
    OSXHost$sudo emacs dhcpd.conf
    
  • Pada OS X Host: File akan mulai terlihat seperti:

    # Configuration file for ISC 2.0 vmnet-dhcpd operating on vmnet8.
    #
    # This file was automatically generated by the VMware configuration program.
    # See Instructions below if you want to modify it.
    #
    # We set domain-name-servers to make some DHCP clients happy
    # (dhclient as configured in SuSE, TurboLinux, etc.).
    # We also supply a domain name to make pump (Red Hat 6.x) happy.
    #
    
    
    ###### VMNET DHCP Configuration. Start of "DO NOT MODIFY SECTION" #####
    # Modification Instructions: This section of the configuration file contains
    # information generated by the configuration program. Do not modify this
    # section.
    # You are free to modify everything else. Also, this section must start
    # on a new line
    # This file will get backed up with a different name in the same directory
    # if this section is edited and you try to configure DHCP again.
    
    # Written at: 12/26/2009 10:35:10
    allow unknown-clients;
    default-lease-time 1800;                # default is 30 minutes
    max-lease-time 7200;                    # default is 2 hours
    
    subnet 192.168.213.0 netmask 255.255.255.0 {
          range 192.168.213.128 192.168.213.254;
          option broadcast-address 192.168.213.255;
          option domain-name-servers 192.168.213.2;
          option domain-name localdomain;
          default-lease-time 1800;         # default is 30 minutes
          max-lease-time 7200;             # default is 2 hours
      option routers 192.168.213.2;
    }
    host vmnet8 {
        hardware ethernet 00:50:56:C0:00:08;
        fixed-address 192.168.213.1;
        option domain-name-servers 0.0.0.0;
        option domain-name "";
        option routers 0.0.0.0;
    }
    ####### VMNET DHCP Configuration. End of "DO NOT MODIFY SECTION" #######
    

Hal yang perlu diperhatikan:

  • The subnetBagian harus sesuai dengan informasi IP berkumpul di Linux tamu. The inet addrakan berada dalam range, netmaskakan cocok Mask, option broadcast-addressakan cocok Bcast, option domain-name-serversdan option domain-nameakan cocok informasi yang dikumpulkan dengan cat /etc/resolv.confdan option routersakan cocok Gatewaydari route -nperintah.

  • Kami ingin menetapkan alamat IP statis, sehingga kami dapat menambahkan entri ke file OS X Host hosts. Alamat harus dalam batas yang subnetditentukan. Alamat yang tidak tersedia untuk ditetapkan adalah alamat dalam rangebagian subnet, alamat broadcast, fixed-addressfor host vmnet8, server DNS dan gateway. Dan saya pikir alamat sama dengan subnet tidak diperbolehkan. Dalam contoh ini, subnetnya adalah 192.168.213.0Jadi penerima yang tersedia adalah dari 192.168.213.1 to 192.168.213.255kurang 192.168.213.128 to 192.168.213.245(jangkauan) kurang 192.168.213.255(siaran) kurang 192.168.213.1(host vmnet8) kurang 192.168.213.2(gateway dan server DNS). Net adalah alamat 192.168.213.3 to 192.168.213.127yang tersedia.


  • ON OS X Host: Buat hostentri baru di bawah BAGIAN JANGAN MENGUBAH . Entri ini akan menetapkan IP statis untuk Tamu Linux. hardware ethernetperlu mencocokkan HWaddrdari ifconfigpada Tamu Linux. Pilih alamat statis yang tersedia untuk fixed-address. option broadcast-address, option domain-name-servers, option domain-nameDan option routerskebutuhan untuk mencocokkan opsi yang diberikan di subnetbagian dhcpd.conf. (Yang sudah kami cocokkan dengan informasi yang dikumpulkan pada Tamu Linux.) Dalam contoh ini entri host adalah:

    ####### VMNET DHCP Configuration. End of "DO NOT MODIFY SECTION" #######
    host serpents-hold {
        hardware ethernet 00:0c:29:53:bf:e5;
        fixed-address 192.168.213.3;
        option broadcast-address 192.168.213.255;
        option domain-name-servers 192.168.213.2;
        option domain-name localdomain;
        option routers 192.168.213.2;
    }
    
  • Pada OS X Host, Simpan dhcpd.confdan tutup editor Anda.

  • Pada OS X Host dan semua Tamu: Matikan semua VM dan VMware.

  • Pada OS X Host: Mulai ulang layanan VMware:

    OSXHost$cd /Library/Application\ Support/VMware\ Fusion/ 
    OSXHost$sudo ./boot.sh --restart 
    
  • Pada OS X Host: Cari Activity Monitordan pastikan bahwa dua proses yang masing-masing vmnet-dhcpddijalankan. (Satu untuk vmnet8, jaringan NAT, lainnya untuk jaringan host saja.) Jika Anda tidak melihat keduanya, mungkin ada masalah dengan vmnet8/dhcpd.conffile pada OS X Host. Perbaiki itu dan ulangi restart layanan VMware.

  • Pada OS X Host: Mulai VMware dan Linux Guest VM.

  • Di Linux Guest On guest VM periksa pengaturan seperti yang diharapkan:

    UbuntuGuest$ifconfig
    eth0      Link encap:Ethernet  HWaddr 00:0c:29:53:bf:e5  
              inet addr:192.168.213.3  Bcast:192.168.213.255  Mask:255.255.255.0
              inet6 addr: fe80::20c:29ff:fe53:bfe5/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:103 errors:0 dropped:0 overruns:0 frame:0
              TX packets:71 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:10961 (10.9 KB)  TX bytes:9637 (9.6 KB)
    lo <snip>    
    UbuntuGuest$cat /etc/resolv.conf
    nameserver 192.168.213.2
    domain localdomain
    search localdomain
    UbuntuGuest$route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    192.168.213.0   0.0.0.0         255.255.255.0   U     0      0        0 eth0
    0.0.0.0         192.168.213.2   0.0.0.0         UG    100    0        0 eth0
    UbuntuGuest$
    
  • Di Linux Guest: Periksa apakah dunia luar dapat dijangkau:

    UbuntuGuest$ping google.com
    PING google.com (72.14.213.104) 56(84) bytes of data.
    64 bytes from pv-in-f104.1e100.net (72.14.213.104): icmp_seq=1 ttl=128 time=47.6 ms
    64 bytes from 2.bp.blogspot.com (72.14.213.104): icmp_seq=2 ttl=128 time=48.7 ms
    64 bytes from 2.bp.blogspot.com (72.14.213.104): icmp_seq=3 ttl=128 time=48.2 ms
    ^C
    --- google.com ping statistics ---
    4 packets transmitted, 3 received, 25% packet loss, time 3093ms
    rtt min/avg/max/mdev = 47.687/48.223/48.714/0.491 ms
    UbuntuGuest$
    
  • Pada OS X Host: Tambahkan pemetaan untuk nama host ke hostsfile:

    OSXHost$cd /etc
    OSXHost$sudo emacs hosts
    

    Tambahkan baris ke akhir file host menggunakan nama host Tamu Linux dan alamat IP yang ditetapkan di atas.

    192.168.213.2   serpents-hold
    
  • Pada OS X Host: Simpan file dan keluar dari emacs.

  • Di OS X Host: Uji bahwa Tamu Linux dapat dijangkau dengan nama host:

    OSXHost$ping serpents-hold
    PING serpents-hold (192.168.213.3): 56 data bytes
    64 bytes from 192.168.213.3: icmp_seq=0 ttl=64 time=0.169 ms
    64 bytes from 192.168.213.3: icmp_seq=1 ttl=64 time=0.244 ms
    ^C
    --- serpents-hold ping statistics ---
    2 packets transmitted, 2 packets received, 0.0% packet loss
    round-trip min/avg/max/stddev = 0.169/0.207/0.244/0.037 ms
    OSXHost$
    
Shannon Severance
sumber
Ini bagus ... jika Anda menggunakan host OSX. Seandainya aku bisa menemukan jendela yang setara di suatu tempat.
TJ L
1
Info bagus Terima kasih. 2 pembaruan untuk v4.x 1. Lokasi dhcpd.conf sekarang: "/ Library / Preferences / VMware Fusion /" 2. Di Fusion 4, layanan jaringan tidak berjalan ketika Fusion dimatikan. Untuk memulai kembali layanan jaringan, mulai ulang Fusion.
sym3tri
8

Jawaban satu langkah untuk pertanyaan awal adalah menjalankan perintah ini:

$ sudo apt-get install libnss-mdns

Menginstal paket ini harus mengaktifkan fitur secara instan. Anda kemudian dapat sampai ke VM di your-vm-hostname.local. Ini hanya akan berfungsi dalam jaringan lokal VM, yang tergantung pada bagaimana Anda mengonfigurasinya dalam perangkat lunak virtualisasi Anda.

Fitur ini disebut Bonjour oleh Apple dan Zeroconf oleh semua orang. Itu dibangun ke dalam OS X dan iOS. Cara termudah untuk mendapatkannya di Windows adalah menginstal iTunes untuk Windows.

hashemi
sumber
Dengan menggunakan ini, saya perlu menambahkan '.local' ke nama mesin tamu, misalnya ubuntu-guest.local, ketika saya merujuknya dari sisi host. Selain itu, ini bekerja dengan sangat baik!
Nathaniel Waisbrot
@NathanielWaisbrot Itu benar. Itulah yang diinginkan poster asli.
hashemi
3

Anda dapat mengonfigurasi zeroconf menggunakan Avahi, yang seharusnya memungkinkan klien mengidentifikasi dirinya di jaringan tanpa registrasi DNS.

Jon Lasser
sumber
2

dengan asumsi Anda hanya ingin masuk melalui baris perintah, mengapa tidak membuat file konfigurasi ssh ? saya melakukan sesuatu seperti ini untuk vm saya.

# ~/.ssh/config
Host linux-box    
Hostname localhost
Port 8822

maka saya bisa

mac-box:~ ssh linux-box
yanokwa
sumber
1

Jika Anda menggunakan NAT, mungkin mencoba mendaftar dengan server DNS, namun ke komputer selain host, IP-nya akan sama dengan mesin Anda dan dapat menyebabkan beberapa masalah.

Saya akan merekomendasikan Anda beralih ke jaringan yang dijembatani karena ini akan memberikan alamat IP-nya sendiri dan ke mesin apa pun, itu akan terlihat dan terasa seperti mesin lain di jaringan. Jika Anda mengatur semua pengaturan IP dengan benar (atau menggunakan DHCP), itu akan secara otomatis mendaftar dan Anda seharusnya tidak memiliki masalah melakukan apa pun pada port apa pun melalui IP atau nama host.

William Hilsum
sumber
1
Ya saya pikir itu akan berhasil tetapi saya lebih suka jaringan pribadi yang stabil. VM ada di laptop yang bergerak dan kadang-kadang tidak memiliki koneksi internet. Jika saya menggunakan bridged-mode, saya tidak akan bisa menghubunginya ketika host sedang offline.
amrox