بسم الله الرحمن الرحيم

Latar Belakang Masalah

Saat membuat VM baru pada virt-manager, biasanya sharing Home direktori antara Host OS –dalam hal ini adalah GNU/Linux– dan Guest OS –dalam hal ini adalah Windows– tidak langsung tersedia. Kita perlu mengkonfigurasi secara manual.

Bang, yang seperti apa sih “Sharing Home Direktori” itu?

gambar_04

Bisa dilihat di My Computer, pada kategori Network Location seperti yang saya kotakin merah.

Kalau kita buka, isinya adalah Home direktori dari Host OS.

Pemecahan Masalah

Untu memecahkan masalah di atas, teradapat beberapa prasyarat yang harus terpenuhi, diantaranya:

  1. Mengaktifkan Samba service pada Host OS
  2. Perlu membuat virtual network yang dapat diakses oleh Host OS (Bridge)
  3. Menambahkan “Network Location” pada Guest OS yang dialamatkan pada IP address Host OS

Oke, saya akan jabarkan langkah-langkah di atas.

Pasang Samba

Pasang Samba dulu apabila belum terinstal.

$ sudo pacman -S samba

Kalau di Artix Linux, ikutkan dengan paket initnya, misal untuk OpenRC.

$ sudo pacman -S samba samba-openrc

Jalankan Samba Service

Sebelum dapat digunakan, tentunya Samba service harus dijalankan terlebih dahulu.

systemd

$ sudo systemctl start smb

OpenRC

$ sudo rc-service smb start

Buat Samba User

Buat Samba user terlebih dahulu, saya merekomendasikan, agar mudah diingat, buat Samba user dengan credential yang sama dengan Guest OS yang digunakan.

Misal, di Guest OS (Windows), saya memiliki user:

username: bandithijo
password: hijobandit

Sekarang, buat Samba user,

$ smbpasswd -a bandithijo
New SMB password:
Retype new SMB password:
Informasi

Sekedar catatan saja, agar tidak perlu repot-repot mencari-cari.

Mengganti Password

$ smbpasswd bandithijo

Menghapus Samba User

$ smbpasswd -x bandithijo

Membuat Virtual Network

Perhatian

Harap dimaklumi, karena saya tidak begitu mahir dengan Networking. 😄

Virtual Network yang dibuat harus memiliki network yang sama dengan Host OS.

Misal, Host OS memiliki IP address, 192.168.1.7/24, artinya Host OS berada pada network 192.168.1.0/24 dengan jumlah IP address yang tersedia adalah 254. Mulai dari rentang 192.168.1.2 - 192.168.1.254

Kita akan mengambil sebagian IP address yang tersedia tersebut.

Misal, dari ip 192.168.1.100 dengan netmask /28.

Untuk membuat Virtual Network, buka menu Edit > Connection Details.

Pergi ke tab Virtual Networks.

Tambahkan network baru dengan menu + di pojok kiri bawah.

Nanti akan terbuka window seperti di bawah ini.

gambar_01

Isi bagian-bagian yang saya kotak merah.

Name: network-bridge
Mode: NAT
IPv5:
Network: 192.168.1.100/28

Lalu tekan Finish.

Nanti virt-manager secara pintar, akan mengalokasikan IP address yang tersedia untuk kita gunakan.

gambar_02

Dapat dilihat pada gambar di atas, kita mendapatkan network 192.168.1.96/28, dengan alokasi IP address yang dapat kita gunakan pada rentang 192.168.1.104 - 192.168.1.110

Jadi, nanti ketika kita membuat Vitual Machine, IP address yang akan diambil dari rentang tersebut apabila kita gunakan Virtual Network network-bridge.

Attach VM dengan Virtual Network

Anggaplah kita sudah memiliki Virtual Machine yang berisi Windows.

Pasang/attach Network Interface Controller (NIC) dengan Virtual Network yang kita buat di atas dengan nama network-bridge.

