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

Гостевая сеть не работает на KVM-сервере Debian Jessie Host с мостовой сетью br0

ГОСТИ сети вообще не работают. Другими словами, гость не может пинговать хост или шлюз локальной сети.

У меня эта настройка работает в других системах с хостом 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 вывод

Linux vmserver 3.14-2-amd64 # 1 SMP Debian 3.14.15-2 (09.08.2014) x86_64 GNU / Linux

Благодаря 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 на тот, который вы используете.