Como depurar um túnel de servidor lemp inacessível (do lado wan) através de uma instância Openvpn-AS baseada em AWS

Como depurar um túnel de servidor lemp inacessível (do lado wan) através de uma instância Openvpn-AS baseada em AWS

Estou quebrando a cabeça há semanas tentando depurar um servidor web LEMP que antes funcionava perfeitamente. Estou usando uma configuração relativamente complicada. Vamos começar com minha configuração desde o início, quando as coisas estavam funcionando perfeitamente.

Etapa 1 (configuração de trabalho): servidor lemp/nginx > Raspberry Pi > Roteador secundário com portas encaminhadas > Roteador primário com portas encaminhadas > Internet pública servindo páginas da web

Estou executando um servidor Lemp no Raspian OS em um Raspberry Pi 4. O Nginx está executando um proxy reverso, através do meu roteador secundário que está conectado ao meu roteador/modem principal. O roteador/modem primário está encaminhando portas https e http para o roteador secundário, que então encaminha essas mesmas portas para o Raspberry Pi. O Raspberry Pi obtém com sucesso certificados do certbot e executa um site totalmente funcional, acessível pela Internet pública.

Etapa 2a (configuração de trabalho): servidor lemp/nginx > Raspberry Pi > Roteador secundário > Túnel EC2 Openvpn-AS > Roteador primário com portas encaminhadas > Páginas da web públicas de serviço de Internet da Amazon Em seguida, criei uma instância AWS EC2 OpenVPN-AS e Eu o executo como um servidor. A partir daí, eu instalo o openvpn no meu servidor raspberry pi lemp, altero o DNS do meu domínio para apontar para o endereço IP da minha instância OpanVPN-AS em vez do meu ip inicial e, em seguida, executo o openvpn como um cliente no meu servidor lemp, tunelando meu servidor com sucesso servidor web através da instância OpenVPN AWS, para a Internet pública. Esta configuração funciona.

Até....

Eu faço algo para interromper completamente todas as conexões com o servidor através da VPN. O problema é que não tenho absolutamente nenhuma ideia do que fiz para alterar essa configuração que antes funcionava. Eu sei que atualizei o pi e acho que posso ter alterado o nome do host interno, mas isso é tudo que me lembro antes de meu pi se tornar um servidor morto.

Na rede interna, o servidor web ainda funciona usando o ip local ao usar o túnel EC2.

A estranheza que notei é que, embora a configuração do túnel AWS tenha impedido o funcionamento do meu servidor da web, depois que eu conecto meu servidor de volta ao meu roteador doméstico sem o sintonizador e reencaixo meu DNS de volta ao meu roteador doméstico, o servidor começa a funcionar publicamente de novo. Eu simplesmente não consigo identificar o que exatamente mudou desde que meu servidor estava funcionando depois de ser encapsulado através do AWS OVPN, e agora, ele não resolve, ainda, de alguma forma, resolve no meu IP residencial com configurações mínimas alteradas. As únicas coisas que eu realmente mudo ao mudar do aws para o roteador doméstico é o IP para o qual o DNS dos domínios aponta e o clima ou não, o túnel VPN deve estar ativo ou inativo.

Quanto ao túnel amazon ovpn, ele também é resolvido corretamente e o servidor obtém corretamente o novo endereço IP amazon.

Eu sei como construir servidores, no entanto, sou literalmente um super-homem novato quando se trata de depurá-los e descobrir onde a conexão está ruim. Então minha pergunta é...

Alguém poderia tentar me orientar em algumas etapas para depurar isso e colocar meu websever de volta em funcionamento por meio de minha instância openvpn usando um endereço IP da Amazon? Não tenho a menor ideia de por onde começar, além de meus pings bem-sucedidos pelo túnel amazônico, bem como de um traceroute de aparência saudável.

Minhas portas EC2 estão abertas em 443 e 80, e até tentei com todos os firewalls desligados, sem sucesso.

Qualquer conselho, dicas, orientações ou trampolins para iniciantes para me ajudar a depurar isso e identificar onde a conexão está caindo seria apreciado!

Responder1

Os logs da VPN confirmam que o túnel está realmente funcionando?

Você diz que pode rastrear com êxito os endereços IP públicos. Você pode fazer uma conexão manual usando telnet? por exemplo: se o IP do seu host for 123.456.789.123: telnet 123.456.789.123 80

Você deve receber uma resposta como:

Tentando 123.456.789.123... Conectado awww.exemplo.com. O caractere de escape é '^]'.

Se funcionar, você pode testar o servidor com: GET /index.htm HTTP/1.1 host: 123.456.789.123 <line feed - pressione enter duas vezes>

O servidor deve responder com a página de índice html: HTTP/1.1 200 OK Data: ...etc

informação relacionada