ホスト名でVMWare Fusion Linuxゲストをアドレス指定しますか?


11

ゲストのネットワーク接続にNATオプションを使用して、VMWare Fusion 3.0.0でUbuntu Server 9.04イメージをセットアップしています。Macホストから、IPアドレスを使用してLinuxゲストにsshできますが、便宜上ホスト名で参照できるようにしたいと思います。すなわち:

mac-host:~ ssh user@linux-guest.local

数年前にParallelsを使用して同様のセットアップを行いましたが、どのようにセットアップされたか覚えていません。「うまくいった」かもしれません。

この作業を行う方法に関する提案はありますか?

回答:


14

編集私が投稿した最初のバージョンの指示は、VMwareがvmnet8に配置したネームサーバーとゲートウェイとの競合を引き起こしました。このバージョンは問題を修正します。

ソフトウェアのバージョン:

  • MAC OS Xバージョン10.6.3
  • VMware Fusionバージョン3.1.0(261058)
  • Ubuntu 10.04 LTS

私がやった事:

  • VMの作成中に、ネットワークをNATに設定します。

  • Linuxゲストの場合: ifconfigを実行して、使用されているハードウェアアドレスHWaddr、ブロードキャストアドレスBcast、IPv4インターネットアドレスinet addr、およびマスクを取得しますMask

    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>
    
  • Linuxゲストの場合:ネームサーバー情報を検索します

    UbuntuGuest$cat /etc/resolv.conf
    nameserver 192.168.213.2
    domain localdomain
    search localdomain
    
  • Linuxゲストの場合:ゲートウェイアドレスを検索します(行のGateway列にリストされ、宛先として0.0.0.0が示されています)。

    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
    
  • OS Xホストの場合:(NAT仮想スイッチ)のdhcpd.confファイルを編集しvmnet8て、Linuxゲストに静的IPアドレスを割り当てます。(4行目に選択したエディターを使用します)

    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
    
  • OS Xホストの場合:ファイルは次のようになります。

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

注意事項:

  • このsubnetセクションは、Linuxゲストで収集されたIP情報と一致する必要があります。inet addr内にあるであろうrangenetmask一致するMaskoption broadcast-address一致するBcastoption domain-name-serversoption domain-nameして収集した情報と一致しますcat /etc/resolv.confoption routers一致しますGatewayから、route -nコマンド。

  • 静的IPアドレスを割り当てて、OS Xホストのhostsファイルにエントリを追加できるようにします。アドレスはsubnet定義された範囲内でなければなりません。割り当てることができないアドレスはrange、サブネットセクション内のアドレス、ブロードキャストアドレス、fixed-addressfor host vmnet8、DNSサーバー、およびゲートウェイです。そして、サブネットに等しいアドレスは許可されていないと思います。この例では、サブネットは次の192.168.213.0とおりです。したがって、使用可能なアドレスは、192.168.213.1 to 192.168.213.255less 192.168.213.128 to 192.168.213.245(範囲)less 192.168.213.255(broadcast)less 192.168.213.1(host vmnet8)less 192.168.213.2(gateway and DNS server)です。ネットは、アドレス192.168.213.3 to 192.168.213.127が利用可能であるということです。


  • OS Xホストの場合:DO NOT MODIFY SECTIONセクションのhost下に新しいエントリを 作成します。このエントリは、Linuxゲストに静的IPを割り当てます。一致している必要がありますから、Linuxゲストで。の利用可能な静的アドレスを選択します。、、及びに与えられたオプションと一致する必要のセクションを。(Linuxゲストで収集された情報と既に照合済みです。)この例では、ホストエントリは次のとおりです。hardware ethernetHWaddrifconfigfixed-addressoption broadcast-addressoption domain-name-serversoption domain-nameoption routerssubnetdhcpd.conf

    ####### 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;
    }
    
  • OS Xホストの場合dhcpd.confエディターを保存して閉じます。

  • OS Xホストとすべてのゲスト:すべてのVMとVMwareをシャットダウンします。

  • OS Xホスト: VMwareサービスを再起動します。

    OSXHost$cd /Library/Application\ Support/VMware\ Fusion/ 
    OSXHost$sudo ./boot.sh --restart 
    
  • OS Xホスト上:探す場所Activity Monitorとを確認してくださいという2つのプロセスは、それぞれことをvmnet-dhcpd実行しています。(1つはvmnet8、NATネットワーク用、もう1つはホストのみのネットワーク用です。)両方が表示されない場合はvmnet8/dhcpd.conf、OS Xホスト上のファイルに問題がある可能性があります。それを修正し、VMwareサービスの再起動を繰り返します。

  • OS Xホスト: VMwareおよびLinuxゲストVMを起動します。

  • Linuxゲストの場合ゲストVMで、設定が期待どおりであることを確認します。

    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$
    
  • Linuxゲストの場合:外の世界に到達できることを確認します。

    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$
    
  • OS Xホストの場合:ホスト名のマッピングをhostsファイルに追加します。

    OSXHost$cd /etc
    OSXHost$sudo emacs hosts
    

    上記で割り当てたLinuxゲストのホスト名とIPアドレスを使用して、hostsファイルの最後に行を追加します。

    192.168.213.2   serpents-hold
    
  • OS Xホストの場合:ファイルを保存してemacsを終了します。

  • OS Xホストの場合: Linuxゲストがホスト名で到達可能であることをテストします。

    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$
    

