В настоящее время у меня есть 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 должно быть достаточно, если он принадлежит мосту.