내 무선 네트워크 어댑터는 브리징을 지원하지 않기 때문에 게스트 VM을 개방형 인터넷에 연결하고 호스트와 동일한 네트워크에 IP 주소를 갖도록 하는 것이 정말 어렵습니다. Ubuntu 10.10을 사용하고 있는데 KVM 버전이 vde를 지원하지 않아서 더 어려워졌습니다. 이 문제를 어떻게 해결할 수 있나요?
@stribika의 아이디어는 훌륭하지만 VM을 호스트와 동일한 네트워크에 연결하는 것을 선호합니다. 예를 들어 내 호스트 네트워크는 192.168.1.0이고 내 가상 머신 네트워크도 동일해지기를 원합니다.
답변1
사용자 모드 네트워크 스택을 사용할 수 있어야 합니다. 다음과 같이 qemu를 시작하세요:
qemu-system-x86_64 \
-smp 1 -m 1024 \
-net user,net=10.0.0.0/8,host=10.0.0.1,hostfwd=tcp:127.0.0.1:2222-10.0.0.2:22 \
-net nic \
-cdrom systemrescuecd-x86-2.0.1.iso -boot d
중요 옵션:
-net nic
: 게스트의 가상 네트워크 카드를 표시합니다.-net user
: 호스트의 qemu 프로세스가 다른 프로세스처럼 실제 네트워크를 통해 통신하도록 합니다.net=10.0.0.0/8
: 가상 네트워크의 서브넷host=10.0.0.1
:가상 네트워크의 호스트 IP 주소hostfwd=tcp:127.0.0.1:2222-10.0.0.2:22
: 호스트의 qemu 프로세스는 포트 2222에서 localhost의 TCP 연결을 수신하고 이를 가상 네트워크 10.0.0.2:22로 전달합니다(새 가상 머신으로 ssh할 수 있도록).
게스트런
ifconfig eth0 10.0.0.2 up
ip route add default via 10.0.0.1 dev eth0
호스트에서 게스트로 SSH 테스트
ssh 127.0.0.1 -p 2222
게스트에서 호스트로
ssh 10.0.0.1
게스트 인터넷 접근성 테스트
wget google.com
호스트 프로세스는 NAT 라우터처럼 작동합니다. TCP 및 UDP 트래픽만 유효합니다. 특히 ping은 게스트와 호스트 사이에서만 작동하며 google.com(제가 일반적으로 사용하는 네트워크 테스트 방법)으로는 ping을 수행할 수 없습니다. 이 방법의 장점은 루트 권한조차 필요하지 않다는 것입니다.
답변2
주의 사항-22: 인터넷 연결의 전체 목적이 게스트에 openssh-server를 설치하는 것인 경우 호스트는 게스트에 SSH를 통해 연결할 수 없습니다.