通过Vagrant在同一接口上设置多个静态地址

通过Vagrant在同一接口上设置多个静态地址,vagrant,vagrantfile,Vagrant,Vagrantfile,因此,在尝试将手动安装说明转换为设置VM时的Vagrant时,我很难理解如何使/etc/network/interfaces文件具有以下内容: auto eth1 iface eth1 inet static address 192.168.56.101 netmask 255.255.255.0 auto eth1:1 iface eth1:1 inet static address 192.168.56.102 netmask 255.255.255.0 auto eth1:2 ifac

因此,在尝试将手动安装说明转换为设置VM时的Vagrant时,我很难理解如何使
/etc/network/interfaces
文件具有以下内容:

auto eth1
iface eth1 inet static
address 192.168.56.101
netmask 255.255.255.0

auto eth1:1
iface eth1:1 inet static
address 192.168.56.102
netmask 255.255.255.0

auto eth1:2
iface eth1:2 inet static
address 192.168.56.103
netmask 255.255.255.0
这些接口都使用VirtualBox中VM上的仅主机适配器

我知道我可以创建三个单独的适配器,并使用同一个仅限主机的适配器执行以下操作:

config.vm.network "private_network", ip: "192.168.56.101"
config.vm.network "private_network", ip: "192.168.56.102"
config.vm.network "private_network", ip: "192.168.56.103"

但这显然与上面的文件不匹配。我不希望在启动/关闭时有一些重写/etc/network/interfaces的黑客解决方案,但我似乎无法让Vagrant正常工作,除了非常简单的教程之外,在上面找不到任何其他内容。

我不确定您是否可以使用默认的网络配置来实现这一点

我使用一些参数尝试了一些选项

config.vm.network "private_network", ip: "192.168.50.101", :device => "eth1", :adapter => 1, :netmask => "255.255.255.0"
config.vm.network "private_network", ip: "192.168.50.102", :device => "eth1:1", :adapter => 1, :netmask => "255.255.255.0"
config.vm.network "private_network", ip: "192.168.50.103", :device => "eth1:2", :adapter => 1, :netmask => "255.255.255.0"
但这将导致VM无法启动,或者每个接口都有自己的接口

然后查看/禁用自动配置,您可以执行以下操作

# manual ip
config.vm.network "public_network", auto_config: false
config.vm.provision "shell",
  run: "always",
  inline: "ifconfig eth1 192.168.50.101 netmask 255.255.255.0 up"
config.vm.provision "shell",
  run: "always",
  inline: "ifconfig eth1:1 192.168.50.102 netmask 255.255.255.0 up"
config.vm.provision "shell",
  run: "always",
  inline: "ifconfig eth1:2 192.168.50.103 netmask 255.255.255.0 up"
在您获得的VM上运行
ifconfig-a

eth0      Link encap:Ethernet  HWaddr 00:0c:29:e5:fe:e1
          inet addr:172.16.42.238  Bcast:172.16.42.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fee5:fee1/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:766 errors:0 dropped:0 overruns:0 frame:0
          TX packets:489 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:83256 (83.2 KB)  TX bytes:69904 (69.9 KB)

eth1      Link encap:Ethernet  HWaddr 00:0c:29:e5:fe:eb
          inet addr:192.168.50.101  Bcast:192.168.50.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fee5:feeb/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:125 errors:0 dropped:20 overruns:0 frame:0
          TX packets:17 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:10180 (10.1 KB)  TX bytes:1478 (1.4 KB)

eth1:1    Link encap:Ethernet  HWaddr 00:0c:29:e5:fe:eb
          inet addr:192.168.50.102  Bcast:192.168.50.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

eth1:2    Link encap:Ethernet  HWaddr 00:0c:29:e5:fe:eb
          inet addr:192.168.50.103  Bcast:192.168.50.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1