Yang ingin saya lakukan adalah mengatur konfigurasi jaringan para tamu (alamat IP, subnet, gateway, alamat broadcast) dari sistem host. Pengaturan jaringan yang digunakan dalam bridge
mode. Bagaimana saya bisa mengkonfigurasi jaringan dari host daripada mengkonfigurasi klien itu sendiri ke konfigurasi jaringan statis?
Jika saya menjalankan:
virsh edit vm1
ada <network>
blok juga dan saya mencoba mengkonfigurasi antarmuka jaringan dari sana, tapi sayangnya VM tamu sepertinya tidak menggunakannya dan karena itu offline ke jaringan (karena hanya menggunakan konfigurasi jaringan otomatis) ... Tamu VM keduanya, berbasis Linux dan Windows. Bantuan apa pun akan sangat dihargai.
Jawaban:
Jika Anda tidak ingin melakukan konfigurasi di dalam tamu, maka satu-satunya pilihan adalah server DHCP yang membagikan alamat IP statis. Jika Anda menggunakan
bridge
mode, itu mungkin beberapa server DHCP eksternal. Konsultasikan manualnya untuk mengetahui cara melayani sewa statis.Tetapi setidaknya dalam mode maju
nat
atauroute
, Anda dapat menggunakan built-in libvirtdnsmasqd
(Versi libvirtd yang lebih baru mendukung opsi dnsmasq "dhcp-hostsfile"). Begini caranya:Pertama, cari tahu alamat MAC dari VM yang ingin Anda tetapkan alamat IP statis:
Kemudian edit jaringan
Temukan
<dhcp>
bagian, batasi rentang dinamis dan tambahkan entri host untuk VM AndaKemudian, reboot VM Anda (atau restart klien DHCP-nya, mis.
ifdown eth0; ifup eth0
)Pembaruan: Saya melihat ada laporan bahwa perubahan mungkin tidak berlaku setelah "virsh net-edit". Dalam hal ini, coba ini setelah diedit:
... dan mulai ulang klien DHCP VM.
Jika itu masih tidak berhasil, Anda mungkin harus melakukannya
Catatan: Tidak mungkin host KVM dapat memaksa VM dengan OS yang tidak dikenal dan konfigurasi yang tidak diketahui untuk menggunakan konfigurasi jaringan tertentu. Tetapi jika Anda tahu bahwa VM menggunakan protokol konfigurasi jaringan tertentu - katakanlah DHCP - Anda dapat menggunakannya. Inilah yang diasumsikan oleh postingan ini.
Beberapa OS (misalnya beberapa distro Linux) juga memungkinkan untuk melewatkan opsi konfigurasi jaringan ke dalam guest misalnya melalui baris perintah kernel. Tapi itu sangat spesifik untuk OS, dan saya tidak melihat keuntungan dari metode DHCP.
sumber
virsh net-update
adalah perintah yang baik untuk Anda (Anda tidak perlu memulai ulang / menghancurkan jaringan Anda, dll)lihat: https://www.redhat.com/archives/libvir-list/2012-September/msg01380.html
sumber
Saya telah dapat membuat
dnsmasq
'melihat' pemetaan IP-MAC yang baru ditambahkan dengan hanya mengirim-HUP
sinyal kednsmasq
proses. Setelah itu, me-reboot tamu baru sudah cukup untuk memiliki IP yang benar ditugaskan untuk itu, tanpa perlu me-restartlibvirtd
atau jaringan itu sendiri.Dokumentasi libvirt resmi ( http://wiki.libvirt.org/page/Networking#Applying_modifications_to_the_network ) menyebutkan skrip Perl tidak resmi ini yang mengotomatiskan seluruh proses: https://gist.github.com/bendiken/032ea1bddb9ffafe98b4
Saya belum mencoba skrip ini sendiri, karena saya tahu bahwa hostsfile sudah diperbarui dan hanya mengirim sinyal -HUP sudah cukup.
Tuan rumah menjalankan Debian 7.8 dan versi paket adalah:
sumber