Skonfiguruj publiczne adresy IP w maszynach wirtualnych KVM

12

Mam fizyczny serwer z systemem CentOS 6.5 z jednym interfejsem podłączonym do Internetu (z jednym publicznym adresem IP). Na tym serwerze mam dwie maszyny wirtualne utworzone za pomocą KVM przez libvirt z jednym interfejsem. Chcę przypisać jeden publiczny adres IP do każdej maszyny wirtualnej i kontynuować korzystanie z połączenia z serwerem fizycznym.

Ten obraz ilustruje to, co mam w czerni i co chcę na niebiesko: Topologia sieci.

Próbowałem różnych sposobów, takich jak dodawanie mostu linuksowego brctli dołączanie fizycznego interfejsu serwera oraz wirtualnych interfejsów obu maszyn wirtualnych, ale to nie działało i straciłem połączenie z serwerem fizycznym.

Jestem otwarty na korzystanie z mostów linuksowych lub sieci libvirt.

Jak mogę uzyskać publiczne adresy IP zarówno na maszynach wirtualnych, jak i na serwerze fizycznym?

Wyloguj
źródło
Spróbuj dodać drugi adapter do maszyn wirtualnych i podłączyć je do wewnętrznej sieci serwerów.
shcherbak
jaka wewnętrzna sieć serwerów? w każdym razie chcę konfigurację pytania, jeśli to możliwe.
wyloguj się
Załóżmy, że to pomoże: [KVM - Utwórz maszynę wirtualną z 2 interfejsami mostów] ( askubuntu.com/questions/581771/… ), [Most sieci KVM z dwoma kartami sieciowymi] ( serverfault.com/questions/130134 / ... )
shcherbak
jeszcze raz wolę mieć tylko jeden interfejs na maszynę wirtualną, jeśli to możliwe.
wyloguj się
wczoraj odpowiedziałem na podobne pytanie dotyczące hosta i gościa debian kvm. unix.stackexchange.com/questions/245073/... - oprócz drobnych szczegółów konfiguracji interfejsu, powinien być podobny w centos.
cas

Odpowiedzi:

5

Wreszcie znalazłem właściwy sposób na osiągnięcie celu pytania. Sugeruje to mostkowanie Linuksa, ponieważ nie byłem w stanie rozwiązać problemu z siecią libvirt.

Kroki:

  1. Zidentyfikuj interfejsy VMM KVM. Prawdopodobnie nazwy interfejsów zaczynają się odvnet*

W tym przykładzie vnet0ivnet1

  1. Utwórz most linuksowy za pomocą:

    brctl addbr virbr1

  2. Dołącz interfejs fizyczny i interfejsy maszyn wirtualnych KVM do nowego mostu:

OSTRZEŻENIE: jeśli jesteś podłączony do fizycznego serwera przez sieć (SSH, Telnet itp.), Utracisz połączenie. Użyj terminala lub metody alternatywnej (jak inny interfejs z łącznością).

brctl addif virbr1 vnet0
brctl addif virbr1 vnet1
brctl addif virbr1 eth0
  1. Skonfiguruj fizyczny interfejs serwera, który nie ma przypisanego adresu IP:

W CentOS 6.5 edytuj plik /etc/sysconfig/network-scripts/ifcfg-eth0z następującą zawartością:

DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
NAME=eth0
TYPE=Ethernet
IPV6INIT=no
USERCTL=no
  1. Skonfiguruj fizyczny most serwera, aby miał adres IP:

W CentOS 6.5 edytuj plik /etc/sysconfig/network-scripts/ifcfg-virbr1z następującą zawartością:

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. Uruchom ponownie fizyczny serwer sieciowy:

service network restart

UWAGA: powinieneś odzyskać fizyczną łączność z serwerem (poprzez interfejs i most)

  1. Skonfiguruj interfejs sieciowy maszyn wirtualnych KVM:

Zależy to od systemu operacyjnego maszyn wirtualnych. W każdym razie powinien zawierać przynajmniej adres IP, maskę sieci i domyślną bramę. Oczywiście serwery DNS zakończą konfigurację.

Wszystkie te konfiguracje są statyczne i można je zastąpić przypisaniem DHCP. W takim przypadku przydatne mogą być adresy MAC mostu i interfejsy maszyny wirtualnej KVM.

Wyloguj
źródło