Налаштування загальнодоступних IP-адрес у вітринах KVM


12

У мене є фізичний сервер під управлінням CentOS 6.5 з одним інтерфейсом, підключеним до Інтернету (з однією загальнодоступною IP-адресою). Всередині цього сервера у мене є два VM, створені за допомогою KVM через libvirt з одним інтерфейсом кожен. Я хочу призначити одну загальнодоступну IP-адресу кожному VM та продовжувати використовувати з'єднання з фізичним сервером.

Ця картина ілюструє те , що я в чорному , і що я хочу в синьому кольорі: Топологія мережі.

Я пробував різні способи, як, наприклад, додавання мосту Linux із brctlпідключенням фізичного інтерфейсу сервера та обох віртуальних інтерфейсів, але це не спрацювало, і я втратив зв’язок із фізичним сервером.

Я готовий використовувати мости Linux або мережу libvirt.

Як я можу отримати загальнодоступні IP-адреси як у віртуальних машинах, так і на фізичному сервері?


Спробуйте додати другий адаптер до віртуальних машин і підключити їх до внутрішньої серверної мережі.
Щербак

яка внутрішня серверна мережа? у будь-якому випадку я хочу, щоб питання було задано, якщо це можливо.
вихід з системи

Припустимо, це допоможе: [KVM - Створіть віртуальну машину з двома мостовими інтерфейсами] ( askubuntu.com/questions/581771/… ), [мережевий міст KVM з двома NIC] ( serverfault.com/questions/130134/… )
shcherbak

Ще раз, я вважаю за краще мати лише один інтерфейс на VM, якщо це можливо.
вихід із системи

Я вчора відповів на подібне запитання щодо господаря та гостя debian kvm. unix.stackexchange.com/questions/245073/… - окрім незначних деталей налаштування інтерфейсу, має бути схожим на centos.
cas

Відповіді:


5

Нарешті я знайшов правильний спосіб досягти мети питання. Це передбачає усунення Linux, тому що я не зміг вирішити проблему з мережею libvirt.

Кроки:

  1. Визначте інтерфейси KVM VM. Можливо, імена інтерфейсів починаються зvnet*

У цьому прикладі vnet0іvnet1

  1. Створіть міст Linux за допомогою:

    brctl addbr virbr1

  2. До нового мосту приєднайте фізичний інтерфейс та інтерфейси КВМ VM:

ПОПЕРЕДЖЕННЯ. Якщо ви підключитесь до фізичного сервера через мережу (SSH, Telnet тощо), ви втратите зв’язок. Використовуйте термінал або альтернативний метод (наприклад, інший інтерфейс із підключенням).

brctl addif virbr1 vnet0
brctl addif virbr1 vnet1
brctl addif virbr1 eth0
  1. Настройте інтерфейс фізичного сервера, не призначив IP-адресу:

У CentOS 6.5 відредагуйте файл /etc/sysconfig/network-scripts/ifcfg-eth0із таким вмістом:

DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
NAME=eth0
TYPE=Ethernet
IPV6INIT=no
USERCTL=no
  1. Налаштуйте фізичний міст сервера для 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>
  1. Перезавантажте мережу фізичних серверів:

service network restart

ПРИМІТКА. Вам слід відновити фізичну мережеву підключення до сервера (через інтерфейс та міст)

  1. Налаштуйте мережевий інтерфейс віртуальних машин KVM:

Це залежить від ОС ВМ. У будь-якому разі вона повинна включати принаймні IP-адресу, мережеву маску та шлюз за замовчуванням. Очевидно, що DNS-сервери завершать конфігурацію.

Всі ці конфігурації є статичними і можуть бути замінені призначенням DHCP. У цьому випадку можуть бути корисні MAC адреси мосту та інтерфейси VV VM.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.