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: .
Próbowałem różnych sposobów, takich jak dodawanie mostu linuksowego brctl
i 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?
Odpowiedzi:
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:
vnet*
W tym przykładzie
vnet0
ivnet1
Utwórz most linuksowy za pomocą:
brctl addbr virbr1
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ą).
W CentOS 6.5 edytuj plik
/etc/sysconfig/network-scripts/ifcfg-eth0
z następującą zawartością:W CentOS 6.5 edytuj plik
/etc/sysconfig/network-scripts/ifcfg-virbr1
z następującą zawartością:service network restart
UWAGA: powinieneś odzyskać fizyczną łączność z serwerem (poprzez interfejs i most)
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.
źródło