2016-02-04 76 views
2

我運行Ubuntu裏面無業遊民的網絡設置,這裏是Vagrantfile:我如何定義與流浪漢

# Vagrantfile API/syntax version. Don't touch unless you know what you're doing! 
VAGRANTFILE_API_VERSION = "2" 

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| 
    config.vm.box = "ubuntu/trusty64" 
    config.vm.network :private_network, ip: "192.168.99.4", :netmask => "255.255.255.0", auto_config: false 
end 

所以我希望有192.168.99.4的IP,但我一直有:

eth0  Link encap:Ethernet HWaddr 08:00:27:88:ba:8f 
      inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0 
      inet6 addr: fe80::a00:27ff:fe88:ba8f/64 Scope:Link 
      UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 

eth1  Link encap:Ethernet HWaddr 08:00:27:9c:a9:9f 
      inet6 addr: fe80::a00:27ff:fe9c:a99f/64 Scope:Link 
      UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 

任何線索我做錯了什麼?

上了問題取得了一些進展,這幾乎是像這樣的: How to switch order of network adapters in Vagrant under VirtualBox?

它是關於不使用「10.0.2.15」,並從它是我理解中的「NAT」改變設置virutalbox,不能由Vagrant管理

+0

在什麼界面,你期待? – DonCallisto

回答

0

我可以打賭你看着eht0(這是另一個界面)。

看看eth1,你會得到你正在尋找的東西。

而且,從外面流浪者,嘗試用

ping 192.168.99.4 
+0

以上更新,eth1沒有顯示,所以我沒有把它,並沒有把我的ip – Gurvan

6

來ping它從vagrant book

NAT需求爲第一網絡接口在VirtualBox中

流浪要求第一個連接到虛擬機器的網絡設備作爲NAT設備。 NAT設備用於端口 轉發,這是Vagrant如何獲得對虛擬機器的虛擬 的SSH訪問權限。

因此,任何主機或橋接網絡將作爲 附加的網絡設備添加,並向虛擬機公開爲 「eth1」,「eth2」等。 「eth0」或「en0」通常總是NAT設備。

目前無法覆蓋此要求,但 重要的是要了解它是否到位。

所以你要報告的是這個NAT。

另外eth1沒有被定義,因爲你在你的流浪文件中設置了auto_config: false,所以你基本上告訴流浪漢你會自己做所有的設置。所以你應該把這個參數設置爲真(或刪除),或設置etc/network/interfaces自己

你可以看一下vagrant public network,看看是否可以使用該代碼段爲例,從你的配置中刪除eth0的網關

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

    # default router 
    config.vm.provision "shell", 
    run: "always", 
    inline: "route add default gw 192.168.0.1" 

    # default router ipv6 
    config.vm.provision "shell", 
    run: "always", 
    inline: "route -A inet6 add default gw fc00::1 eth1" 

    # delete default gw on eth0 
    config.vm.provision "shell", 
    run: "always", 
    inline: "eval `route -n | awk '{ if ($8 ==\"eth0\" && $2 != \"0.0.0.0\") print \"route del default gw \" $2; }'`" 
+0

顯示:HostName 127.0.0.1 – Gurvan

+0

好吧我想念'auto_config'部分,你告訴vagrant不要創建接口並且你將創建自己 - 我也刪除了ssh-config,因爲它尋找vb其仍然是127.0.0.1(我使用的是vmware,它顯示了私有網絡時的IP) –

+0

謝謝,我刪除了auto_disable並將eth0設置爲10.0。 2.15和eth1爲192.168.99.4。但我最初的動機是擺脫與外部本地網絡衝突的10.0.2.15。任何想法如何做到這一點? – Gurvan

4

要更改默認的NAT,您應該將其設置爲Vagrantfile。

例如:

config.vm.define "bs" do |bvtserver| 
    bvtserver.vm.hostname = "bvt-server" 
    bvtserver.vm.network "private_network", ip: "192.168.50.3", 
     virtualbox__intnet: "gcptest-network" 
    bvtserver.vm.provider :virtualbox do |vbox| 
    vbox.customize ["modifyvm", :id, "--natnet1", "10.3/16"] 
    end 
end 

對於信用和更多的信息:Li Chao blog