Нарешті я знайшов правильний спосіб досягти мети питання. Це передбачає усунення Linux, тому що я не зміг вирішити проблему з мережею libvirt.
Кроки:
- Визначте інтерфейси KVM VM. Можливо, імена інтерфейсів починаються з
vnet*
У цьому прикладі vnet0
іvnet1
Створіть міст Linux за допомогою:
brctl addbr virbr1
До нового мосту приєднайте фізичний інтерфейс та інтерфейси КВМ VM:
ПОПЕРЕДЖЕННЯ. Якщо ви підключитесь до фізичного сервера через мережу (SSH, Telnet тощо), ви втратите зв’язок. Використовуйте термінал або альтернативний метод (наприклад, інший інтерфейс із підключенням).
brctl addif virbr1 vnet0
brctl addif virbr1 vnet1
brctl addif virbr1 eth0
- Настройте інтерфейс фізичного сервера, не призначив IP-адресу:
У CentOS 6.5 відредагуйте файл /etc/sysconfig/network-scripts/ifcfg-eth0
із таким вмістом:
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
NAME=eth0
TYPE=Ethernet
IPV6INIT=no
USERCTL=no
- Налаштуйте фізичний міст сервера для IP-адреси:
У CentOS 6.5 відредагуйте файл /etc/sysconfig/network-scripts/ifcfg-virbr1
із таким вмістом:
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>
- Перезавантажте мережу фізичних серверів:
service network restart
ПРИМІТКА. Вам слід відновити фізичну мережеву підключення до сервера (через інтерфейс та міст)
- Налаштуйте мережевий інтерфейс віртуальних машин KVM:
Це залежить від ОС ВМ. У будь-якому разі вона повинна включати принаймні IP-адресу, мережеву маску та шлюз за замовчуванням. Очевидно, що DNS-сервери завершать конфігурацію.
Всі ці конфігурації є статичними і можуть бути замінені призначенням DHCP. У цьому випадку можуть бути корисні MAC адреси мосту та інтерфейси VV VM.