AWS 기반 Openvpn-AS 인스턴스를 통해 연결할 수 없는(WAN 측에서) Lemp 서버 터널링을 디버깅하는 방법

AWS 기반 Openvpn-AS 인스턴스를 통해 연결할 수 없는(WAN 측에서) Lemp 서버 터널링을 디버깅하는 방법

나는 한때 완벽하게 작동했던 LEMP 웹 서버를 디버깅하려고 몇 주 동안 머리를 쥐어뜯었습니다. 비교적 복잡한 설정을 사용하고 있습니다. 모든 것이 완벽하게 작동했던 처음부터 설정부터 시작하겠습니다.

1단계(작업 설정): lemp server/nginx > Raspberry Pi > 전달된 포트가 있는 보조 라우터 > 전달된 포트가 있는 기본 라우터 > 공용 인터넷 서비스 웹 페이지

저는 Raspberry Pi 4의 Raspian OS에서 Lemp 서버를 실행하고 있습니다. Nginx는 기본 라우터/모뎀에 연결된 보조 라우터를 통해 역방향 프록시를 실행하고 있습니다. 기본 라우터/모뎀은 https 및 http 포트를 보조 라우터로 전달한 다음 동일한 포트를 라즈베리 파이로 전달합니다. 라즈베리 파이는 certbot으로부터 인증서를 성공적으로 획득하고 공용 인터넷에서 액세스할 수 있는 완벽하게 작동하는 웹 사이트를 실행합니다.

2a단계(작업 설정): lemp server/nginx > Raspberry Pi > 보조 라우터 > EC2 Openvpn-AS 터널 > 전달된 포트가 있는 기본 라우터 > 공개 Amazon 인터넷 서비스 웹 페이지 다음으로 AWS EC2 OpenVPN-AS 인스턴스를 생성했고, 서버로 운영하고 있어요. 거기에서 내 라즈베리 파이 Lemp 서버에 openvpn을 설치하고 내 도메인 DNS를 내 집 IP 대신 내 OpanVPN-AS 인스턴스의 IP 주소를 가리키도록 변경한 다음 내 Lemp 서버에서 클라이언트로 openvpn을 실행하여 성공적으로 터널링합니다. OpenVPN AWS ​​인스턴스를 통해 웹 서버를 공용 인터넷으로 보냅니다. 이 설정은 작동합니다.

까지....

VPN을 통해 서버에 대한 모든 연결을 완전히 중단하는 작업을 수행합니다. 문제는 일단 작업 설정을 변경하기 위해 내가 무엇을 했는지 전혀 모른다는 것입니다. 나는 내가 pi를 업데이트했다는 것을 알고 있으며 내부 호스트 이름을 변경했을 수도 있다고 생각합니다. 그러나 그것은 내 pi가 죽은 서버가 되기 전에 내가 기억할 수 있는 최대치입니다.

내부 네트워크에서 웹 서버는 EC2 터널을 사용할 때 여전히 로컬 IP를 사용하여 작동합니다.

제가 발견한 이상한 점은 AWS 터널 설정으로 인해 웹 서버가 작동하지 않지만, 튜너 없이 서버를 홈 라우터에 다시 연결하고 DNS를 홈 라우터로 다시 지정하면 서버가 공개적으로 작동하기 시작한다는 것입니다. 다시. AWS OVPN을 통해 터널링된 후 내 서버가 작동한 이후 정확히 무엇이 변경되었는지 정확히 알 수 없지만 지금은 해결되지 않지만 최소한의 설정을 변경하여 내 홈 IP에서 어떻게든 해결됩니다. AWS에서 홈 라우터로 전환할 때 실제로 변경하는 유일한 사항은 도메인 DNS가 가리키는 IP와 VPN 터널의 날씨 여부가 위 또는 아래여야 한다는 것입니다.

Amazon ovpn 터널의 경우에도 제대로 확인되고 서버는 새 Amazon IP 주소를 올바르게 얻습니다.

나는 서버를 구축하는 방법을 알고 있지만 서버를 디버깅하고 연결 상태가 좋지 않은 곳을 알아내는 데 있어서는 말 그대로 초능력자입니다. 그래서 내 질문은 ...

누군가 이 문제를 디버깅하기 위한 몇 가지 단계를 안내해 주고 Amazon IP 주소를 사용하여 내 openvpn 인스턴스를 통해 웹 서버를 백업하고 실행할 수 있습니까? 아마존 터널을 통한 성공적인 핑과 건강해 보이는 추적 경로를 제외하고는 어디서부터 시작해야 할지 전혀 알 수 없습니다.

내 EC2 포트는 443과 80에서 열려 있으며 모든 방화벽을 끄려고 시도했지만 소용이 없었습니다.

연결이 끊어지는 정확한 지점을 디버그하는 데 도움이 되는 조언, 팁, 연습 또는 초보자에게 친숙한 디딤돌이 있으면 감사하겠습니다!

답변1

VPN 로그는 터널이 실제로 작동하고 실행 중인지 확인합니까?

공용 IP 주소로 경로를 성공적으로 추적할 수 있다고 하셨습니다. 텔넷을 사용하여 수동으로 연결할 수 있습니까? 예: 호스트 IP가 123.456.789.123인 경우: telnet 123.456.789.123 80

다음과 같은 응답을 받아야 합니다.

123.456.789.123 시도 중... 연결됨www.example.com. 이스케이프 문자는 '^]'입니다.

이것이 작동한다면 다음을 사용하여 서버를 테스트할 수 있습니다: GET /index.htm HTTP/1.1 호스트: 123.456.789.123 <라인 피드 - Enter를 두 번 누르세요>

서버는 인덱스 페이지 html: HTTP/1.1 200 OK Date: ...etc로 응답해야 합니다.

관련 정보