我有这个配置:
config.vm.network "public_network", ip: "192.168.56.101", :mac => "0022334455DA"
vagrant up
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:1141 errors:0 dropped:0 overruns:0 frame:0
TX packets:861 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:115407 (115.4 KB) TX bytes:98490 (98.4 KB)
eth1 Link encap:Ethernet HWaddr 00:22:33:44:55:da
inet addr:192.168.56.101 Bcast:192.168.56.255 Mask:255.255.255.0
inet6 addr: fe80::222:33ff:fe44:55da/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:319 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:19236 (19.2 KB) TX bytes:648 (648.0 B)
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)
但我仍然无法在192.168.56.101
我的机器或网络上的任何其他机器上访问服务器。配置完成后,private_server
我可以从我的机器访问该地址。
ip 路由显示
default via 10.0.2.2 dev eth0
default via 10.0.2.2 dev eth0 metric 100
10.0.2.0/24 dev eth0 proto kernel scope link src 10.0.2.15
192.168.56.0/24 dev eth1 proto kernel scope link src 192.168.56.101
当虚拟机运行时,VB 网络配置显示两个连接:
Adapter 1
Attached to: NAT
Adapter 2
Attached to: Bridged Adapter
Name: Intel Ethernet Connection
所以我猜 eth0 是 NAT,而 eth1 是桥接连接?Intel Ethernet Connection
我的以太网电缆是否连接到路由器。
另外,当我打开网络和共享中心时,它告诉我有一个未识别的网络,其中有 2 个连接:VirtualBox Host-Only Network
和VirtualBox Host-Only Network #2
。这很令人困惑,因为我实际上将 Vagrant 设置为使用公共网络。
答案1
使用是否配置,我发现分配给客户机的网络掩码与主机的桥接接口不同,因此我必须手动指定它。一旦我这样做了,虚拟机就可以在主机系统之外访问。这是我的 Vagrantfile 条目:
config.vm.network :public_network, ip: '172.16.35.51', :netmask => '255.255.0.0', :bridge => 'eth0'
答案2
如果我必须根据这么少的信息来猜测,我会指向路由表...10.0.2.15 eth0 nic 正在传输相当多的数据。