我有一个centos7流浪汉盒子的网络问题。当我设置一个有固定IP的私有网络时,这个网络首先是绑定良好的,但在几秒钟/几分钟后就会丢失。
vagrant up
==> default: Forcing shutdown of VM...
==> default: Destroying VM and associated drives...
==> default: Running cleanup tasks for 'shell' provisioner...
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'sfeirbenelux/centos7'...
==> default: Matching MAC address for NAT networking...
==> default: Checking if box 'sfeirbenelux/centos7' is up to date...
==> default: Setting the name of the VM: poc_docker
==> 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 => 2200 (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> 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: Warning: Connection timeout. Retrying...
default:
default: Vagrant insecure key detected. Vagrant will automatically replace
default: this with a newly generated keypair for better security.
default:
default: Inserting generated public key within guest...
default: Removing insecure key from the guest if its present...
default: Key inserted! Disconnecting and reconnecting using new SSH key...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
default: The guest additions on this VM do not match the installed version of
default: VirtualBox! In most cases this is fine, but in rare cases it can
default: prevent things such as shared folders from working properly. If you see
default: shared folder errors, please make sure the guest additions within the
default: virtual machine match the version of VirtualBox you have installed on
default: your host and reload your VM.
default:
default: Guest Additions Version: 5.0.2
default: VirtualBox Version: 4.3
==> default: Setting hostname...
==> default: Configuring and enabling network interfaces...
==> default: Running provisioner: shell...
default: Running: inline script
==> default: net.ipv4.ip_forward = 1
==> default: Setting up swapspace version 1, size = 2097148 KiB
==> default: no label, UUID=170723d8-1782-4915-a877-4d9874ac7396
➜ install git:(master) ✗ ping 192.168.100.20
PING 192.168.100.20 (192.168.100.20): 56 data bytes
64 bytes from 192.168.100.20: icmp_seq=0 ttl=64 time=0.390 ms
64 bytes from 192.168.100.20: icmp_seq=1 ttl=64 time=0.252 ms
64 bytes from 192.168.100.20: icmp_seq=2 ttl=64 time=0.461 ms
^C
--- 192.168.100.20 ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.252/0.368/0.461/0.087 ms
➜ install git:(master) ✗ ping 192.168.100.20
PING 192.168.100.20 (192.168.100.20): 56 data bytes
64 bytes from 192.168.100.20: icmp_seq=0 ttl=64 time=0.273 ms
Request timeout for icmp_seq 1
Request timeout for icmp_seq 2
Request timeout for icmp_seq 3
Request timeout for icmp_seq 4使用这个流浪文件:
vagrant.configure(2) do |config|
config.vm.box = "centos7"
config.vm.hostname = "docker-registry"
config.vm.box_url = "https://github.com/holms/vagrant-centos7-box/releases/download/7.1.1503.001/CentOS-7.1.1503-x86_64-netboot.box"
#config.vm.network "public_network"
config.vm.network "private_network", ip: "192.168.100.20"
#config.vm.synced_folder ".", "/vagrant", type: "nfs"
# VirtualBox
config.vm.provider :virtualbox do |vb|
vb.name = "poc_docker"
vb.memory = 3072
vb.cpus = 2
vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
vb.customize ["modifyvm", :id, "--natdnsproxy1", "on"]
end
end当我在盒子上连接时,ip似乎丢失了。
sudo /sbin/ifup eth1暂时修复问题,但IP get有时会再次丢失。重启机器(漫游停止&漫游启动)似乎永久地解决了这个问题。我试着用包装器( https://atlas.hashicorp.com/sfeirbenelux/boxes/centos7)创建了一个自定义的centos7盒子,我也重现了这个问题。
我想这是Centos 7特有的问题吧?你已经有同样的问题了吗?有没有办法通过添加一个流浪者命令来解决这个问题?
我的环境:
OS X Yosemite➜~ vagrant -- Vagrant 1.7.2➜~Vagrant--版本4.3.26r98988
发布于 2015-09-12 02:16:17
这似乎是由于DHCP配置造成的问题(问题:https://github.com/mitchellh/vagrant/issues/5590 )
网络服务不会重新加载NetworkManager,因此它将继续等待dhcp租借。并且在dhcp超时之后,移除固定ip。
使用添加shell配置脚本
sudo nmcli connection reload
sudo systemctl restart network.service修复问题
编辑:vagrant 1.7.3+也修复了这个错误;)
发布于 2017-01-10 01:31:22
在更新的Vagrant版本(1.9.1)中似乎也存在类似的问题。
修复该问题的拉取请求已经合并(尚未发布):
https://github.com/mitchellh/vagrant/pull/8148
如果要应用修复程序,可以尝试执行以下操作(根据文件权限,可能需要sudo):
在Fedora中找到本地的Vagrant安装(在上,它是/opt/vagrant/)
cd embedded/gems/gems/vagrant-1.9.1
git init git remote add origin https://github.com/mitchellh/vagrant.git git fetch git一个新分支并将其重置为当前版本(例如1.9.1)。
如果您不确定是否有本地更改,请不要在重置后使用--hard并执行git diff / git checkout:
git签出-b修补程序git reset --hard v1.9.1
git cherry-pick 96611341a96d7d19fdade5556a110b22c6add22b
在此之后,vagrant reload应该可以很好地启动本地网络。
发布于 2017-01-28 09:32:28
修复方法在:https://github.com/mitchellh/vagrant/pull/8148中提到
在/opt/vagrant/embedded/gems/gems/vagrant-1.9.1/plugins/guests/redhat/cap/configure_networks.rb中,
在nmcli c reload || true后面添加/sbin/ifup '#{network[:device]}'。
https://stackoverflow.com/questions/32518591
复制相似问题