Akhirnya saya menemukan cara yang tepat untuk mencapai tujuan pertanyaan. Ini menyiratkan Linux bridging, karena saya tidak dapat menyelesaikan masalah dengan jaringan libvirt.
Langkah:
- Identifikasi antarmuka VM KVM. Mungkin nama antarmuka dimulai dengan
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).
brctl addif virbr1 vnet0
brctl addif virbr1 vnet1
brctl addif virbr1 eth0
- Konfigurasikan antarmuka server fisik yang tidak memiliki alamat IP yang ditetapkan:
Di CentOS 6.5, edit file /etc/sysconfig/network-scripts/ifcfg-eth0
dengan konten ini:
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
NAME=eth0
TYPE=Ethernet
IPV6INIT=no
USERCTL=no
- Konfigurasikan jembatan server fisik untuk memiliki alamat IP:
Di CentOS 6.5, edit file /etc/sysconfig/network-scripts/ifcfg-virbr1
dengan konten ini:
DEVICE=virbr1
BOOTPROTO=none
ONBOOT=yes
IPADDR=<physical_server_public_ip_address>
NETMASK=<physical_server_public_ip_netmask>
GATEWAY=<physical_server_gateway_ip_address>
NAME=virbr1
TYPE=Ethernet
IPV6INIT=no
USERCTL=no
NM_CONTROLLED=no
DNS1=<physical_server_primary_dns_server_ip_address>
DNS2=<physical_server_secondary_dns_server_ip_address>
- Mulai ulang jaringan server fisik:
service network restart
CATATAN: Anda harus memulihkan konektivitas jaringan server fisik (melalui antarmuka dan jembatan)
- Konfigurasikan antarmuka jaringan KVM VMs:
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.