Seperti ini ilustrasinya,

gambar_03

Dapat dilihat pada gambar di atas, Virtual Machine saya mendapatkan IP address 192.168.1.105, yang mana IP address ini masih dalam rentang yang kita bahas di atas (.104 - .110).

Karena Virtual Machinve (Guest OS) memiliki IP yang berada pada rentang Host OS, maka keduaya dapat saling berkomunikasi.

Host  OS IP Address : 192.168.1.7
Guest OS IP Address : 192.168.1.105

Coba lakukan pengetesan dengan mengirimkan sinyal ping.

Host OS (Linux) ping ke Guest OS (Windows)

$ ping -c 3 192.168.1.105
PING 192.168.1.105 (192.168.1.105) 56(84) bytes of data.
64 bytes from 192.168.1.105: icmp_seq=1 ttl=128 time=0.312 ms
64 bytes from 192.168.1.105: icmp_seq=2 ttl=128 time=0.341 ms
64 bytes from 192.168.1.105: icmp_seq=3 ttl=128 time=0.353 ms

--- 192.168.1.105 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2016ms
rtt min/avg/max/mdev = 0.312/0.335/0.353/0.017 ms

Di sisi lain,

Guest OS (Windows) ping ke Host OS (Linux)

$ ping 192.168.1.7
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

C:\Users\bandithijo>ping 192.168.1.7

Pinging 192.168.1.7 with 32 bytes of data:
Reply from 192.168.1.7: bytes=32 time=1ms TTL=64
Reply from 192.168.1.7: bytes=32 time<1ms TTL=64
Reply from 192.168.1.7: bytes=32 time<1ms TTL=64
Reply from 192.168.1.7: bytes=32 time<1ms TTL=64

Ping statistics for 192.168.1.7:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 1ms, Average = 0ms

Oke, kita sudah punya network yang sesuai dengan prasyarat yang ditentukan.

Buat Network Location di Guest OS

Buka Guest OS –dalam hal ini adalah Windows, kemudian buka My Computer.

Klik kanan dan pilih Add a network location.

gambar_05

Next-next aja, sampai ketemu halaman seperti di bawah ini.

gambar_06

Isi dengan format seperti yang saya kotakin merah.

\\192.168.1.7\bandithijo

Dapat dilihat bahwa formulanya adalah,

\\host_ip_address\host_username

Halaman selanjutnya adalah memberikan nama,

gambar_07

Finish!

Kalau berhasil, akan ada Home dari Host OS di my computer.

gambar_04

Bang, saya tidak mau Home direktori yang dishare, tapi direktori tertentu. Bisa tidak?

Tetu saja, Bisa!

Misal, direktori yang mau dishare ada di /home/bandithijo/Documents/.

Tinggal buat saja locationnya seperti ini.

\\192.168.1.7\bandithijo\Documents

Hasilnya,

gambar_08

Demo

gambar_09

Pesan Penulis

Sepertinya, segini dulu yang dapat saya tuliskan.

Selanjutnya, saya serahkan kepada imajinasi dan kreatifitas teman-teman. Hehe.

Mudah-mudahan dapat bermanfaat.

Terima kasih.

(^_^)

Terima Kasih

  1. Arya Pramudika, atas informasi membuat Virtual Network Bridge.

Referensi

  1. wiki.archlinux.org/title/Samba
    Diakses tanggal: 2021/05/06


Penulis

bandithijo

My journey kicks off from reading textbooks as a former Medical Student to digging bugs as a Software Engineer – a delightful rollercoaster of career twists. Embracing failure with the grace of a Cat avoiding water, I've seamlessly transitioned from Stethoscope to Keyboard. Armed with ability for learning and adapting faster than a Heart Beat, I'm on a mission to turn Code into a Product.

- Rizqi Nur Assyaufi

d98d8237fef8f1017d0be931b6e291341cbe6ca8