Рейтинг:0

QEMU с KVM: невозможно выполнить ping или SSH между хостом и гостевой машиной

флаг kp

Изменить: так как macvtap не работает для связи между хостом и гостем, я пытался использовать мост, но тогда на хосте нет интернета и пинг или же ssh все еще не работает.

Вот как я создал мост:

Соединение nmcli добавить тип моста ifname br0

Вывод:
Соединение «bridge-br0» (bf1406b0-4ea8-4338-9edc-0f58fd019bec) успешно добавлено.


nmcli con add type ethernet con-name br-slave-1 ifname enp0s25 master br0

nmcli con add type ethernet con-name br-slave-1 ifname enp0s25 master br0

nmcli con изменить bridge-br0 bridge.stp нет

Соединение nmcli добавить тип ethernet ifname bridge-br0 ipv4.method auto

Вывод:
Соединение «ethernet-bridge-br0» (6c2c5495-6e43-4cd5-a574-014042987781) успешно добавлено.


После перезагрузки:

nmcli мошенническое шоу

НАЗВАНИЕ UUID ТИП УСТРОЙСТВО  
мост-br0 bf1406b0-4ea8-4338-9edc-0f58fd019bec мост br0     
br-slave-1 a998c09f-5f46-4586-b654-cdfa6a21dca5 ethernet enp0s25 
Ethernet-мост-br0 6c2c5495-6e43-4cd5-a574-014042987781 Ethernet --      
Проводное соединение 1 8559f62b-0cb9-3935-ba65-b6d57c0043c8 Ethernet --      

Теперь, если я отключу бр-раб-1:

nmcli con вниз br-slave-1

Я возвращаю интернет на хост, но тогда нет интернета в гостевой системе, и пинг по-прежнему не работает.:

Так есть ли способ использовать ssh между хостом и гостем при использовании qemu с kvm, используя нмкли или же Графический интерфейс NetworkManager? Большое спасибо.

Примечание: Поскольку мне нужно использовать несколько разных беспроводных сетей, я предпочитаю держаться подальше от сетевой план или же сетевые интерфейсы, поэтому я пытаюсь настроить мост либо с помощью нмкли или же Графический интерфейс NetworkManager.

Исходный пост:

Я пытаюсь подключиться к гостю по SSH с хоста. И хост, и гостевая машина — это Ubuntu MATE 21.04.

Интернет работает нормально как с хоста, так и с гостевой машины.

IP-адреса:

(1) Маршрутизатор: Asus RT AC68U > 192.168.1.1
(2) Хост: Ubuntu MATE 21.04 > 192.168.1.106
(3) Гость: Ubuntu MATE 21.04 > 192.168.1.139

Брандмауэр был отключен/остановлен на всех трех:

(1) Маршрутизатор: Asus RT AC68U > Межсетевой экран SPI > Отключено
(2) Хост: Ubuntu MATE 21.04 > sudo systemctl остановить nftables
(3) Гость: Ubuntu MATE 21.04 > sudo systemctl остановить nftables

Когда я пытаюсь ssh-копия-идентификатор, я получаю эту ошибку: Нет маршрута к хосту

ssh-копия-идентификатор [email protected]
/usr/bin/ssh-copy-id: ИНФОРМАЦИЯ: попытка входа с новым ключом (ключами), чтобы отфильтровать уже установленные

/usr/bin/ssh-copy-id: ОШИБКА: ssh: подключиться к хосту 192.168.1.139, порт 22: нет маршрута к хосту

Поэтому я попытался пинг (не работает в любом случае; «хост-гость» или «гость-хозяин»):

пинг 192.168.1.139

PING 192.168.1.139 (192.168.1.139) 56 (84) байт данных.
From 192.168.1.106 icmp_seq=1 Целевой хост недоступен
From 192.168.1.106 icmp_seq=2 Целевой хост недоступен

Однако пинг работает либо от «хоста к маршрутизатору», либо от «гость к маршрутизатору»:

пинг от хоста к роутеру:

пинг 192.168.1.1

PING 192.168.1.1 (192.168.1.1) 56 (84) байт данных.
64 байта из 192.168.1.1: icmp_seq=1 ttl=64 время=0,400 мс
64 байта из 192.168.1.1: icmp_seq=2 ttl=64 время=0,339 мс

пинг от гостя к роутеру:

пинг 192.168.1.1

PING 192.168.1.1 (192.168.1.1) 56 (84) байт данных.
64 байта из 192.168.1.1: icmp_seq=1 ttl=64 время=0,651 мс
64 байта из 192.168.1.1: icmp_seq=2 ttl=64 время=0,625 мс

Хост и гостевые машины соединены через сетевой мост бр0, который я создал с помощью графического интерфейса Netwrok Manager. Мост бр0 иметь два «мостовых соединения», бр0 раб 1 и бр0 раб 2.

Включить STP (протокол связующего дерева). является «непроверенным». Хотя это не имело никакого значения, даже я "проверил".

