【发布时间】:2014-10-15 12:13:17
【问题描述】:
我有安装了 vagrant 的 Mac OS。在客户机上我有 Ubuntu 12。所以,我想做的是从主机 ping 客户机。
连接到 NAT 的客户机(根据 VirtualBox 设置)
我发现guest机器上只有一个接口(lo除外):
eth0 Link encap:Ethernet HWaddr 08:00:27:88:0c:a6
inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe88:ca6/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:581 errors:0 dropped:0 overruns:0 frame:0
TX packets:410 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:61376 (61.3 KB) TX bytes:51599 (51.5 KB)
问题是主机上没有 10.0.2.* 网络中的 ip 地址。主机有几个 vboxnet 接口,但它们都没有任何 ip 地址:
vboxnet0: flags=8842<BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether 0a:00:27:00:00:00
vboxnet1: flags=8842<BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether 0a:00:27:00:00:01
vboxnet2: flags=8842<BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether 0a:00:27:00:00:02
vboxnet3: flags=8842<BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether 0a:00:27:00:00:03
你知道为什么VirtualBox没有给主机分配IP地址吗?我该怎么做才能 ping 阵风机器?
这是我的流浪文件(我删除了一些我不使用的注释行):
# -*- mode: ruby -*-
# vi: set ft=ruby :
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
# All Vagrant configuration is done here. The most common configuration
# options are documented and commented below. For a complete reference,
# please see the online documentation at vagrantup.com.
# Every Vagrant virtual environment requires a box to build off of.
config.vm.box = "hashicorp/precise64"
# The url from where the 'config.vm.box' box will be fetched if it
# doesn't already exist on the user's system.
# config.vm.box_url = "http://domain.com/path/to/above.box"
# Create a forwarded port mapping which allows access to a specific port
# within the machine from a port on the host machine. In the example below,
# accessing "localhost:8080" will access port 80 on the guest machine.
config.vm.network "forwarded_port", guest: 80, host: 8080
config.vm.network "forwarded_port", guest: 3306, host: 8086
config.vm.network "forwarded_port", guest: 27017, host: 27017
config.vm.synced_folder "/Users/KoulSlou/Documents/Cloudware12.10", "/vagrant", owner: "www-data", group: "www-data"
config.vm.synced_folder "/Users/KoulSlou/Documents/Cloudware/public","/cloudware", owner: "www-data", group: "www-data"
# Create a private network, which allows host-only access to the machine
# using a specific IP.
#config.vm.network "private_network", ip: "192.168.1.2"
# Create a public network, which generally matched to bridged network.
# Bridged networks make the machine appear as another physical device on
# your network.
# config.vm.network "public_network"
# If true, then any SSH connections made will enable agent forwarding.
# Default value: false
# config.ssh.forward_agent = true
...
end
【问题讨论】:
-
你能分享你的 Vagrantfile 吗?通过良好的网络配置,您可以选择具有静态 ip 或端口转发的私有网络。docs.vagrantup.com/v2/networking/index.html
-
@GianArb 我添加了我的 Vagrantfile。为了快速修复,我取消了 config.vm.network "public_network" 行的注释,并且在我能够 ping 虚拟机之后(我需要它来测试我的应用程序)那么,你建议设置专用网络吗?
-
可以在此处找到具有更多有用答案的类似问题:stackoverflow.com/questions/23497855/…
-
我最近遇到了类似的问题。主机重启为我解决了这个问题。
标签: virtual-machine vagrant virtualbox