Ada beberapa tunnel yang dapat Anda gunakan pada interface VM di libvirt untuk kebutuhan komunikasi baik antar VM baik di mesin host yang sama atau antar mesin host.
Multicast tunnel #
Jaringan ini membuat antar VM dapat terhubung dan berkomunikasi pada multicast group yang sama baik pada mesin host yang sama atau antar host.
Perhatikan pada source address yang digunakan harus dari blok alamat multicast.
Domain XML
<interface type="mcast">
<source address="224.0.1.1" port="5558"/>
<model type="virtio"/>
</interface>
TCP tunnel #
TCP tunnel untuk konfigurasinya membutuhkan satu VM sebagai server
lalu untuk semua VM lainnya dapat dikonfigurasi sebagai client
. Semua lalu lintas jaringan akan
dirutekan antar VM melalui server.
Domain XML VM-1
<interface type="server">
<mac address="52:54:00:4c:f8:fd"/>
<source address="10.10.100.1" port="5558"/>
<model type="virtio"/>
</interface>
Domain XML VM-2
<interface type="client">
<mac address="52:54:00:4c:f8:fd"/>
<source address="10.10.100.1" port="5558"/>
<model type="virtio"/>
</interface>
UDP unicast tunnel #
UDP unicast tunnel menyediakan jaringan virtual yang memungkinkan koneksi antara instans QEMU menggunakan infrastruktur UDP QEMU. Untuk source
address adalah alamat
sebagai endpoint pengiriman paket UDP. Sedangkan local
address adalah alamat untuk menentukan darimana paket UDP berasal.
Jadi untuk source
ini bisa dikatakan source port VM sedangkan local
adalah destination port karena akan dipasang sebagai source
pada VM lain agar dapat
terhubung.
Domain XML VM-1
<interface type="udp">
<source address="127.0.0.1" port="11115">
<local address="127.0.0.1" port="11116"/>
</source>
<model type="virtio"/>
</interface>
Domain XML VM-2
<interface type="udp">
<source address="127.0.0.1" port="11116">
<local address="127.0.0.1" port="11115"/>
</source>
<model type="virtio"/>
</interface>
Vhost-user tunnel #
Dengan menggunakan vhost-user, Anda dapat membuat jaringan virtual untuk memungkinkan komunikasi antar mesin virtual (VM) melalui unix socket.
Domain XML VM-1
<interface type='vhostuser'>
<mac address='52:54:00:3b:83:1a'/>
<source type='unix' path='/tmp/vhost1.sock' mode='server'/>
<model type='virtio'/>
</interface>
Domain XML VM-2
<interface type='vhostuser'>
<mac address='52:54:00:3b:83:1b'/>
<source type='unix' path='/tmp/vhost2.sock' mode='client'>
<reconnect enabled='yes' timeout='10'/>
</source>
<model type='virtio'/>
<driver queues='5'/>
</interface>