VMware vmnet2 ルートが en0 と衝突する

VMware vmnet2 ルートが en0 と衝突する

Vagrant Box を起動すると次のエラーが発生します:

gajus:vagrant gajus$ vagrant up
Bringing machine 'default' up with 'vmware_fusion' provider...
==> default: Checking if box 'puppetlabs/centos-6.5-64-puppet' is up to date...
==> default: Verifying vmnet devices are healthy...
The VMware network device 'vmnet2' can't be started because
its routes collide with another device: 'en0'. Please
either fix the settings of the VMware network device or stop the
colliding device. Your machine can't be started while VMware
networking is broken.

Routing to the IP '192.168.1.0' should route through 'vmnet2', but
instead routes through 'en0'.

これは私の ifconfig です:

sh-3.2# ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
    options=3<RXCSUM,TXCSUM>
    inet6 ::1 prefixlen 128
    inet 127.0.0.1 netmask 0xff000000
    inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
    nd6 options=1<PERFORMNUD>
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf0: flags=0<> mtu 1280
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    ether 60:03:08:a8:1e:ca
    inet6 fe80::6203:8ff:fea8:1eca%en0 prefixlen 64 scopeid 0x4
    inet 192.168.1.175 netmask 0xffffff00 broadcast 192.168.1.255
    nd6 options=1<PERFORMNUD>
    media: autoselect
    status: active
en1: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
    options=60<TSO4,TSO6>
    ether 72:00:01:ee:3a:20
    media: autoselect <full-duplex>
    status: inactive
en2: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
    options=60<TSO4,TSO6>
    ether 72:00:01:ee:3a:21
    media: autoselect <full-duplex>
    status: inactive
p2p0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 2304
    ether 02:03:08:a8:1e:ca
    media: autoselect
    status: inactive
awdl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1452
    ether 32:df:40:67:6a:63
    inet6 fe80::30df:40ff:fe67:6a63%awdl0 prefixlen 64 scopeid 0x8
    nd6 options=1<PERFORMNUD>
    media: autoselect
    status: active
bridge0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    options=63<RXCSUM,TXCSUM,TSO4,TSO6>
    ether 62:03:08:8a:2b:00
    Configuration:
        id 0:0:0:0:0:0 priority 0 hellotime 0 fwddelay 0
        maxage 0 holdcnt 0 proto stp maxaddr 100 timeout 1200
        root id 0:0:0:0:0:0 priority 0 ifcost 0 port 0
        ipfilter disabled flags 0x2
    member: en1 flags=3<LEARNING,DISCOVER>
            ifmaxaddr 0 port 5 priority 0 path cost 0
    member: en2 flags=3<LEARNING,DISCOVER>
            ifmaxaddr 0 port 6 priority 0 path cost 0
    nd6 options=1<PERFORMNUD>
    media: <unknown type>
    status: inactive

問題の原因とそれを防ぐ方法を説明できる人はいますか?

答え1

OSX (10.10.2) で Vagrant 1.7.2 と VMWare Fusion 6.0.6 を実行しているときにこの問題が発生しましたが、次のエラー メッセージが表示されました:

IP '192.168.1.0' へのルーティングは 'vmnet3' を経由してルーティングされるはずですが、代わりに 'en0' を経由してルーティングされます。

これを修正するには、次の操作を行います。

  1. cd /Library/Preferences/VMware\ Fusion
  2. VMNET3からののすべての言及を削除しましたnetworking。(これを行う前に、ファイルをバックアップする必要があります。)
  3. cd <where your Vagrantfile is>
  4. vagrant up

VM が正常に起動しました。

関連情報