호스트의 포트 80에서 들어오는 모든 트래픽을 qemu VM의 포트 80으로 전달하는 IPtables 규칙을 생성할 수 있습니까?
qemu가 이러한 시나리오를 구현할 수 있나요?
답변1
예, 실제로 개인 테스트 환경에서 이 작업을 수행합니다(집 PC의 QEMU-KVM VM에 액세스할 수 있는 공개 웹 사이트가 있습니다).
기본적으로 VM에 네트워크 액세스 권한이 있으면 라우팅 문제만 처리하면 됩니다.
다양한 유형의 설정을 테스트하기 위해 내 VM에 몇 개의 가짜 회사 "부서"를 설정했습니다. 각 환경에는 특정 virbr* 장치를 탑재하는 자체 서브넷이 있었습니다(virbr1은 웹 사이트 VM의 가상 인터페이스이지만 인터페이스 번호는 분명 다를 거예요.
이 시점에서는 하이퍼바이저만 해당 IP 주소로 액세스할 수 있는 물리적 컴퓨터를 NAT하는 것처럼 처리할 수 있습니다.
내 인터넷 라우터는 포트 80을 하이퍼바이저로 전달하고 하이퍼바이저는 NAT의 포트 80을 KVM과 연결된 개인 IP로 전달합니다.
-A PREROUTING -d 192.168.1.9/32 -i eth0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 10.0.1.9:80
192.168.1.9는 내 하이퍼바이저의 IP 주소이고 10.0.1.9는 Apache를 실행하는 가상 머신의 IP 주소입니다.
답변2
간단한 해결책:
qemu --enable-kvm -boot d image.vdi -m 1000 -redir tcp:80::80