Назад | Перейти на главную страницу

Проблема с kvm Bridge - нет сети для гостя

В настоящее время у меня есть KVM-хост Proxmox (debian), на котором запущено несколько контейнеров OpenVZ для общего использования, я собираюсь создать виртуальную машину KVM, однако мне не удается заставить сеть работать для гостевой системы CentOS KVM.

пожалуйста, найдите конфигурацию сети на хосте:

# ifconfig
eth0      Link encap:Ethernet  HWaddr xx:xx:xx:xx:xx:xx
          inet6 addr: fe80::22cf:30ff:fe19:7b67/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:41861518 errors:0 dropped:0 overruns:0 frame:0
          TX packets:23326041 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:16692957938 (xx.x GiB)  TX bytes:16624094064 (xx.x GiB)
          Interrupt:47 Memory:fbfe0000-fc000000

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:1805386 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1805386 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:532155476 (507.5 MiB)  TX bytes:532155476 (507.5 MiB)

vmbr0     Link encap:Ethernet  HWaddr xx:xx:xx:xx:xx:xx
          inet addr:88.xxx.xxx.229  Bcast:88.xxx.xxx.xxx  Mask:255.255.252.0
          inet6 addr: fe80::22cf:30ff:fe19:7b67/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:38116128 errors:0 dropped:0 overruns:0 frame:0
          TX packets:21500108 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:15771625496 (xx.x GiB)  TX bytes:16504698806 (xx.x GiB)

и маршрут от хоста:

# route -n
Kernel IP routing table
Destination     Gateway         Genmask           Flags Metric Ref    Use Iface
88.xxx.xxx.109  0.0.0.0         255.xxx.xxx.xxx   UH    0      0        0 venet0
88.xxx.xxx.0    0.0.0.0         255.xxx.xxx.xxx   U     0      0        0 vmbr0
0.0.0.0         88.xxx.xxx.1    0.0.0.0           UG    0      0        0 vmbr0

На гостевой виртуальной машине CentOS KVM:

#ifconfig
    eth0      Link encap:Ethernet  HWaddr xx:xx:xx:xx:xx:xx
              inet addr:88.xxx.xxx.252  Bcast:88.xxx.xxx.255  Mask:255.255.252.0
              inet6 addr: fe80::22cf:30ff:fe19:7b67/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:38116128 errors:0 dropped:0 overruns:0 frame:0
              TX packets:21500108 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0
              RX bytes:15771625496 (xx.x GiB)  TX bytes:16504698806 (xx.x GiB)

    lo        Link encap:Local Loopback
              inet addr:127.0.0.1  Mask:255.0.0.0
              inet6 addr: ::1/128 Scope:Host
              UP LOOPBACK RUNNING  MTU:16436  Metric:1
              RX packets:1805386 errors:0 dropped:0 overruns:0 frame:0
              TX packets:1805386 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0
              RX bytes:532155476 (507.5 MiB)  TX bytes:532155476 (507.5 MiB)

Маршруты от гостя:

#route -n
Kernel IP routing table
Destination     Gateway       Genmask        Flags Matric  Ref   Use  Iface
88.xxx.xxx.0    0.0.0.0       255.255.252.0  U     0       0     0    eth0
169.254.0.0     0.0.0.0       255.255.0.0    U     0       0     0    eth0
0.0.0.0         88.xxx.xxx.1  0.0.0.0        UG    0       0     0    eth0

пинг от хоста к гостю возвращается с:

# ping 88.xxx.xxx.252
PING 88.xxx.xxx.xxx (88.xxx.xxx.252) 56(84) bytes of data.
From 88.xxx.xxx.229 icmp_seq=1 Destination Host Unreachable
From 88.xxx.xxx.229 icmp_seq=2 Destination Host Unreachable
From 88.xxx.xxx.229 icmp_seq=3 Destination Host Unreachable
--- 88.208.236.252 ping statistics ---
4 packets transmitted, 0 received, +3 errors, 100% packet loss, time 3016ms

Любая помощь будет очень принята!

РЕДАКТИРОВАТЬ Извините, я забыл включить вывод brctl

# brctl show
bridge name     bridge id               STP enabled     interfaces
vmbr0           8000.20cf30197b67       no              eth0

Я не так хорошо разбираюсь в KVM, но, исходя из того, что я знаю, что это правда для Xen, может показаться, что вам не хватает интерфейса на вашем мосту - у вас есть только физический интерфейс хоста, но он также должен перечислить любую сеть устройство, которое ваш гость использует на хосте. Я вижу интерфейс venet0, упомянутый в таблице маршрутизации хоста, не могли бы вы заменить ifconfig на ifconfig -a?

Если venet0 оказывается гостевым интерфейсом, вам, вероятно, следует добавить его в мост, используя brctl addif vmbr0 venet0. Однако имейте в виду, что таблица маршрутизации показывает, что хост считает IP-адрес «на другой стороне» ссылки равным .109, поэтому у вас может быть проблема с конфигурацией прямо здесь, если окажется, что это правильный интерфейс. Хотя удаления маршрута через venet0 должно быть достаточно, если он принадлежит мосту.