2

我的 Vagrant 文件中有以下内容。

config.vm.network "private_network", ip: "192.168.33.12"

当我“流浪”时,流浪者正在分配 127.0.0.1。我不确定是什么原因造成的。下面是完整的跟踪。

$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Clearing any previously set forwarded ports...
==> default: Fixed port collision for 22 => 2222. Now on port 2200.
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
    default: Adapter 2: hostonly
==> default: Forwarding ports...
    default: 22 (guest) => 2200 (host) (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2200
    default: SSH username: vagrant
    default: SSH auth method: private key
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
==> default: Configuring and enabling network interfaces...
==> default: Mounting shared folders...
    default: /vagrant => C:/vm2
==> default: Machine already provisioned. Run `vagrant provision` or use the `--provision`
==> default: flag to force provisioning. Provisioners marked to run always will still run.
4

4 回答 4

4

你在这里看到的

默认:SSH 地址:127.0.0.1:2200

不是您的虚拟机 IP 地址 - 这只是为了让 vagrant 使用可用端口(在您的情况下为 2200)通过 ssh 进入盒子。vagrant 在您的 VM 上配置 eth0 接口以与主机通信

登录到虚拟机并运行ifconfig,您将看到(至少)2 个可用的接口,开启 eth010.0.2.15和开启 eth1192.168.33.12

于 2016-03-25T08:43:44.230 回答
0

以下是我在设置 Ubuntu 机器的静态 ip 时选择的步骤:

ls /etc/netplan/ //go to this directory to find the config file

注意:YAML 文件对缩进非常严格,例如

  dhcp4:true //will give wrong indentation error
  dhcp4: true //right way to give

现在编辑配置文件:-

 sudo nano /etc/netplan/01-netcfg.yaml 

更改默认设置: -

network:
  version: 2
  renderer: networkd
  eth0:
    dhcp4: true
    dhcp6: false
    optional: true
    nameservers:
    addresses: [8.8.8.8,8.8.4.4]

network:
version: 2
renderer: networkd
ethernets:
   eth0:
   dhcp4: no
   addresses: [172.28.32.11/16] //here choose your desired IP
   gateway4: 172.28.32.1     //provide the gateway address,
   nameservers:
   addresses: [8.8.8.8,8.8.4.4] 

现在做:

sudo netplan apply // to apply the network settings

然后,您可以在 vagrant halt/up 之间的任何课程中检查 IP 地址是否保持不变

于 2021-01-14T07:30:27.053 回答
0

作为执行此操作的一种速记方式,您可以从主机运行 oneliner 以查看客户机上分配的 IP:

$ vagrant ssh -c "ifconfig | grep 'inet addr'"

这将为您提供如下输出:

      inet addr:10.0.2.15  Bcast:10.0.2.255  Mask:255.255.255.0
      inet addr:192.168.200.200  Bcast:192.168.200.255  Mask:255.255.255.0
      inet addr:127.0.0.1  Mask:255.0.0.0
于 2016-03-25T19:35:40.813 回答
0

这是我为 vagrant 的虚拟盒装机所做的:

将此添加到 vagrant 文件中:-

config.vm.network "private_network", ip: "你选择的任何 IP 地址"

然后做 Vagrant Reload,你应该会很好。

如果 VM 在重试连接或 ssh 时卡住 Vagrant Up 命令,请执行以下操作:-

从 cmder 控制台运行以下命令:-

vagrant 插件安装 vagrant-vbguest

在此之后,通过将以下内容添加到 vagrant 文件来启用 Vagrant GUI:-

config.vm.provider :virtualbox do |vb| 
  vb.gui = true
end 

现在做流浪汉

vagrant gui窗口将打开并继续按“S”跳过并进入登录屏幕

使用默认为 root/vagrant 的用户名/密码登录

并运行以下命令:-

sudo ln -s /opt/VBoxGuestAdditions-4.3.10/lib/VBoxGuestAdditions /usr/lib/VBoxGuestAdditions

现在从 vagrant gui 窗口外壳中出来并删除之前添加的用于启用 vagrant gui 的行

从cmder控制台再次“流浪”

完毕!

于 2021-03-19T10:40:41.983 回答