2015-01-08 4 views
6

Nach Vagabund auf, die Gast-Box der falsche IP-Adresse und verursacht den folgenden Fehler wird immer zugewiesen bekommen zugewiesen Konfigurieren Sie die IP-Adresszuweisung in Vagrantfile immer neu, abhängig davon, wo ich mich gerade befinde, da die Subnetze unterschiedlich sind. (192.168.x.x versus 10.80.x.x)VirtualBox Gast nicht die IP-Adresse von Vagrantfile

Das hat bis gestern gut funktioniert. Ich habe keine Ahnung, was die Probleme verursacht, da ich keine Anpassungen vorgenommen habe.

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 

... 

Die Vagrantfile sollte meine guestbox auf der 10.80.x.x Adresse setzen, aber netstat zeigt, dass meine Box noch auf der 192.168.x.x Adresse steigen wird. Das bedeutet, dass ich nicht mit der Gästebox arbeiten kann, da sie in ein Subnetz außerhalb der Grenzen geht.

Ich habe halt und wieder getan sowie meine CPU komplett neu starten und überprüfen, um sicherzustellen, dass die Virtualisierung im BIOS aktiviert ist.

Ich habe here geschaut und versuchte this Methode vergebens.

Ich habe auch versucht vb.gui = wahr, aber meine Maschine läuft kopflos. Der Preview-Logging-Bildschirm von Virtualbox liefert möglicherweise nützliche Informationen, ist aber so klein, dass ich nichts daraus machen kann. Wenn jemand einen Rat hat, wie man das größer macht, könnte das wahrscheinlich viel helfen.

UPDATE:

Also meine Lösung ist eine unerwünschte Lösung, aber mein Arbeitstag torpediert wurde und sich bewegen müssen, damit ich meine Box nur zerstört und wieder up'ed.

Anscheinend wurden meine Schlüssel unsicher. Ich bin mir nicht sicher, wie das passiert ist, aber die neue Box hat meine Schlüssel ersetzt.

+1

Ich denke, wenn Sie downvote, sollten Sie zumindest eine Antwort hinterlassen, warum, wenn es nicht klar ist. – earth2jason

+0

Die Situation könnte daran liegen, dass VirtualBox die Ports nicht umleiten konnte, obwohl sie sagt: '** ==> default: Forwarding ports ... default: 22 => 2222 (adapter 1) ** ' Sie können die vollständige Beschreibung in meiner Frage hier [link] (http://stackoverflow.com/questions/36529651/virtualbox-nat-failed-to -redirect-tcp-127-0-0-12222-10-0-2-1522). Ich habe immer noch keine Ahnung, wie Umleitung zu beheben scheitern ( Bitte lassen Sie eine Notiz in meinem Beitrag, wenn und wie Sie erfolgreich! – WebComer

Antwort

6

mein Vorschlag für Ihr Problem.

Führen Sie vagrant reload und vagrant provision für diese Instanz, nachdem Sie IP geändert haben.

Wenn Ihr Problem nicht repariert, versuchen, die zweite:

public_network Änderung

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

Versuchte vagrant Bereitstellung nach Vagrant und bekam Folgendes: Vagrant Zeitüberschreitung beim Versuch, über SSH zu verbinden .. Ich habe dann versucht, zu private_network zu ändern, erhielt aber Folgendes: Das angegebene Host-Netzwerk kollidiert mit einem Nicht-Host-Netzwerk! Dadurch wird die angegebene IP-Adresse nicht erreichbar sein. – earth2jason

+0

Wenn Sie einen Timeout-Fehler mit dem Provisionierungsbefehl erhalten, dann ist es ein anderes Problem. – BMW

+0

Auf einer anderen Box habe ich zerstört und rannte vagrant auf und es funktioniert, aber es hat das gleiche getan .. "Remote-Verbindung trennen. Erneut versuchen." Es ging dann weiter, um die Schlüssel zu finden, unsicher zu sein Ersetzte sie bei der Erstellung der Box. Ich konnte ssh rein und es hat funktioniert. Ich möchte das nicht mit meiner anderen Box machen, aber es sieht so aus Die einzige Option, die an diesem Punkt übrig ist. – 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

Ich habe das Problem mit private_network:

  • Vagrant 1.8.1
  • VirtualBox 5.0.12r104815
  • Vagrantfile Option config.vm.network "private_network", ip: "10.50.50.3"

Die folgenden Schritte hat mir geholfen, mein Problem zu beheben:

  • aktiviert die GUI in der Vagrantfile durch Zugabe vb.gui = true
  • die VM mit vagrant up
  • verwendet gestartet das VirtualBox-Terminal zur Anmeldung (Benutzer: vagrant, Passwort: vagrant)
  • überprüft die Schnittstelle IP im devbox

    $ sudo ifconfig eth0 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}' 
    10.0.2.15 
    
  • die lokale VirtualBox-Schnittstelle (mit ifconfig) geprüft:

    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) 
    

ich, dass die IP-VM sah nicht auf die Hosts passt vboxnet8 Schnittstelle IP-Bereich.

Ich habe versucht, die VM mit vagrant reload aber ohne Erfolg neu zu laden. Das einzige, was mir geholfen hat, war das Zurücksetzen der VM mit vagrant destroy -f, vagrant up (siehe zusätzlichen Kommentar unten).


Wie das passieren konnte? Nach dem ersten Booten der VM hat eines meiner Bereitstellungsskripte die /etc/ssh/sshd_config geändert, die danach ungültig war. Dann hat das Skript ssh neu gestartet, was das Verbindungsproblem verursacht hat.

Vagrant startete die VM, aber ich konnte nicht hineingehen.

Dann muss ich die private_network IP geändert haben, die die seltsame Situation verursacht hat.

Am Ende der /etc/ssh/sshd_config wieder gültig mein Problem behoben.

1

Fügen Sie einfach diese zwei Zeilen in der Vagrantfile und Vagabund reload

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 

Hoffnung Problem lösen wird.