Conexão recusada de fora da caixa Vagrant com rede privada

6

Eu configurei o CentOS 6 em uma caixa vagrant com um IP de rede privada. Eu posso ssh na caixa usando o IP, então isso está funcionando. No entanto, recebo uma conexão recusada na porta 80 ao encurvá-la. Há um nginx muito básico que serve sua página de boas vindas padrão dentro. Curling de dentro da caixa funciona.

Vagrant.configure("2") do |config|
  config.vm.box = "Centos-6.3-minimal"
  config.vm.box_url = "https://dl.dropbox.com/u/7225008/Vagrant/CentOS-6.3-x86_64-minimal.box"

  config.vm.network :private_network, ip: "192.168.33.44"
  config.vm.hostname = "local.example.com"

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

Aqui estão algumas coisas que tentei:

  • Alterando para o encaminhamento de porta 80 - > 8080. Curling em localhost:8080 apenas fica lá.
  • Tentando outro endereço IP. Nenhuma diferença.
  • Abrindo um python -m SimpleHTTPServer no servidor que é conhecido por ouvir em 0.0.0.0 . Ainda recebendo conexão recusada.

Sabe-se que essas coisas funcionam:

  • Entrando no servidor usando o IP fornecido da rede privada.
  • Curling de dentro da caixa funciona.
  • A mesma configuração funciona em um servidor real.

Eu tenho Guest Additions instalado, mas suas versões são diferentes em guest e host. Esse pode ser o problema. Mas por que o SSH funciona e não a porta 80? Esta é a saída quando eu faço vagrant reload : link

Atualizar

Embora isso não funcione:

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

Isso faz:

ssh -f [email protected] -L 8080:127.0.0.1:80 -N

Alguma idéia?

    
por Magnar 07.01.2014 / 12:17

2 respostas

3

Embora haja muitas coisas que poderiam estar erradas, a primeira a verificar é o firewall dentro do convidado: pode ser tão simples quanto ter uma regra para a porta 22, mas não a porta 80.

    
por 07.01.2014 / 14:43
1

O mesmo problema resolvido por desativar o firewall no host convidado

sudo service iptables stop
sudo service ip6tables stop 

E você pode usar iptables --list para verificar

[vagrant@c6401 ~]$ sudo iptables --list
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination   
    
por 08.02.2017 / 15:39