无业游民的公共ip无法访问


10

我有这个配置:

config.vm.network "public_network", ip: "192.168.56.101", :mac => "0022334455DA"

vagrant upifconfig打印之后:

 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 NetworkVirtualBox Host-Only Network #2。当我实际上将Vagrant设置为使用公共网络时,这令人困惑。


您是否找到解决方案?我遇到了同样的问题。
T先生

@ Mr.T,是的,我只使用了正确的网络:config.vm.network:public_network,ip:“ 192.168.1.12”,mac:“ 001122334455”
localhost

对于那些有类似问题但具有Vagrant宅基地风味的人,我在这里找到了它们:superuser.com/a/1214376/74576
Ryan

Answers:


9

使用ifconfig,我发现分配给客户机的网络掩码与主机的桥接接口不同,因此我必须手动指定它。一旦这样做,就可以在主机系统之外访问VM。这是我的Vagrantfile条目:

config.vm.network :public_network, ip: '172.16.35.51', :netmask => '255.255.0.0', :bridge => 'eth0'

您还有两个接口集吗?像带有10.0.2.15的eth0和带有静态IP的eth1一样?
Nikos Alexandris

知道为什么会这样吗?
humble_wolf

0

如果我不得不从这少量信息中猜测,我会指向路由表... 10.0.2.15 eth0 nic正在传输大量数据。


我如何获得更多信息?
本地主机

ip route show从vm开始是一个很好的开始...然后,我们需要知道这些网络所附加的内容:“ 10.0.2.15是通过可视化软件设置的,该可视化软件是通过位于路由器/调制解调器和192.168。主机之间的主机共享的56.101是连接到路由器/调制解调器”等的桥连的适配器
丹尼尔Widrick

更新的问题
localhost
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.