2015-01-08 1 views
6

После бродяга вверх, гостевой ящик становится присвоен неправильный IP-адрес и вызывает следующую ошибку:VirtualBox гость не получает IP-адрес, назначенный Vagrantfile

... 
... 
SSH address: 127.0.0.1:2222 
serverbox: SSH username: vagrant 
serverbox: SSH auth method: private key 
serverbox: Warning: Connection timeout. Retrying... 
serverbox: Warning: Connection timeout. Retrying... 
serverbox: Warning: Connection timeout. Retrying... 
... 

я работу на дому и в офисе так должно всегда перенастраивайте назначение IP-адреса в Vagrantfile в зависимости от того, где я нахожусь, потому что подсети разные. (192.168.x.x по сравнению с 10.80.x.x)

Это работало нормально до вчерашнего дня. Я понятия не имею, что вызывает проблемы, поскольку я не внес никаких корректировок.

Vagrantfile:

Vagrant.configure("2") do |config|                              
    config.vm.provider "virtualbox" do |vb|                             
    vb.customize ["modifyvm", :id, "--memory", "512"]                          
    end                                      
    config.vm.network "public_network", ip: '10.80.2.144' 
    #config.vm.network "public_netowrk", ip: '192.168.1.144'                       
end 

... 

Vagrantfile должен поставить свою guestbox по адресу 10.80.x.x но NetStat показывает, что мой ящик все еще идет вверх по 192.168.x.x адресу. Это означает, что я не могу работать с гостевым ящиком, так как он выходит за пределы подсети.

Я сделал остановку и снова, а также полностью перезагрузил свой процессор и проверил, чтобы виртуализация включена в BIOS.

Я искал here и попробовал this метод не имеет смысла.

Я также пробовал vb.gui = true, но моя машина работает без головного убора. Экран журнала регистрации Virtualbox может предоставить некоторую полезную информацию, но он настолько мал, что я ничего не могу сделать. Если у кого-то есть какие-то советы о том, как сделать это больше, что, вероятно, может помочь.

UPDATE:

Так что мое решение является нежелательным решением, но мой рабочий день был торпедирован и нужно двигаться вперед, так что я просто разрушил мою коробку и повторно up'ed.

По-видимому, мои ключи стали небезопасными. Не знаю, как это произошло, но новый ящик заменил мои ключи.

+1

Я предполагаю, что если вы используете downvote, вы должны хотя бы оставить ответ о том, почему, если это не ясно. – earth2jason

+0

Ситуация может быть из-за того, что VirtualBox не смог перенаправить порты, несмотря на то, что сказал '** ==> default: Перенаправление портов ... по умолчанию: 22 => 2222 (адаптер 1) ** ' Вы можете посмотреть полное описание в моем вопросе здесь [ссылка] (http://stackoverflow.com/questions/36529651/virtualbox-nat-failed-to -redirect-ТСР-127-0-0-12222-10-0-2-1522). Я до сих пор не знаю, как исправить переадресацию ( Пожалуйста, отметьте заметку в моем посте, если и как вы преуспеете! – WebComer

ответ

6

мое предложение по вашей проблеме.

Запустите vagrant reload и vagrant provision в этом случае после изменения IP-адреса.

Если не получить вашу проблему устранена, попробуйте второй один:

изменения public_network в private_network

config.vm.network "private_network", ip: '10.80.2.144' 
#config.vm.network "private_network", ip: '192.168.1.144' 
+0

Пробовал бродяжничество после бродяг и получил следующее: Бродяга тайм-аут при попытке подключиться через SSH .. . Затем я попытался перейти на private_network, но получил следующее: указанная сеть хоста сталкивается с сетью, не содержащей хостов! Это приведет к тому, что ваш указанный IP будет недоступен .... – earth2jason

+0

если вы получите ошибку таймаута с командой предоставления, то это какая-то другая проблема. – BMW

+0

В другой коробке я уничтожил и побежал на нее, и это сработало, но это сработало, но это то же самое ... «Удаленное соединение отключилось. Повторная попытка». Затем он начал находить ключи небезопасными и заменил их на создание ящиков. Я смог сшить ssh, и это сработало. Я не хочу делать это в своей другой коробке, но выглядит как на данный момент остается только один вариант. – earth2jason

0

NOTE
This answer is not the problem solution. It might be helpful while debugging problems when you can't ssh in into your vagrant box

Я получил вопрос с помощью:

  • Vagrant 1.8.1
  • VirtualBox 5.0.12r104815
  • Vagrantfile вариант config.vm.network "private_network", ip: "10.50.50.3"

Следующие шаги помогли мне решить мою проблему:

  • включен графический интерфейс в Vagrantfile путем добавления vb.gui = true
  • начал виртуальную машину с vagrant up
  • используется терминал VirtualBox для входа (пользователь: бродяга, пароль: бродяга)
  • проверил интерфейс IP в devbox

    $ sudo ifconfig eth0 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}' 
    10.0.2.15 
    
  • проверяемого локальный интерфейс VirtualBox (с ifconfig):

    vboxnet8 Link encap:Ethernet HWaddr 0a:00:27:00:00:08 
          inet addr:10.50.50.1 Bcast:10.50.50.255 Mask:255.255.255.0 
          inet6 addr: fe80::800:27ff:fe00:8/64 Scope:Link 
          UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0 
          TX packets:258 errors:0 dropped:0 overruns:0 carrier:0 
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B) TX bytes:39147 (39.1 KB) 
    

Я видел, что ф ВМ не подходит к хозяевам vboxnet8 интерфейс ip диапазон.

Я попытался перезагрузить VM vagrant reload, но безуспешно. Единственное, что помогло мне, - это перезагрузить виртуальную машину с помощью vagrant destroy -f, vagrant up (см. Дополнительный комментарий ниже).


Как это могло случиться? После загрузки виртуальной машины в первый раз один из моих сценариев инициализации изменил /etc/ssh/sshd_config, который впоследствии был недействительным. Затем скрипт перезапустил ssh, что вызвало проблему подключения.

Бродяга запустил виртуальную машину, но я не смог с ней справиться.

Тогда я, должно быть, изменил private_network ip, что вызвало странную ситуацию.

В конце, сделав /etc/ssh/sshd_config действительным снова, исправил мою проблему.

1

Просто добавьте эти две строки в Vagrantfile и бродяга перезарядка

config.vm.network "forwarded_port", guest: 80, host: 8080, 
    auto_correct: true 

config.vm.network "private_network", ip: "192.168.100.1", 
    auto_config: false 

проблема Надежда будет решить.

Смежные вопросы