Дополнительные детали, которые, я думаю, будут полезны:

sudo nano /etc/libvirt/qemu/networks/host-bridge.xml

<сеть>
  <name>хост-мост</name>
  <uuid>0ae7be62-9f9e-4346-9309-88985dd0f5ad</uuid>
  <прямой режим='мост'/>
  <имя моста='br0'/>
</ сеть>


virsh net-list --all

 Имя Состояние Автозапуск Постоянное
---------------------------------------------
 хост-мост активен да да

Результаты IP а и ip р на хост-машине:

IP а

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    ссылка/петля 00:00:00:00:00:00 брд 00:00:00:00:00:00
    инет 127.0.0.1/8 область хоста lo
       valid_lft навсегда
2: enp0s25: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel состояние UP группа по умолчанию qlen 1000
    ссылка/эфир e0:69:95:4d:7c:9c brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.106/24 brd 192.168.1.255 область глобальная динамическая noprefixroute enp0s25
       valid_lft 599784sec предпочитаемый_lft 599784sec
    inet 192.168.1.104/24 brd 192.168.1.255 область глобальная вторичная noprefixroute enp0s25
       valid_lft навсегда
3: wlxd0374547816a: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq состояние DOWN группа по умолчанию qlen 1000
    ссылка/эфир d0:37:45:47:81:6a brd ff:ff:ff:ff:ff:ff
4: br0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    ссылка/эфир 96:d5:ab:3c:a7:e8 brd ff:ff:ff:ff:ff:ff
7: macvtap2@enp0s25: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 500
    ссылка/эфир 52:54:00:1f:6a:cd brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.140/24 brd 192.168.1.255 глобальная область действия noprefixroute macvtap2
       valid_lft навсегда

ip р       

по умолчанию через 192.168.1.1 dev enp0s25 proto dhcp src 192.168.1.104 метрика 202 
по умолчанию через 192.168.1.1 dev macvtap2 proto dhcp src 192.168.1.140 метрика 207 
169.254.0.0/16 dev macvtap2 метрика ссылки на область видимости 1000 
192.168.1.0/24 dev enp0s25 proto dhcp scope link src 192.168.1.104 метрика 202 
192.168.1.0/24 dev macvtap2 proto dhcp scope link src 192.168.1.140 метрика 207 

Результаты IP а и ip р на гостевой машине:

IP а

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    ссылка/петля 00:00:00:00:00:00 брд 00:00:00:00:00:00
    инет 127.0.0.1/8 область хоста lo
       valid_lft навсегда
    inet6 :: 1/128 узел области видимости 
       valid_lft навсегда
2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel состояние UP группа по умолчанию qlen 1000
    ссылка/эфир 52:54:00:1f:6a:cd brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.139/24 brd 192.168.1.255 область глобальная динамическая noprefixroute enp2s0
       valid_lft 603989 сек. selected_lft 603 989 сек.
    inet6 fe80::d316:3db7:9af5:8d0c/64 ссылка на область видимости noprefixroute 
       valid_lft навсегда

ip р

по умолчанию через 192.168.1.1 dev enp2s0 proto dhcp metric 100 
169.254.0.0/16 dev enp2s0 метрика ссылки области действия 1000 
192.168.1.0/24 dev enp2s0 ссылка на область ядра proto src 192.168.1.139 метрика 100 

Сведения о сетевой карте (из диспетчера виртуальных машин) гостевой машины:

Виртуальный сетевой интерфейс:

Сетевой источник: устройство Macvtap
Имя устройства: enp0s25
Модель устройства: виртио

XML:
<тип интерфейса="прямой">
  <mac-адрес="52:54:00:1f:6a:cd"/>
  <source dev="enp0s25" режим="мост"/>
  <целевой разработчик="macvtap2"/>
  <тип модели="virtio"/>
  <псевдоним имя="net0"/>
  <address type="pci" domain="0x0000" bus="0x02" slot="0x00" function="0x0"/>
</интерфейс>

ОС: Ubuntu MATE 21.04

кему: 1:5.2+dfsg-9ubuntu3

бридж-утилиты: 1.6-5ubuntu1

вирт-менеджер: 1:3.2.0-3

libvirt-демон: 7.0.0-2ubuntu2

Заранее большое спасибо.

Редактировать-1:

brctl показать br0

