
Eu tenho um problema. Aqui está o diagrama da minha rede.
- Tenho um roteador WIFI conectado à internet, solicitei um IP estático do meu ISP para poder acessar meu PC local pela internet.
- Meu roteador cria rede 192.168.0.0/24
- Tenho algumas portas encaminhadas para o servidor do meu PC local (192.168.0.101)
- Tenho a caixa virtual instalada no meu PC local
- Existem dois nós criados e mantidos através do vagrant, mas estamos interessados no primeiro nó.
- Cada VM tem duas NICs, primeiro é NAT para comunicação Vagrant e depois é um adaptador em ponte por meio da interface de PC local enp3s0.
- Todos os nós possuem endereços MAC específicos que são vinculados às configurações de DHCP do roteador para fornecer IP estático (192.168.0.110 e 192.168.0.111)
- Tudo funciona dentro da rede local, os nós recebem endereços IP corretos e posso acessar qualquer porta do nó através da rede local
- Meu nó com ip 192.168.0.110 roda servidor Apache e dentro da rede local funciona bem.
- Quero acessar meu servidor apache deste nó de fora, então encaminhei a porta externa 8888 para a porta local 80 para a máquina com IP 192.168.0.110, como você pode ver na imagem acima.
Mas o problema é que não consigo acessar o node Apache de fora. A conexão expirou ou foi redefinida. Tentei capturar tráfego usando o Wireshark e vejo os seguintes erros.
É possível fazer isso funcionar? Ou apenas uma solução é encaminhar portas para 192.168.0.101 PC do que encaminhar pacotes para o Nó usando NAT com encaminhamento de porta?
Por favor, ajude a resolver este problema. Obrigado.
Responder1
Sei que esta não é a resposta que você está procurando, mas quebrei a cabeça por mais de um dia e cheguei a essa conclusão.Deveria funcionar e não funciona. Sou um profissional de Linux e versado em redes dele. Outros fóruns dizem que você está fazendo certo, eu concordo, e deveria funcionar. Eu mesmo tentei exatamente a mesma configuração em duas redes completamente diferentes e simplesmente não funcionou.
Você precisa fazer isso com um adaptador NAT ao lado do adaptador em ponte. Configure um encaminhamento de porta no NAT e defina o IP do host como 0.0.0.0.
No seu roteador, encaminhe uma porta para o endereço IP do HOST, NÃO para o IP em ponte da VM do cliente. Portanto, de acordo com seu exemplo, encaminhe a porta 8888 para o endereço IP HOST na MESMA PORTA 8888.
Então, no Vagrant, o encaminhamento da porta NAT ficaria assim:
config.vm.network "forwarded_port", guest: 80, host_ip: "0.0.0.0", host: 8888