Portanto, estou tendo problemas com a configuração do Vagrant de 'hashicorp / precision64' no meu livro do MAC.
Primeiro, minha configuração:
VAGRANTFILE_API_VERSION = "2" Vagrant.configure (VAGRANTFILE_API_VERSION) do | config | config.vm.box = "hashicorp / precision64" config.vm.network "public_network", digite: "dhcp",: bridge => 'en4: Thunderbolt Ethernet' config.vm.hostname = "mddirector" fim
Esta é a saída do 'vagabundo para cima'
==> padrão: Tentativa de desligamento normal da VM ...
==> padrão: Verificando se a caixa 'hashicorp / precision64' está atualizada ...
==> padrão: Limpando todas as portas encaminhadas definidas anteriormente ...
==> padrão: Limpando as interfaces de rede definidas anteriormente ...
==> padrão: Preparando interfaces de rede com base na configuração ...
padrão: adaptador 1: nat
padrão: Adaptador 2: em ponte
==> padrão: portas de encaminhamento ...
padrão: 22 => 2222 (adaptador 1)
==> padrão: Inicializando a VM ...
==> padrão: Aguardando a inicialização da máquina. Isso pode levar alguns minutos...
padrão: endereço SSH: 127.0.0.1:2222
padrão: nome de usuário SSH: vagrant
padrão: método de autenticação SSH: chave privada
padrão: Aviso: Tempo limite da conexão. Tentando novamente ...
==> padrão: Máquina inicializada e pronta!
GuestAdditions 4.3.10 em execução --- OK.
==> padrão: Verificando adições de convidados na VM ...
==> padrão: Definindo o nome do host ...
==> padrão: configurando e ativando interfaces de rede ...
==> padrão: Montando pastas compartilhadas ...
padrão: / vagrant => / Usuários / garthm / Projetos / vagrant
==> padrão: a máquina já provisionada. Execute `vagrant provision` ou use o` --provision`
==> padrão: para forçar o provisionamento. Os provisionadores marcados para executar sempre ainda serão executados.
'ifconfig' mostra o seguinte:
vagrant @ mddirector: ~ $ ifconfig
eth0 Encap do link: Ethernet HWaddr 08: 00: 27: 88: 0c: a6
inet addr: 10.0.2.15 Bcast: 10.0.2.255 Máscara: 255.255.255.0
Endereço do inet6: fe80 :: a00: 27ff: fe88: ca6 / 64 Escopo: Link
UP BROADCAST EM FUNCIONAMENTO MULTICAST MTU: 1500 Métrico: 1
Pacotes RX: 725 erros: 0 eliminados: 0 excedentes: 0 quadro: 0
Pacotes TX: 544 erros: 0 eliminados: 0 excedentes: 0 transportadora: 0
colisões: 0 txqueuelen: 1000
Bytes RX: 90824 (90,8 KB) Bytes TX: 63375 (63,3 KB)
Encaminhamento de link eth1: Ethernet HWaddr 08: 00: 27: 2f: bb: 6a
inet addr: 10.0.24.118 Bcast: 10.0.31.255 Máscara: 255.255.248.0
UP BROADCAST EM FUNCIONAMENTO MULTICAST MTU: 1500 Métrico: 1
Pacotes RX: 3490 erros: 0 eliminados: 0 excedentes: 0 quadro: 0
Pacotes TX: 7 erros: 0 eliminados: 0 excedentes: 0 transportadora: 0
colisões: 0 txqueuelen: 1000
Bytes RX: 345981 (345,9 KB) Bytes TX: 1102 (1,1 KB)
lo Encap do link: Loopback local
inet addr: 127.0.0.1 Máscara: 255.0.0.0
inet6 addr: :: 1/128 Escopo: Host
UP LOOPBACK EM FUNCIONAMENTO MTU: 16436 Métrico: 1
Pacotes RX: 0 erros: 0 eliminados: 0 excedentes: 0 quadro: 0
Pacotes TX: 0 erros: 0 eliminados: 0 excedentes: 0 transportadora: 0
colisões: 0 txqueuelen: 0
Bytes RX: 0 (0,0 B) Bytes TX: 0 (0,0 B)
Meu problema é que, posso executar ping na VM da minha máquina host ( IP: 10.0.24.112), outras pessoas também podem fazer ping na minha VM ( 10.0.24.XXX), minha VM pode executar ping no meu devbox ( IP: 10.10.116.254), posso executar o ping nas configurações de máquinas virtuais de outros desenvolvedores no meu devbox ( não Vagrant IP: 10.10.116.254), mas não consigo executar ping na minha VM do meu devbox e outros desenvolvedores não podem executar ping na minha VM do devbox.
As configurações da máquina virtual que eles possuem são apenas com uma NIC em ponte, mas por algum motivo o vagabundo tem uma NAT e uma ponte, embora eu tenha especificado a ponte na configuração. Como você pode ver, existem dois endereços IP para a VM Vagrant, o que não parece certo. Você também pode, quando inicializar, executar uma porta para frente no adaptador 1, que é o adaptador NAT, o que significa que parece que ele está usando o adaptador NAT por padrão para tudo.
Como faço para me livrar do adaptador NAT e usar apenas ponte?
Se eu editar as configurações do VirtualBox e desativar o adaptador NAT, houver apenas o adaptador em ponte e inicializar a caixa via VirtualBox (ou seja: não usar o vagrant up), ele só terá eth0 com um endereço IP que pode ser pingado no meu devbox , que é o que estou procurando. Se eu tentar vagar pela caixa depois de editar as configurações do VirtualBox e desativar o adaptador NAT, recebo o seguinte erro:
Ocorreu um erro ao executar o `VBoxManage`, uma CLI usada pelo Vagrant para controlar o VirtualBox. O comando e stderr são mostrados abaixo. Comando: ["modifyvm", "7f1c12f7-74cd-4c6b-aa5a-16d6209cf2b3", "--natpf1", "ssh, tcp, 127.0.0.1,2222, 22"] Stderr: VBoxManage: erro: Já existe uma regra NAT com esse nome VBoxManage: error: Detalhes: código NS_ERROR_INVALID_ARG (0x80070057), componente NATEngine, interface INATEngine, chamada nsISupports VBoxManage: error: Contexto: "AddRedirect (Bstr (strName) .raw (), proto, Bstr (strHostIp) .raw (), RTStrToUInt16 (strHostPort), Bstr (strGuestIp) .raw (), RTStrToUInt16 (strGuestPort)" em linha 1655 do arquivo VBoxManageModifyVM.cpp
Se eu imediatamente voltar a vagar, ele reativou o adaptador NAT novamente e voltamos a ter o mesmo problema novamente.