VirtualBox NAT 네트워크가 단방향인 이유는 무엇입니까?

VirtualBox NAT 네트워크가 단방향인 이유는 무엇입니까?

VirtualBox의 가상 머신이 NAT 네트워크를 사용하면 호스트와 통신할 수 있지만 호스트는 가상 머신과 통신할 수 없습니다(예: ping). 어떻게 이럴 수있어? iptables 설정인가요?

가상머신을 보다가 ip a봤습니다 eth0 10.0.2.15/24. 내 호스트에는 이 네트워크에 인터페이스가 없습니다. 그렇다면 의사소통은 어떻게 가능한지 궁금합니다. 왜 한 방향만 있는 걸까요?

또 다른 질문은 관련이 있다고 생각합니다(그렇지 않은 경우 알려주시면 다른 기사를 작성하겠습니다). 호스트 머신에는 기본 docker0 브리지에 연결된 실행 중인 docker 컨테이너가 있습니다. IP는 172.17.0.2위에서 언급한 것과 동일한 가상 머신(Virtualbox, NAT)에서 ping하고 싶습니다. 가상 머신에도 docker가 설치되어 있으므로 호스트 머신의 docker0과 동일한 네트워크 CIDR을 가진 docker0 브리지도 있습니다. 그런 다음 다음 ping을 사용합니다 ping -I eth0 172.17.0.2. 이는 내가 아는 한 내 호스트에 연결되어 있는 VM의 eth0을 통해 트래픽을 강제해야 합니다(내 호스트를 자유롭게 핑할 수 있기 때문입니다). 모든 패킷이 손실됩니다. 왜 그런 겁니까?

답변1

이 가상 NAT 네트워크에 대해 포트 전달이 구성되지 않으면 VM에 액세스할 수 없습니다. 문제를 해결하는 쉬운 방법은 네트워크 어댑터를 브리지 어댑터로 변경하는 것입니다.

네트워크 어댑터의 모드를 변경하면 가상 머신은 네트워크의 다른 장치처럼 작동하고 액세스할 수 있습니다.

내가 허락할게여기이 주제에 대한 문서와 이를 이해하기 위한 작은 표:

NAT 지원 가상 머신은 라우터를 통해 인터넷에 연결된 실제 컴퓨터와 매우 유사하게 작동합니다. 이 경우 라우터는 가상 머신과의 트래픽을 투명하게 매핑하는 Oracle VM VirtualBox 네트워킹 엔진입니다. Oracle VM VirtualBox에서 라우터는 각 가상 머신과 호스트 머신 사이에 배치됩니다. 이러한 분리는 기본적으로 가상 머신이 서로 통신할 수 없기 때문에 보안을 극대화합니다.

NAT 모드의 단점은 라우터 뒤의 개인 네트워크처럼 가상 머신이 보이지 않고 외부 인터넷에서 액세스할 수 없다는 것입니다. 포트 포워딩이 설정되어 있지 않으면 이런 방식으로 서버를 실행할 수 있는 방법이 없습니다. "

여기에 이미지 설명을 입력하세요.

여기에 이미지 설명을 입력하세요.

관련 정보