Dimungkinkan untuk mengubah jenis antarmuka jaringan virtual dengan perintah seperti:
VBoxManage controlvm <VM_name> nic1 bridged eth0
Ini akan membuat antarmuka virtual pertama dalam VM ini dijembatani dengan eth0. Namun demikian hanya berfungsi saat tamu berjalan . (Saya tidak yakin kapan tepatnya akan memperbarui konfigurasi persisten, tetapi beberapa pengujian telah menunjukkan bahwa perintah tidak melakukan apa-apa jika tamu tidak berjalan, tetapi jika ya, itu akan mengubah keadaan langsung antarmuka dan memperbarui konfigurasi .)
Tapi itu bisa dibuat berfungsi jika Anda memiliki sesuatu yang sering menjalankannya, menentukan antarmuka yang ingin Anda jembatani. Anda bisa menggunakan Bahasa pemrograman NCD untuk melakukan ini secara otomatis. Program NCD di bawah ini akan mengamati status eth0 dan wlan0, dan akan berulang kali memanggil perintah seperti di atas untuk memastikan VM Anda dijembatani dengan antarmuka yang tepat. (khususnya, yang memiliki bendera RUNNING; mis. untuk antarmuka kabel ini berarti bahwa kabel dicolokkan)
process vbox_iface {
# Wait for link on either eth0 or wlan0. Prefer eth0.
multidepend({"link-eth0", "link-wlan0"}) linkif;
println("Using ", linkif.dev);
# Enter loop (this is a hackish loop).
multiprovide("loop-run");
multidepend({"loop-again", "loop-run"});
println("Setting bridged to ", linkif.dev);
# Set VM NIC config.
runonce({"/usr/bin/VBoxManage", "controlvm", "Windows XP", "nic1", "bridged", linkif.dev});
# Wait some time (in milliseconds).
sleep("2000", "0");
# Continue loop.
multiprovide("loop-again");
}
process lan_iface {
var("eth0") dev;
# Wait for device to appear and for link (e.g. cable).
net.backend.waitdevice(dev);
net.backend.waitlink(dev);
multiprovide("link-eth0");
}
process wlan_iface {
var("wlan0") dev;
# Wait for device to appear and for link (e.g. cable).
net.backend.waitdevice(dev);
net.backend.waitlink(dev);
multiprovide("link-wlan0");
}
Anda dapat menggunakan program di atas dengan menjalankan (sebagai akun pengguna Anda, bukan root):
badvpn-ncd --loglevel warning --config-file <file_with_above_script.ncd>
Pastikan untuk menyesuaikan nama antarmuka dalam skrip, dan nama VM. Setelah Anda memverifikasi bahwa itu berfungsi, Anda dapat mengkonfigurasi lingkungan desktop Anda untuk memulai kembali badvpn-ncd
proses.