Port Collisions ao encaminhar entre convidado e host

3

Eu tenho trabalhado na configuração com Vagrant usando uma caixa base do VirtualBox, e gostaria de encaminhar as portas entre o meu convidado (Ubuntu 12.04) e meu host (Windows 7) para acessar o servidor apache2 que será executado no convidado.

O problema que estou encontrando é que quando tento encaminhar entre a porta 80 no guest e a porta 80 no host (ou mesmo 8080 ) o Vagrant vai reclamar e me alertar para o fato de que a porta de encaminhamento "... já está em uso na máquina host ."

Não é.

A execução de um netstat -a mostra que nada está conectado ou que está usando a porta 80 (ou mesmo 8080 ). Depois de algumas experiências, descobri que aparentemente a versão gratuita do Avast! que estou usando está bloqueando as portas encaminhadas. Nem todo o Avast! é a culpa, apenas o seu Web Shield.

Com o Avast! O Web Shield desativado, o uso do arquivo de configuração abaixo funciona perfeitamente ao inicializar a VM, com ela em ... bem, aí está o problema.

Eu quero tentar encontrar uma solução que me permita usar o Vagrant sem ter que comprometer as configurações de um antivírus, se possível, ou pelo menos ter uma solução que não tenha uma tonelada de advertências. A intenção é usar o Vagrant como um meio de simplificar a configuração do desenvolvimento e não complicá-lo.

Para referência, aqui está meu Vagrantfile :

VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|

  config.vm.box = "precise32"
  config.vm.box_url = "http://files.vagrantup.com/precise32.box"

  config.vm.network :forwarded_port, guest: 80, host: 80

  config.vm.provider :virtualbox do |vb|
    vb.customize ["modifyvm", :id, "--memory", "1024"]
  end

end

Já experimentei redes privadas, redes públicas, etc., mas posso estar configurando-as incorretamente.

Nota do autor: Esta pergunta pode ter sido feita e respondida por outra pessoa e, se tiver, peço desculpa. Tudo o que eu encontrei até agora não parece se encaixar como uma solução, acho que parte do problema é que eu não tenho certeza se sei a pergunta correta a ser feita para encontrar a solução correta. Se houver uma solução existente para isso, por favor, vincule-a!

    
por Sean Quinn 20.12.2013 / 15:26

1 resposta

0

Depois de atualizar o avast! Free Antivirus para a versão do programa: 2014.9.0.2011 de 2014.9.0.2008 o problema parece ter se resolvido. Parece que houve um conflito na versão anterior de 2014 do antivírus do Avast. Do seu histórico de atualizações :

  • Fully rewritten WebShield so that it now doesn't work as a "transparent proxy" anymore, which should result in an overall improvement in stability and performance. It also allows to see and detect more threats
  • The Firewall component (in IS and Premier) has been made more compatible with other applications, such as Java and various VPN services

Como alternativa, embora não resolva diretamente o problema do redirecionamento de portas, as redes públicas e privadas funcionam, mas vêm com suas próprias advertências:

  • As redes públicas adquirem seu próprio IP na rede e, para acessá-las, parece necessário executar um ifconfig no convidado para determinar o IP atribuído. Isso coloca uma carga maior sobre o indivíduo usando a VM, já que ela precisa dar um passo a mais toda vez que gira a VM para determinar o IP do servidor.
  • Redes privadas permitem a atribuição de um endereço IP estático para consumo privado entre o host e o convidado. Talvez a melhor solução possível, exceto o encaminhamento de portas, com a exceção de que você precisa escolher o IP a ser usado.
por 21.12.2013 / 00:31