Qemu의 게스트 OS가 인터넷에 액세스하도록 하는 방법은 무엇입니까?

Qemu의 게스트 OS가 인터넷에 액세스하도록 하는 방법은 무엇입니까?

Windows XP 이미지를 만들고 qemu를 사용하여 부팅했습니다. "사용자 모드 네트워킹"을 사용할 때 -net user게스트 OS(windows xp)에 10.0.2.15의 IP가 할당되고 Windows 드라이버가 올바르게 설치되도록 10.0.2.2에 ping을 보낼 수 있습니다.

불행하게도 다른 것에는 접근할 수 없습니다. 튜토리얼을 읽고 "사용자 모드 네트워킹"이 인터넷 연결을 전달하지 않으며 TAP 장치나 브리지 장치를 사용해야 한다는 것을 알게 되었습니다.

나는 이러한 장치에 익숙하지 않으며 튜토리얼은 매우 혼란스럽고 복잡합니다.

튜토리얼 중 하나에서 qemu-bridge-helper를 사용하라고 제안했습니다. br0 브리지 장치가 통과할 수 있도록 /etc/qemu/bridge.conf를 구성했습니다 brctl addbr br0.

나는 튜토리얼을 따르고 다음과 같이 winxp를 시작했습니다.

qemu-system-x86_64 --enable-kvm -m 2048 \
  -drive file=winxp.img,if=virtio \
  -net nic,model=virtio \
  -net bridge,br=br0

이미지는 정상적으로 시작되지만 IP 주소를 얻지 못합니다. 그 이유는 Windows가 DHCP를 사용하도록 구성되어 있지만 "br0"은 단지 브리지 인터페이스이기 때문에 DHCP 주소를 제공하지 않기 때문입니다(어떻게든 tap0에 바인딩되어 있지만 이것이 무엇을 의미하는지 잘 모르겠습니다).

내 질문은 - DHCP를 통해 winxp에 주소를 제공하도록 "br0"을 어떻게 구성합니까? tap0 인터페이스에서 dhcp 서버를 실행해야 합니까? br0, tap0, eth0의 관계는 무엇입니까? (eth0은 내 고정 IP 인터페이스이며 유일한 인터넷 인터페이스입니다.)

두 번째 질문은 - 게스트 OS에 대한 간단한 인터넷 액세스를 허용하도록 이 모든 것을 구성하는 더 쉬운 방법이 있습니까?

답변1

두 번째 질문은 - 게스트 OS에 대한 간단한 인터넷 액세스를 허용하도록 이 모든 것을 구성하는 더 쉬운 방법이 있습니까?

간단한 인터넷 액세스를 위해 수동으로 구성할 필요는 없습니다(또는 적어도 구성해서는 안 됩니다). QEMU는 이를 자동으로 처리합니다. (에서 제공하는) ICMP 프로토콜을 지원하지 않고 ping, 외부 네트워크에 표시되지 않으며, 동일한 방식으로 실행되는 다른 가상 머신과 통신할 수 없는 등 일부 제한 사항이 있지만 간단한 사용에는 잘 작동합니다. 보다아치스 위키더 많은 정보를 알고 싶습니다.

답변2

명령을 실행한 후 brctl addbr br0새 브리지를 실제 네트워크 인터페이스에 연결해야 합니다. 예를 들어 eth0마녀는 인터넷에 연결되어 있습니다. 다음 명령을 사용하십시오 brctl addif br0 eth0.

관련 정보