VirtualBox 가상 머신이 NAT를 통해 인터넷에 연결할 수 없습니다

VirtualBox 가상 머신이 NAT를 통해 인터넷에 연결할 수 없습니다

내 손님이 NAT 네트워크에 연결되어 있을 때 인터넷에 연결할 수 없는 이유를 알아내려고 합니다. 아래에 일부 설정의 스크린샷을 포함했습니다. 이 문제는 루분투에서만 발생합니다. 나와 내 친구는 2개의 서로 다른 Linux 시스템에서 수정 없이 모든 기본 설정을 사용할 수 있습니다.

게스트에서 수행된 작업은 ifconfig아래 첫 번째 이미지에 표시된 범위에 IP가 할당되었음을 보여줍니다(기본값일 뿐입니다). 아래 표시된 것 외에는 기본 설정을 변경하지 않았습니다.

그런데, lubuntu를 호스트 OS로 사용하여 VirtualBox에 설치하는 모든 가상 머신에서 동일한 문제가 발생합니다. 브리지 및 호스트 전용 연결이 제대로 작동합니다.

VirtualBox 환경 설정:

VirtualBox 환경 설정

게스트 네트워크 설정:

게스트 네트워크 설정

편집하다:

시스템 및 네트워크 설정에 대한 일부 정보:

cat /etc/network/interfaces

auto lo
iface lo inet loopback

게스트 OS: lubuntu 17.04

호스트 운영 체제: lubuntu 17.04

VirtualBox 버전: 5.1.22_Ubuntur115126(VBoxManage --version의 출력)

(전체 화면을 캡처해서 죄송합니다. 내 화면 캡처 도구가 가상 머신에서 클로즈업을 얻을 수 없습니다.) ifconfig -a: 여기에 이미지 설명을 입력하세요.

경로-n: 여기에 이미지 설명을 입력하세요.

arp -n: 여기에 이미지 설명을 입력하세요.

답변1

고쳐 쓰다: 간단히 말해서, 당신은NAT 네트워크/NAT 서비스 인터페이스. 유사한 이름의 인터페이스 유형과 다른 인터페이스 유형입니다.네트워크 주소 변환 인터페이스. 이 블로그 게시물에서는 차이점을 잘 설명합니다.

NAT 네트워크 인터페이스에서 NAT 인터페이스로 전환하면 추가 구성 없이 가상 머신에서 인터넷에 액세스할 수 있습니다. 이것이 최종 목표이기 때문에 NAT 네트워크 인터페이스 문제의 원인 진단을 진행하지 않습니다.

원래 해결책은 다음과 같습니다.


지금까지 제공해 주신 정보를 바탕으로 확실한 진단을 내릴 만큼은 아니지만, 한 가지 가능성은 호스트의 VirtualBox 네트워크 구성과 게스트의 네트워크 구성 간에 충돌이 있을 수 있다는 것입니다.

게스트에게 SSH 액세스를 허용하려면 포트 전달을 사용하여 작동하는 NAT 구성으로 시작하는 것이 좋습니다. 몇 가지 이유가 있습니다:

  1. 현재 상황에서는 방문자의 문자를 복사할 수 없습니다.

  2. 모든 것이 잘 작동하는 상태에서 시작한 다음 다시 문제를 해결하는 방식으로 디버깅하는 것이 도움이 되는 경우가 많습니다.

  3. 내 경험에 따르면 NAT 인터페이스는 VirtualBox 게스트가 인터넷에 액세스하는 가장 쉽고 오류가 발생하기 쉬운 방법입니다.

GUI를 통해 이 작업을 수행할 수 있지만 구체적으로 명령줄 예제를 제공하겠습니다.

먼저 모든 네트워크 인터페이스 카드를 제거해 보겠습니다.

for n in 1 2 3 4 5 6 7 8; do
    vboxmanage modifyvm "${VMNAME}" --nic${n} none
done

이제 NAT 인터페이스를 추가해 보겠습니다.

vboxmanage modifyvm "${VMNAME}" --nic1 NAT

NIC 구성을 확인해 보겠습니다.

vboxmanage showvminfo "${VMNAME}" | grep '^NIC'

출력은 다음과 같아야 합니다.

NIC 1:          MAC: 08002784C3DE, Attachment: NAT, Cable connected: on,
                Trace: off (file: none), Type: Am79C973, Reported speed: 0
                Mbps, Boot priority: 0, Promisc Policy: deny, Bandwidth group: none
NIC 1 Settings: MTU: 0, Socket (send: 64, receive: 64), TCP Window (send:64, receive: 64)
NIC 2:           disabled
NIC 3:           disabled
NIC 4:           disabled
NIC 5:           disabled
NIC 6:           disabled
NIC 7:           disabled
NIC 8:           disabled

이제 SSH에 대한 포트 전달 규칙을 추가해 보겠습니다. 다음은 호스트의 포트 2222를 클라이언트의 포트 22에 매핑하는 예입니다.

vboxmanage modifyvm "${VMNAME}" --natpf1 ssh,tcp,,2222,,22

VM을 시작하고 SSH 연결을 테스트합니다. 게스트에서 SSH를 이미 실행 중인 경우 헤드리스 모드에서 시작할 수 있습니다.

vboxmanage startvm --type headless "${VMNAME}"

SSH를 통해 게스트에 로그인합니다.

ssh -p 2222 localhost

포트 전달 규칙으로 인해 방문자의 IP 주소를 알 필요가 없습니다. 이것이 효과가 있다면 게시물을 업데이트하여 "NAT 네트워크" 구성에 어떤 문제가 있는지 알아낼 수 있습니다.

또한 다음에서 사전 구성된 가상 머신을 다운로드해 볼 수도 있습니다.가상 상자웹사이트. 분명히 그들은 약간을 가지고lubuntu 이미지.

관련 정보