Saya memiliki server fisik yang menjalankan CentOS 6.5 dengan satu antarmuka yang terhubung ke Internet (dengan satu alamat IP publik). Di dalam server ini saya memiliki dua VM yang dibuat dengan KVM melalui libvirt dengan masing-masing satu antarmuka. Saya ingin menetapkan satu alamat IP publik untuk setiap VM dan terus menggunakan koneksi dengan server fisik.
Gambar ini mengilustrasikan apa yang saya miliki dalam warna hitam dan apa yang saya inginkan dengan warna biru: .
Saya telah mencoba berbagai cara, seperti menambahkan jembatan Linux dengan brctl
dan melampirkan antarmuka fisik server dan kedua antarmuka virtual VM, tetapi tidak berhasil dan saya kehilangan konektivitas ke server fisik.
Saya terbuka untuk menggunakan Linux bridges atau jaringan libvirt.
Bagaimana saya bisa mendapatkan alamat IP publik di kedua VM dan di server fisik?
Jawaban:
Akhirnya saya menemukan cara yang tepat untuk mencapai tujuan pertanyaan. Ini menyiratkan Linux bridging, karena saya tidak dapat menyelesaikan masalah dengan jaringan libvirt.
Langkah:
vnet*
Dalam contoh ini
vnet0
danvnet1
Buat jembatan Linux dengan:
brctl addbr virbr1
Lampirkan antarmuka fisik dan antarmuka KVM VM ke jembatan baru:
PERINGATAN: jika Anda terhubung ke server fisik melalui jaringan (SSH, Telnet, dll.), Anda akan kehilangan koneksi. Gunakan terminal atau metode alternatif (seperti antarmuka lain dengan konektivitas).
Di CentOS 6.5, edit file
/etc/sysconfig/network-scripts/ifcfg-eth0
dengan konten ini:Di CentOS 6.5, edit file
/etc/sysconfig/network-scripts/ifcfg-virbr1
dengan konten ini:service network restart
CATATAN: Anda harus memulihkan konektivitas jaringan server fisik (melalui antarmuka dan jembatan)
Ini tergantung pada OS dari VM. Pokoknya itu harus mencakup alamat IP, netmask dan gateway default, setidaknya. Jelas server DNS akan menyelesaikan konfigurasi.
Semua konfigurasi ini bersifat statis dan dapat diganti dengan penetapan DHCP. Dalam hal ini, alamat MAC jembatan dan antarmuka KVM VM bisa bermanfaat.
sumber