2016-09-30 89 views
0

我需要設置2個公共網絡的流浪機,所以按照這個鏈接https://www.vagrantup.com/docs/networking/public_network.html編輯流浪文件。公共網絡in vagrant

但是隻有一臺機器只有公共靜態IP。另一個不是得到公共靜態IP。

這是我漂泊不定的機器配置:

機1流浪文件:

Vagrant.configure("2") do |config| 

     config.vm.box = "man2" 

     config.ssh.username = "vagrant" 
     config.vm.hostname = "www.myhost.net" 
     config.ssh.forward_agent = "true" 


     config.vm.network "public_network", ip: "192.168.1.10" 

     config.vm.provider :virtualbox do |vb| 
     vb.customize ["modifyvm", :id, "--memory", "2048"] 
     end 
     config.vm.synced_folder ".", "/vagrant", :mount_options => ["dmode=777","fmode=666"] 
    end 

機2流浪文件:

 Vagrant.configure("2") do |config| 

      config.vm.box = "man1" 
      config.ssh.username = "vagrant" 
      config.vm.hostname = "www.myhost.net" 
      config.ssh.forward_agent = "true" 

     config.vm.network "public_network", ip: "192.168.1.20" 

      config.vm.provider :virtualbox do |vb| 
      vb.customize ["modifyvm", :id, "--memory", "2048"] 
      end 

      config.vm.synced_folder ".", "/vagrant", :mount_options => ["dmode=777","fmode=777"] 

     end 

雖然流浪了

系統詢問網絡橋接哪個接口?

我選擇這兩個馬希爲1 「ENO1

 1) eno1 
     2) docker0 
     3) veth54294ac 
     4) virbr0 
     5) vethc81d7f7 
     6) br-08179b343476 
     7) br-1d45dec94893 
     ==> default: When choosing an interface, it is usually the one that is 
     ==> default: being used to connect to the internet. 
      default: Which interface should the network bridge to? 1 

然後,流浪SSH兩個機

只有一臺機器有公共靜態IP,另一臺機器上不顯示公開IP。

如果我選擇不同的橋網絡在任何一個系統中有些人認爲這樣的:(機2)

 1) eno1 
     2) docker0 
     3) veth54294ac 
     4) virbr0 
     5) vethc81d7f7 
     6) br-08179b343476 
     7) br-1d45dec94893 

選項:4(virbro)OT別人現在,也同樣的問題。

更新1:

之前我試過相同的設置它的做工精細,流浪VirtualBox的

的唯一不同版本受審:

Fedrora 23

流浪1.8.1

的VirtualBox 5.0

現在嘗試:

Fedrora 23

流浪1.8.6

VirtualBox的5.1.6

在這個版本的任何限制。

爲什麼?

系統不能共享同一個網橋?

建議我如何解決這個問題。

+0

你想爲兩臺機器相同的主機名?不知道你可以做到這一點,改變你的機器的主機名 –

+0

@FrédéricHenri相同的設置(主機名是相同的),我試過在其工作正常之前,但現在只有這個問題。 –

+0

@FrédéricHenri我更新我的問題,請查看此 –

回答

1

您的Vagrantfile對我來說似乎很好。它可能是你的Machine2 IP 192.168.1.20被分配給其他系統。如果分配給其他系統,則DHCP不會將此IP分配給您的計算機。 如果你確定不分配給其他系統這些IP然後使它static,否則你可以給這樣的:在這種情況下DHCP將釋放IP可用

config.vm.network "public_network" 

。不需要爲每個VM分別編寫Vagrantfile。您可以爲多個虛擬機像創建一個單一Vagrantfile

Vagrant.configure("2") do |config|              

    config.vm.define :server1 do |server1| 
      server1.vm.box = "man1"  
      server1.vm.host_name = "vm1.example.com" 
      server1.vm.network "public_network", ip: "192.168.1.10" 
      server1.vm.synced_folder ".", "/vagrant", :mount_options => ["dmode=777","fmode=666"] 
      server1.vm.provider :virtualbox do |vb| 
        vb.customize ["modifyvm", :id, "--memory", "2048"] 
      end  
    end 

    config.vm.define :server2 do |server2| 
      server2.vm.box = "man1"  
      server2.vm.host_name = "vm2.example.com" 
      server2.vm.network "public_network", ip: "192.168.1.20" 
      server2.vm.synced_folder ".", "/vagrant", :mount_options => ["dmode=777","fmode=666"] 
      server2.vm.provider :virtualbox do |vb| 
        vb.customize ["modifyvm", :id, "--memory", "2048"] 
      end 
    end 
end 

如果你想起來然後做

vagrant up server1 

要備份所有虛擬機然後做

vagrant up 

對SSH使用類似:

vagrant ssh server1 

系統不能共享同一個網橋?

是的,它可以共享橋接網絡。您可以使用單個橋創建多個虛擬機。

欲瞭解更多信息,你可以參考Documentation