(Desculpe, completamente ingênuo sobre vagrant / virtualbox, então perdoe a falta de terminologia de rede adequada)
Sua escolha de bridge: en4) Thunderbolt é provavelmente o problema.
Aqui está o que eu suponho que você quer / precisa, em vez do que você pediu:
-
Capacidade de login SSH para o vagrant controlar sua vm, a partir de sua caixa dev (o host). É isso que o NAT com o encaminhamento de porta faz. Isso não estraga mais nada, então pedir que ele se foi não é tão útil assim. E isso aparece no adaptador 1 no VirtualBox.
-
Conectividade da sua LAN, em vez de apenas seu host. Vamos dizer algo no intervalo 192.168.1.xxx. Isso é o que é importante no Adaptador 2.
-
Você apenas se preocupa com sua placa de rede / placa de rede normal e não tem nenhum motivo específico para executar a Ethernet em sua porta Thunderbolt.
i.e. basicamente o que você obteria de um VirtualBox vm com Bridged e nenhum Vagrant para ser visto.
Aqui está um ifconfig SSH de uma dessas máquinas do VirtualBox que eu tenho na minha LAN. Ele executa um servidor da Web ao qual eu posso me conectar e meu Mac pode conectá-lo a um banco de dados. Eu vou chamar de referência .
[root@fdm ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 08:00:27:9A:85:1A
inet addr:192.168.1.143 Bcast:192.168.1.255 Mask:255.255.255.0
No VirtualBox, o painel Network, para essa referência vm, mostra Adapter1 como Bridged. Todos os outros adaptadores estão desativados.
OK, agora vou tentar o mesmo resultado de conectividade de LAN do Vagrant, mas aceito que eu tenha um NAT no adaptador 1, que é o mecanismo de comunicação ssh do vagrant.
Tente # 1 - que falha.
O ponto de partida é um init vagrant .
Então no Vagrantfile, eu mudei apenas 2 coisas:
config.vm.box = "opscode-ubuntu-14.04"
config.vm.network "public_network"
se eu vagrant up , eu recebo uma caixa de diálogo perguntando qual interface usar:
==> default: Available bridged network interfaces:
1) en1: Wi-Fi (AirPort)
2) en0: Ethernet
3) en3: Thunderbolt 1
4) p2p0
5) bbptp0
6) bridge0
Agora, olhando para ele, eu escolhi pela primeira vez 2) porque eu pensei que queria Ethernet e bem, 1) parecia 'muito Apple'.
Isso funciona, mas com uma entrada IP 10.0.xx.xx inadequada, na qual o ISP bloqueia, veja abaixo. Eu acho que eles realmente querem dizer público quando diz rede pública.
vagrant ssh
vagrant@vagrant:~$ ifconfig
eth0 Link encap:Ethernet HWaddr 08:00:27:0c:41:3e
inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe0c:413e/64 Scope:Link
eth1 Link encap:Ethernet HWaddr 08:00:27:ca:f4:64
inet6 addr: fe80::a00:27ff:feca:f464/64 Scope:Link
Tente # 2 - versão correta
vagrant halt , exclua o diretório, crie-o novamente e vagrant init . (Descobri que mexer demais com a rede poderia confundir o vagabundo e / ou o virtualbox que uma remoção e reinicialização completas consertariam)
config.vm.box = "opscode-ubuntu-14.04"
config.vm.network "public_network"
Mas, desta vez, escolha 1) en1: Wi-Fi (AirPort).
vagrant ssh
Essa eth1 com 192.168.1.123 parece muito mais legal, não é?
vagrant@vagrant:~$ ifconfig
eth0 Link encap:Ethernet HWaddr 08:00:27:0c:41:3e
inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0
eth1 Link encap:Ethernet HWaddr 08:00:27:53:6e:1d
inet addr:192.168.1.123 Bcast:192.168.1.255 Mask:255.255.255.0
E, de fato, posso fazer o ping 192.168.1.123 da minha referência vm ou de outra máquina física na minha LAN.
[root@fdm ~]# ping 192.168.1.123
PING 192.168.1.123 (192.168.1.123) 56(84) bytes of data.
64 bytes from 192.168.1.123: icmp_seq=1 ttl=64 time=1039 ms
64 bytes from 192.168.1.123: icmp_seq=2 ttl=64 time=40.4 ms
FWIW, o VirtualBox mostra um NAT no Adaptador 1 e um Bridged no Adaptador 2.
Configuração final -
Adicionado seleção automática da interface, bem como um IP estático (que você não precisa). Problema resolvido, pelo menos para mim.
config.vm.network "public_network", bridge: 'en1: Wi-Fi (AirPort)', ip: "192.168.1.201"