Konfigurasikan alamat IP publik di KVM VMs

12

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: Topologi jaringan.

Saya telah mencoba berbagai cara, seperti menambahkan jembatan Linux dengan brctldan 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?

keluar
sumber
Coba tambahkan adaptor kedua ke Mesin Virtual dan sambungkan ke jaringan server internal.
shcherbak
apa jaringan server internal? Lagi pula saya ingin setup pertanyaan, jika memungkinkan.
logoff
Misalkan, ini akan membantu: [KVM - Buat mesin virtual dengan 2 antarmuka jembatan] ( askubuntu.com/questions/581771/… ), [jembatan jaringan KVM dengan dua NIC] ( serverfault.com/questions/130134/… )
shcherbak
sekali lagi, saya lebih suka memiliki hanya satu antarmuka per VM, jika memungkinkan.
logoff
Saya menjawab pertanyaan serupa tentang debian kvm host & guest kemarin. unix.stackexchange.com/questions/245073/... - selain dari detail kecil pengaturan antarmuka, harus serupa pada centos.
cas

Jawaban:

4

Akhirnya saya menemukan cara yang tepat untuk mencapai tujuan pertanyaan. Ini menyiratkan Linux bridging, karena saya tidak dapat menyelesaikan masalah dengan jaringan libvirt.

Langkah:

  1. Identifikasi antarmuka VM KVM. Mungkin nama antarmuka dimulai denganvnet*

Dalam contoh ini vnet0danvnet1

  1. Buat jembatan Linux dengan:

    brctl addbr virbr1

  2. 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
  1. Konfigurasikan antarmuka server fisik yang tidak memiliki alamat IP yang ditetapkan:

Di CentOS 6.5, edit file /etc/sysconfig/network-scripts/ifcfg-eth0dengan konten ini:

DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
NAME=eth0
TYPE=Ethernet
IPV6INIT=no
USERCTL=no
  1. Konfigurasikan jembatan server fisik untuk memiliki alamat IP:

Di CentOS 6.5, edit file /etc/sysconfig/network-scripts/ifcfg-virbr1dengan 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>
  1. Mulai ulang jaringan server fisik:

service network restart

CATATAN: Anda harus memulihkan konektivitas jaringan server fisik (melalui antarmuka dan jembatan)

  1. 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.

keluar
sumber