имя моста идентификатор моста интерфейсы с поддержкой STP
br0 8000.96d5ab3ca7e8 нет      
user535733 avatar
флаг cn
Кажется идентичным https://superuser.com/questions/349253/guest-and-host-cannot-see-each-other-using-linux-kvm-and-macvtap.
Doug Smythies avatar
флаг gn
что вы получаете за `brctl show br0`. `enp0s25`, кажется, связан с `br0`, и я ожидал, что br0 будет иметь IP-адрес, а не enp0s25. Ваше устройство Macvtap кажется независимым, удалите его.
Jags avatar
флаг kp
@doug-smythies только что добавил информацию. Кроме того, необходимо ли удалять Macvtap... потому что я не уверен, но возможно ли, что он может понадобиться для другой виртуальной машины? Спасибо.
Jags avatar
флаг kp
@user535733 user535733 Я просматриваю ветку, на которую вы ссылаетесь, но это длинная ветка 10-летней давности, и пока, на первый взгляд, я не нашел решения, которое применимо в моем случае. Спасибо.
Doug Smythies avatar
флаг gn
Все, что я могу сказать, это то, что я не использую Macvtap и запускаю множество виртуальных машин одновременно. Я ожидал, что ваш интерфейс enp0s25 будет подключен к br0, но это не так.
user535733 avatar
флаг cn
Из ветки суперпользователя: «* macvtap не работает для связи между хостом и гостевой сетью *». Это ваша проблема. Все эти ответы являются обходными путями к этому ограничению macvlan/macvtap. Если вы хотите соединить хост и гостя, одно простое и легкое в обслуживании решение — заранее потратить время на настройку *настоящего* моста.
Jags avatar
флаг kp
@user535733 user535733, когда я изначально устанавливал qemu/kvm, мостовая сеть не работала, поэтому я использовал `macvtap`. Я думаю, что у меня правильно настроен мост, но независимо от того, какой приоритет я изменил, `NetworkManager` повторно подключается между `Wired connection 1` и `enp0s25`. Даже когда я пробовал это из терминального соединения `nmcli up ` и `nmcli подключение вверх
Jags avatar
флаг kp
@user535733 user535733 принял ответ в теме, на которую вы ссылаетесь, никаких подробностей нет. Была ссылка на другую страницу с подробным решением, но она не работает, и это также упоминалось другими в этой теме.Ссылка на эту статью: `https://wiki.libvirt.org/page/Guest_can_reach_outside_network%2C_but_can%27t_reach_host_%28macvtap%29` Еще раз спасибо.
Doug Smythies avatar
флаг gn
покажи нам свой файл интерфейса netplan. Мой называется `/etc/netplan/01-netcfg.yaml`. Примечание. Я не использую `NetworkManager`, поэтому, возможно, для него все по-другому.
Рейтинг:0
флаг gn

I would have expected your VM's to use your bridge, br0 for the communication method desired. I am running 3 VM's and get:

doug@s19:~$ brctl show br0
bridge name     bridge id               STP enabled     interfaces
br0             8000.3c7c3f0d9983       no              enp3s0
                                                        vnet0
                                                        vnet1
                                                        vnet2

And on the host:

doug@s19:~$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master br0 state UP group default qlen 1000
    link/ether 3c:7c:3f:0d:99:83 brd ff:ff:ff:ff:ff:ff
3: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 3c:7c:3f:0d:99:83 brd ff:ff:ff:ff:ff:ff
    inet 192.168.111.136/24 brd 192.168.111.255 scope global dynamic br0
       valid_lft 45219sec preferred_lft 45219sec
4: vnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br0 state UNKNOWN group default qlen 1000
    link/ether fe:54:00:22:2f:dc brd ff:ff:ff:ff:ff:ff
5: vnet1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br0 state UNKNOWN group default qlen 1000
    link/ether fe:54:00:60:ea:3e brd ff:ff:ff:ff:ff:ff
6: vnet2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br0 state UNKNOWN group default qlen 1000
    link/ether fe:54:00:60:ea:5e brd ff:ff:ff:ff:ff:ff

with my netplan network file, /etc/netplan/01-netcfg.yaml:

# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: no
  bridges:
    br0:
      interfaces: [ enp3s0 ]
      dhcp4: yes

And the related section of one of the VM's .xml definition file:

<interface type='bridge'>
  <mac address='52:54:00:22:2f:dc'/>
  <source bridge='br0'/>
  <model type='virtio'/>
  <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
</interface>
Jags avatar
флаг kp
Я не использую и стараюсь не использовать «сетевой план» и/или «сетевые интерфейсы». Я пытаюсь создать и использовать мост с помощью `nmcli` или `NetworkManager GUI`. Я прошел 15-20 руководств/потоков. Потратив более 4 часов, однажды я смог подключить ГОСТЕВУЮ машину к `br0`, но затем потерял интернет на ХОСТЕ, а `пинг` от гостя к хосту или наоборот все еще не работал :(
Jags avatar
флаг kp
Я уже опубликовал свою конфигурацию моста с вопросом: `nano /etc/libvirt/qemu/networks/host-bridge.xml` Спасибо.
Doug Smythies avatar
флаг gn
ваш `host-bridge.xml` такой же, как у меня. Сетевой менеджер просто становится рендерером для netplan, не так ли?
Jags avatar
флаг kp
я полагаю, да. Мой проводной интернет иногда отключается от нескольких часов до целого дня, поэтому мне нужно, чтобы NetworkManager часто переключался между беспроводными сетями (3 телефонные точки доступа) ... или я бы выбрал «сетевой план» или «сетевые интерфейсы».

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.