외부 클라이언트에서 Virtualbox 게스트로 http 요청을 라우팅할 수 없습니다.

외부 클라이언트에서 Virtualbox 게스트로 http 요청을 라우팅할 수 없습니다.

Ubuntu 14.04와 node.js 웹 서버를 실행하는 Virtualbox 게스트가 있습니다. Virtualbox 호스트는 Windows 8.1 클라이언트입니다. 노드 서버를 설정한 후 외부에서 접속을 제공하는 데 어려움을 겪고 있습니다.

노드 서버는 포트 5005에서 실행되므로 일반적으로 방화벽에서 포트 전달 규칙을 만들어 5005에 대한 모든 요청을 동일한 포트의 게스트 IP(192.168.2.13)로 라우팅하기만 하면 됩니다. 이렇게 하면 외부 위치에서 보낸 요청이 방화벽에 도달하여 허용되는 것을 볼 수 있지만 외부 클라이언트는 응답을 받지 못합니다. 네트워크 내에서 개인 IP에 액세스하면 예상대로 올바르게 응답합니다(따라서 서버는 확실히 작동합니다).

동일한 프로세스를 시도하지만 게스트 VM이 아닌 호스트 컴퓨터에서 서버를 실행하면 작동합니다! 이는 방화벽 구성에 문제가 없음을 의미합니다. 방화벽에서 게스트 IP를 핑할 수 있으므로 연결 상태는 양호한 것 같습니다.

그렇다면 VM의 네트워킹 설정에 문제가 발생하는 것 같습니다. 그런데 무엇입니까? VB 게스트는 VirtualBox의 브리지 네트워킹 모델을 사용하여 고정 IP로 구성됩니다.

IpTables나 UFW 모두 게스트의 어떤 것도 차단하도록 구성되어 있지 않습니다.

내가 무엇을 놓쳤나요?

답변1

게스트가 기본 게이트웨이를 올바르게 설정하지 않은 것으로 나타났습니다. 나는 이것을 실행하여 말할 수 있었다

route -N

게스트에 기본 경로가 설정되어 있지 않은 것으로 나타났습니다. 이 문제를 해결하기 위해 나는 달렸습니다.

route del default
route add default gw 192.168.2.100 eth1

이제 게스트는 인터넷에서 NAT 트래픽과 제대로 통신할 수 있습니다.

관련 정보