Ho impostato la mia VM Vagrant (1.2.2) che esegue VistualBox su : private_network e ho avviato un server Sinatra su di esso. Tuttavia non sono in grado di connettermi a quell'istanza di Sinatra. Tuttavia, la VM viene eseguita e risponde ai ping.Vagrant rifiuta di connettersi in modalità private_network
Ecco il mio Vagrantfile
Vagrant.configure("2") do |config|
config.vm.box = "precise64"
config.vm.network :private_network, ip: "192.168.33.10"
end
Così ho avviare il Vagrant VM e ssh in esso
prodserv$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
[default] Setting the name of the VM...
[default] Clearing any previously set forwarded ports...
[default] Creating shared folders metadata...
[default] Clearing any previously set network interfaces...
[default] Preparing network interfaces based on configuration...
[default] Forwarding ports...
[default] -- 22 => 2222 (adapter 1)
[default] Booting VM...
[default] Waiting for VM to boot. This can take a few minutes.
[default] VM booted and ready for use!
[default] Configuring and enabling network interfaces...
[default] Mounting shared folders...
[default] -- /vagrant
prodserv$ vagrant ssh
Welcome to Ubuntu 12.04.2 LTS (GNU/Linux 3.2.0-23-generic x86_64)
* Documentation: https://help.ubuntu.com/
Welcome to your Vagrant-built virtual machine.
Last login: Thu May 23 14:01:05 2013 from 10.0.2.2
Quindi, fino a qui tutto va bene e dandy. Un ping al VM funzionerà bene (ho anche controllato che questo è davvero l'ip macchine virtuali. Quindi, il ping senza vagabondo fino porterà alla perdita di pacchetto)
prodserv$ ping 192.168.33.10
PING 192.168.33.10 (192.168.33.10): 56 data bytes
64 bytes from 192.168.33.10: icmp_seq=0 ttl=64 time=0.543 ms
64 bytes from 192.168.33.10: icmp_seq=1 ttl=64 time=0.328 ms
grande! Ora comincio il server sulla macchina virtuale
[email protected]:~$ sudo ruby /vagrant/server.rb
== Sinatra/1.4.2 has taken the stage on 4567 for development with backup from Thin
>> Thin web server (v1.5.1 codename Straight Razor)
>> Maximum connections set to 1024
>> Listening on localhost:4567, CTRL+C to stop
questo è il corrispondente server.rb
require 'rubygems'
require 'sinatra'
get '/' do
puts "WOW!"
'Hello, world!'
end
se rannicchio ora dal VM guest Sinatra tutto funziona bene e " Ciao mondo!" sarà restituito.
[email protected]:~$ curl 'http://localhost:4567'
Hello, [email protected]:~$
#and the Sintra/Ruby process gets me this
WOW!
127.0.0.1 - - [23/May/2013 16:06:36] "GET/HTTP/1.1" 200 13 0.0026
Tuttavia, se provo a per ricciolo dalla macchina ospite il collegamento ottiene rifiutato.
prodserv$ curl -v 'http://192.168.33.10:4567'
* About to connect() to 192.168.33.10 port 4567 (#0)
* Trying 192.168.33.10...
* Connection refused
* couldn't connect to host
* Closing connection #0
curl: (7) couldn't connect to host
Quindi, come va?
hai ragione, non è una domanda di programmazione. – robkuz
È necessario attivare il port forwarding per 4567 nel Vagrantfile. Di default, l'unica porta che avanza in avanti verso il vm in esecuzione è 22 per ssh. –