ГОСТИ сети вообще не работают. Другими словами, гость не может пинговать хост или шлюз локальной сети.
У меня эта настройка работает в других системах с хостом centos, но я новичок в debian и не уверен, что я, возможно, забыл сделать.
Сеть хоста, кажется, работает нормально, у eth0 больше нет IP, а у br0 есть IP, который был у eth0. Команда brctl show показывает br0 с порабощенным eth0, когда гости выключены, а когда гость включен, показывает и eth0, и vnet0
Я ПРОСТО ДОЛЖЕН РАБОТАТЬ, просто переключившись с VIRTIO на сетевой интерфейс RTL, что равносильно выбору «гипервизора по умолчанию». Также вывод lsmod | grep virtio
virtio_pci 17389 0
virtio_net 26553 0
virtio_blk 17341 0
virtio_ring 17469 3 virtio_blk,virtio_net,virtio_pci
virtio 13058 3 virtio_blk,virtio_net,virtio_pci
Мне пришлось вручную добавить virtio с помощью modprobe virtio, но это все равно не устранило проблему. Я не перезагружался после добавления модулей ядра с помощью modprobe virtio и т. Д., Но я перезапустил libvirtd и virt-manager
Он работает правильно, но не с virtio. Есть ли потенциальная проблема с ядром? как мне проверить конфигурацию ядра, это debian Jessie с uname -a
вывод
Благодаря mase. за очистку моего первого поста. Я только что заметил, что папка / sys / devices / virtio не существует на гостевой машине, но / sys / devices / virtual / net / lo существует, но нет / sys / devices / virtual / net / eth0
ifconfig на «гостевой» centos 6.4 показывает, что eth0 получил 0 байтов RX, но 14 КБ TX, поэтому я предполагаю, что он не получает никакой связи. Я не отказываюсь от простого, но я не ожидал восстановления ядер с нуля как на гостевой, так и на хост-системе.
Кажется, я разобрался с проблемой. Для диагностики я установил гостевую систему Windows и установил драйверы Windows virtio. Мне удалось использовать сеть virtio в Windows, поэтому проблема связана с гостевыми ядрами Linux или драйверами ядра, так как в гостевой системе Linux были загружены модули ядра virtio pci / block и т. Д., Возможно, ядро требует перекомпиляции. Так что со стороной "ХОЗЯИН" все было в порядке.
Кроме того, я должен указать в своем исследовании, что меня раздражало то, что люди всегда давали советы по виртуализации, не уточняя, имеют ли они в виду ГОСТЬ или ХОЗЯИН, на самом деле из-за этого есть много путаницы, когда люди загружают модули ядра virtio на хосте, а не на гостевом компьютере и т. д. (у меня они были загружены на обоих, без необходимости на хосте ... но в любом случае не имеет значения, не решает мою проблему, кажется, мне придется перекомпилируйте ядро Linux на моем гостевом Linux centos.)
Вы включили маскарадинг в iptables?
Проверить с
iptables -L -t nat
Вы должны увидеть что-то вроде:
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- 10.0.0.0/24 !10.0.0.0/24
Если вы не видите MASQUERADE в своих iptables, вы можете разрешить его, используя:
iptables -t nat -A POSTROUTING -s 10.0.0.0/24 ! -d 10.0.0.0/24 -j MASQUERADE
Конечно, замените диапазон IP на тот, который вы используете.