我已经使用 Vagrant 创建了一个运行 Ubuntu 12.04 的全新 VM,由于我需要始终使用相同的 IP 地址访问 VM,因此我为其分配了一个 MAC 地址并设置了我的 DHCP,以便为具有该 MAC 的机器分配相同的 IP。
我的 VagrantFile 看起来像
Vagrant::Config.run do |config|
config.vm.box = "ubuntu-vm"
config.vm.box_url = "http://files.vagrantup.com/precise32.box"
config.vm.network :bridged, :bridge => "BGigabit Ethernet", :mac => "080027234567"
end
VM 已正确创建,每次启动时都会分配相同的 IP。但是,网关配置不正确。
这是我的 ifconfig
eth0 Link encap:Ethernet HWaddr 08:00:27:12:96:98
inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe12:9698/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:436 errors:0 dropped:0 overruns:0 frame:0
TX packets:360 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:46526 (46.5 KB) TX bytes:41271 (41.2 KB)
eth1 Link encap:Ethernet HWaddr 08:00:27:23:45:67
inet addr:142.17.1.10 Bcast:142.17.3.255 Mask:255.255.252.0
inet6 addr: fe80::a00:27ff:fe12:3456/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:910 errors:0 dropped:6 overruns:0 frame:0
TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:72559 (72.5 KB) TX bytes:1604 (1.6 KB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
这是我的路线
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 10.0.2.2 0.0.0.0 UG 0 0 0 eth0
default 10.0.2.2 0.0.0.0 UG 100 0 0 eth0
10.0.2.0 * 255.255.255.0 U 0 0 0 eth0
142.17.0.0 * 255.255.252.0 U 0 0 0 eth1
eth1 网关应为 142.17.0.1。难道不应该从 DHCP 获取正确的地址吗?
我是否必须在 Vagrantfile 中指定一些额外的参数才能使其工作?
谢谢。