이 문제는 "qemu"가 응용 프로그램의 변수 이름으로 사용되는 경우 더 많이 발생할 수 있습니다. 내 호스트는 NAT 방화벽을 통해 인터넷에 연결된 로컬 개인 네트워크 내에 있습니다. IP가 192.168.150.22
. 로컬 네트워크에는 NAS, 프린터, 로컬 www 서버 등과 같은 다른 구성원이 있습니다. 나는 간단한 qemu VM을 구성했는데, 그 중 가장 간단한 것은 -netdev type=user,...
SLiRP라고 합니다. 데이터를 NAS에 저장하고, 로컬 프린터로 인쇄하고, 로컬 www 서버에서 정보를 얻을 수 있도록 이 가상 머신을 로컬 네트워크로 제한하고 싶지만 보안상의 이유로 인터넷에 액세스할 수는 없습니다.
제가 시도한 가장 간단한 방법은 로컬 네트워크용으로만 구성된 다른 네임서버의 VM IP를 제공하는 것이었습니다. dnsmasq가 이상적인 것 같습니다. 하지만 qemu VM이 다른 네임서버를 사용하도록 강제하는 방법을 찾지 못했습니다. VM 구성에는 매개변수/옵션이 없으며 이 목적에 적합한 시스템 환경 변수도 없습니다. 이 dig
명령은 매개변수를 통해 강제로 실행할 수 있습니다 @12.34.56.78
.
인터넷을 검색했지만 간단한 해결책을 찾지 못했습니다.
qemu 사용자 모드를 사용하면 설치된 시스템은 DHCP에서 IP 및 기타 네트워크 매개변수를 얻어야 하며 nameserver 10.0.2.3
호스트에 방금 연결된 확인 시스템도 얻어야 합니다.
나는 페이지를 사용하고 env HOSTALIAS=
설명 등을 많이 읽으 려고 노력합니다 .NetworkManager
resolver
테스트 목적이나 다른 프로그램과 함께 사용할 VNC 등을 위해 유사한 기능을 찾는 유사한 문제를 많이 겪었기 때문에 이것은 분명히 qemu 문제가 아닙니다.
내 생각에 가장 멋진 해결책은 env variable DNS=x.y.z.j
프로그램에 이름 확인을 요청하는 특수 주소를 제공하는 것과 같습니다. 이렇게 env TMPDIR=/pa/th/
하세요. 이와 같은 특수 qemu 매개변수 -netdev type=user,usedns=12.34.56.78,....
도 허용됩니다.
누구든지 간단한 해결책을 알고 있습니까?
답변1
사용자 네트워크 모드에서는 추가 DNS 범위를 정의할 수 있습니다.
외부 DNS를 사용할 수 있는지 잘 모르겠습니다.
이것을 확인하세요협회qemu는 네트워킹에 관한 것입니다.
-netdev user,id=mynet0,net=192.168.76.0/24,dhcpstart=192.168.76.9