QEMU: Windows 7 guest samba share vs. host tűzfal

Fórumok

Sziasztok!

openSUSE Leap-et használok oprendszerként. Főleg a szkennerem miatt van szükségem a Windows 7-re, Virtualbox alatt futtatom. A 7-es verzió megjelenése után kezdett el vacakolni a Virtualbox, az update-ek után hol az USB, hol a mappa megosztás romlott el. Ekkor határoztam el, hogy megismerkedem a linuxos virtualizációval.

Átkonvertáltam QEMU-val a *vbox képfájlt *.qcow formátumba, és Virt-manager-el elkezdtem beállítani.

Mostanra minden működik ugyanúgy, mint a Virtualbox alatt, egy kis "szépséghibával".

A mappa megosztást sambával oldottam meg (a Virtio-s, spice-os nyalánkságok nem működtek, vagy nem voltak támogatottak). A megosztás viszont csak akkor működik, ha a hoston kikapcsolom a tűzfalat.

Próbáltam a neten javasolt portokat, protokollokat engedélyezni, sőt, próbaként az összes, előre definiáltat engedélyeztem a Yast tűzfal moduljával, de nem használt. Csak ha leállítom a tűzfalat, akkor látja a guest a linuxos megosztást.

Van valami ötletetek, hogy mit kellene beállítanom a tűzfalon, hogy működjön a megosztás?

Bocsánat, ha kicsit hosszúra nyúlt a mondókám :-)

Hozzászólások

IP-alapú file-megosztást kerüld, szerintem; közmegegyezés, hogy nehézkes (legyen bármi: NFS, Samba, ...) Az egyik alternatívája a virtio-vsock (amely mondjuk továbbra is hálózati kapcsolatra fókuszál, csak nem IP-alapúra), a másik alternatívája pedig a virtio-filesystem (virtio-fs).

Windows guest-hez van virtio-fs driver: https://virtio-fs.gitlab.io/howto-windows.html

Ha rákeresel, több más / részletesebb leírást is találsz. Én használtam a gyakorlatban (bár talán Windows 7-nél későbbi kiadású Windows guest-tel), számomra jól működött.

Szerintem a virtio-fs kört már megfutottam, de nem működött. A Win7 guest-et már nem támogatják (https://github.com/virtio-win/kvm-guest-drivers-windows/issues/728) Nem is értem, pont azért használok virtuális gépet, mert már nincs az OS támogatva. Fura...

Ennek a virtio-vsock-nak még utánanézek, köszi a tippet!

citizen

"ha a hoston kikapcsolom a tűzfalat"

Azaz valahol elakad a forgalom a tűzfalszabályokon. Javaslok egy LOG targetet berakni az eldobálás előtt, és a logot elemezni, hogy mi a hasfájása.
 

Saccra az történt hogy a host "külső", "fizikai" valamelyik interfészén állítgattad a tűzfalat.

Ami persze nem segít a "belülrő", "virtuális interfészről" jönni akaró kapcsolaton.

Gábriel Ákos

Szerkesztve: 2025. 05. 22., cs – 22:04

Köszönöm a tippeket!

Sajnos még nem jutottam előrébb.

A virt-managerben a guest beállítása Virtual network 'default': NAT (virtio)

A host tűzfalában felvettem a virbr0 interfészt, amin a guest kapcsolódik a host-hoz. Trusted módba állítottam, engedélyeztem az összes protokollt, ami a yast tűzfal moduljában szerepel, valamint a 445, 139 TCP és UDP portokat.

Ami érdekes: az smb kapcsolat csak akkor épül ki, ha a guest indulásakor a host tűzfala (firewalld) nem fut. Ha a windowsban megnyitom a felcsatolt linuxos meghajtót, és közben elindítom a host tűzfalát, nem történik semmi, továbbra is elérhetőek maradnak a linuxos fájlok. Esetleg valami "felderítő", kapcsolatkiépítő protokollt blokkolhat a tűzfal, és ezért nem jön létre a kapcsolat? Ha igen, akkor melyiket?

citizen

Mivel nem vagy halozatban es tuzfalban jaratos, en elengednem a helyedben a natolast a hoston.
A win guest interface-t tedd at bridge modba, ezzel azt ered el, mintha ugyanabba a switchbe lennenek kotve a hostoddal.
https://doc.opensuse.org/documentation/leap/archive/42.1/virtualization…
Ha fix ip-d volt a hoston a kartyan, azt az ip-t tedd at a bridge-re.
Ha van a halozatodban DHCP szerver, kapni fog egy IP-t, ahogy a win guested is (vagy adsz fixet, ez mar fakultativ), azt az IP-t beengeded a sambad fele a hoston es kesz is vagy.
Mondjuk ha ez egy laptop es az interface a hostodon wifi, akkor nem fog menni, arra nem tudsz csinalni linux bridge-et (de legalabbis trivialisan semmikepp, amennyire en tudom).