qemu/kvm 가상화 스택에서 Windows 7 게스트를 실행하는 Debian 시스템을 설정하고 있습니다. Windows 컴퓨터는 오래된 소프트웨어를 실행하고 있었기 때문에 인터넷 접속 없이 가상 머신에 설치하기로 결정했습니다. 하지만 가상 머신 안팎으로 파일을 이동해야 합니다.
호스트 전용 네트워크를 설정하고 호스트를 제외한 모든 사람의 액세스를 거부하도록 방화벽 규칙을 변경할 수 있다고 들었습니다. 그러나 호스트 시스템에는 인터넷에 대한 전체 액세스가 필요합니다.
Linux에서 방화벽 구성에 대한 경험이 없습니다. 위의 목표를 어떻게 달성할 수 있나요?
답변1
이렇게 하면 트릭을 수행할 수 있습니다.
$ qemu-system-x86_64 -net nic -net user,restrict=on,smb=/path/to/shared/folder ...
~에서맨페이지:
-netdev user,id=id[,option][,option][,...] -net user[,option][,option][,...] Use the user mode network stack which requires no administrator privilege to run. Valid options are: ... restrict=on|off If this option is enabled, the guest will be isolated, i.e. it will not be able to contact the host and no guest IP packets will be routed over the host to the outside. This option does not affect any explicitly set forwarding rules. ... smb=dir[,smbserver=addr] When using the user mode network stack, activate a built-in SMB server so that Windows OSes can access to the host files in dir transparently. The IP address of the SMB server can be set to addr. By default the 4th IP in the guest network is used, i.e. x.x.x.4. In the guest Windows OS, the line: 10.0.2.4 smbserver must be added in the file C:\WINDOWS\LMHOSTS (for windows 9x/Me) or C:\WINNT\SYSTEM32\DRIVERS\ETC\LMHOSTS (Windows NT/2000). Then dir can be accessed in \\smbserver\qemu. Note that a SAMBA server must be installed on the host OS. QEMU was tested successfully with smbd versions from Red Hat 9, Fedora Core 3 and OpenSUSE 11.x.
이렇게 하려면 samba
호스트 시스템에 설치해야 합니다. 구성이나 실행이 필요하지 않고 smbd
바이너리만 필요하며 권한 없이 임시 구성으로 실행됩니다.
노트
Windows 7에서는 컴퓨터->네트워크 위치 추가->사용자 정의 네트워크 위치 선택->\\10.0.2.4\qemu를 통해 공유 폴더에 연결할 수 있습니다.
Windows에서 "인터넷에 연결" 마법사를 열라고 요구하면 그냥 닫으세요. "네트워크 위치 추가" 마법사가 계속 실행 중이므로 작업 표시줄 아이콘을 클릭하면 해당 창을 다시 열 수 있습니다.
답변2
virt-manager를 사용하여 격리된 네트워크를 만든 다음 Samba(SMB 서버)를 시작하고 virbr1(격리된 네트워크)에서 수신하도록 구성할 수 있다는 것이 밝혀졌습니다. 분명히 격리된 네트워크는 외부 세계와의 통신을 비활성화하지만 내가 찾고 있는 호스트에 도달하는 것을 허용합니다.
자세한 설명을 편집하려면 다음을 수행하세요.
- 격리된 네트워크를 만들려면 다음을 참조하세요.https://wiki.libvirt.org/page/VirtualNetworking#Isolated_mode그리고https://wiki.libvirt.org/page/VirtualNetworking#Isolated_mode_2
- 호스트에서
ip addr
(또는 이와 유사한)를 사용하여 새 브리지의 호스트 IP 주소를 찾습니다. - 또한 게스트의 IP 설정을 구성하여 고정 IP를 얻을 수 있습니다.
- 그런 다음 호스트와 게스트 IP를 사용하여 통신하기만 하면 됩니다.
- Samba 설정에 대한 자세한 내용은 공식 문서나 튜토리얼을 확인하세요.https://tutorials.ubuntu.com/tutorial/install-and-configure-samba#0