これは素晴らしいです...あなたがOSXホスト上にいるなら。どこか同等の窓が見つかればいいのに。
TJ L

1
素晴らしい情報。ありがとう。v4.xの2つのアップデート1. dhcpd.confの場所は、「/ライブラリ/ Preferences / VMware Fusion /」になりました。2. Fusion 4では、Fusionのシャットダウン時にネットワークサービスが実行されません。ネットワークサービスを再起動するには、Fusionを再起動します。
sym3tri

8

元の質問に対する1つのステップの答えは、次のコマンドを実行することです。

$ sudo apt-get install libnss-mdns

このパッケージをインストールすると、すぐに機能が有効になります。その後、でVMにアクセスできますyour-vm-hostname.local。これは、仮想化ソフトウェアでの構成方法に応じて、VMのローカルネットワーク内でのみ機能します。

この機能は、AppleではBonjourと呼ばれ、他の人はZeroconfと呼ばれます。OS XとiOSに組み込まれています。Windowsで入手する最も簡単な方法は、iTunes for Windowsをインストールすることです。


これを使用して、ゲストマシンの名前に「.local」を追加する必要があります。たとえばubuntu-guest.local、ホスト側から参照する場合です。それはさておき、これは素晴らしく動作します!
ナサニエルウェイズブロット

@NathanielWaisbrotそれは本当です。それが元のポスターが望んでいたことです。
hashemi

3

Avahiを使用してzeroconfを構成できます。これにより、クライアントはDNS登録なしでネットワーク上で自身を識別できます。


2

コマンドラインでログインしたいだけなら、ssh configファイルを作成してみませんか?私は私のVMのためにこのようなことをします。

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

それから私はできる

mac-box:~ ssh linux-box

1

NATを使用している場合、DNSサーバーに登録しようとする場合がありますが、ホスト以外のコンピューターでは、IPはマシンと同じであり、いくつかの問題を引き起こす可能性があります。

ブリッジネットワーキングに切り替えることをお勧めします。これにより、独自のIPアドレスと任意のマシンが提供され、ネットワーク上の他のマシンと同じように見えるようになります。すべてのIP設定を正しくセットアップした場合(またはDHCPを使用した場合)、自動的に登録され、IPまたはホスト名を介してどのポートでも何も問題なく実行できるはずです。


1
はい、それはうまくいくと思いますが、安定したプライベートネットワークを好むでしょう。VMは移動するラップトップ上にあり、インターネットに接続されていない場合があります。ブリッジモードを使用した場合、ホストがオフラインのときにブリッジモードに接続できません。
amrox
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.