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

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

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

nmcli connection add type bridge ifname br0

Output:
Connection 'bridge-br0' (bf1406b0-4ea8-4338-9edc-0f58fd019bec) successfully added.


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 modify bridge-br0 bridge.stp no

nmcli connection add type ethernet ifname  bridge-br0  ipv4.method auto

Output:
Connection 'ethernet-bridge-br0' (6c2c5495-6e43-4cd5-a574-014042987781) successfully added.


After reboot:

nmcli con show

NAME                       UUID                                  TYPE      DEVICE  
bridge-br0                 bf1406b0-4ea8-4338-9edc-0f58fd019bec  bridge    br0     
br-slave-1                 a998c09f-5f46-4586-b654-cdfa6a21dca5  ethernet  enp0s25 
ethernet-bridge-br0        6c2c5495-6e43-4cd5-a574-014042987781  ethernet  --      
Wired connection 1         8559f62b-0cb9-3935-ba65-b6d57c0043c8  ethernet  --      

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

nmcli con down br-slave-1

, я верну Интернет на хост, но тогда на гостевой системе нет интернета, и ping по-прежнему не работает :

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

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

Исходное сообщение :

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

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

IP-адреса:

(1) Router: Asus RT AC68U > 192.168.1.1
(2) Host: Ubuntu MATE 21.04 > 192.168.1.106
(3) Guest: Ubuntu MATE 21.04 > 192.168.1.139

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

(1) Router: Asus RT AC68U > SPI Firewall > Disabled
(2) Host: Ubuntu MATE 21.04 > sudo systemctl stop nftables
(3) Guest: Ubuntu MATE 21.04 > sudo systemctl stop nftables

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

ssh-copy-id admn@192.168.1.139
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed

/usr/bin/ssh-copy-id: ERROR: ssh: connect to host 192.168.1.139 port 22: No route to host

Итак, я попытался пинговать (ни в коем случае не работает; «от хоста к гостю» или «от гостя к хосту»):

ping 192.168.1.139

PING 192.168.1.139 (192.168.1.139) 56(84) bytes of data.
From 192.168.1.106 icmp_seq=1 Destination Host Unreachable
From 192.168.1.106 icmp_seq=2 Destination Host Unreachable

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

ping от хоста к маршрутизатору:

ping 192.168.1.1

PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0.400 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=0.339 ms

ping от гостя к маршрутизатору:

ping 192.168.1.1

PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0.651 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=0.625 ms

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

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

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

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

<network>
  <name>host-bridge</name>
  <uuid>0ae7be62-9f9e-4346-9309-88985dd0f5ad</uuid>
  <forward mode='bridge'/>
  <bridge name='br0'/>
</network>


virsh net-list --all

 Name          State    Autostart   Persistent
------------------------------------------------
 host-bridge   active   yes         yes

Результаты ] ip a и ip r на хост-машине:

ip a

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: enp0s25: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether e0:69:95:4d:7c:9c brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.106/24 brd 192.168.1.255 scope global dynamic noprefixroute enp0s25
       valid_lft 599784sec preferred_lft 599784sec
    inet 192.168.1.104/24 brd 192.168.1.255 scope global secondary noprefixroute enp0s25
       valid_lft forever preferred_lft forever
3: wlxd0374547816a: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether 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
    link/ether 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
    link/ether 52:54:00:1f:6a:cd brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.140/24 brd 192.168.1.255 scope global noprefixroute macvtap2
       valid_lft forever preferred_lft forever

ip r       

default via 192.168.1.1 dev enp0s25 proto dhcp src 192.168.1.104 metric 202 
default via 192.168.1.1 dev macvtap2 proto dhcp src 192.168.1.140 metric 207 
169.254.0.0/16 dev macvtap2 scope link metric 1000 
192.168.1.0/24 dev enp0s25 proto dhcp scope link src 192.168.1.104 metric 202 
192.168.1.0/24 dev macvtap2 proto dhcp scope link src 192.168.1.140 metric 207 

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

ip a

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
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 52:54:00:1f:6a:cd brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.139/24 brd 192.168.1.255 scope global dynamic noprefixroute enp2s0
       valid_lft 603989sec preferred_lft 603989sec
    inet6 fe80::d316:3db7:9af5:8d0c/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

ip r

default via 192.168.1.1 dev enp2s0 proto dhcp metric 100 
169.254.0.0/16 dev enp2s0 scope link metric 1000 
192.168.1.0/24 dev enp2s0 proto kernel scope link src 192.168.1.139 metric 100 

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

Virtual Network Interface:

Network source: Macvtap device
Device name: enp0s25
Device model: virtio

XML:
<interface type="direct">
  <mac address="52:54:00:1f:6a:cd"/>
  <source dev="enp0s25" mode="bridge"/>
  <target dev="macvtap2"/>
  <model type="virtio"/>
  <alias name="net0"/>
  <address type="pci" domain="0x0000" bus="0x02" slot="0x00" function="0x0"/>
</interface>

ОС: Ubuntu MATE 21.04

qemu: 1: 5.2 + dfsg-9ubuntu3

bridge-utils: 1.6-5ubuntu1

virt-manager: 1: 3.2.0-3

libvirt-daemon: 7.0.0-2ubuntu2

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

Edit-1:

brctl show br0

bridge name bridge id       STP enabled interfaces
br0     8000.96d5ab3ca7e8   no      
0
задан 19 July 2021 в 22:30

1 ответ

Я бы ожидал, что ваши ВМ будут использовать ваш мост, br0 для желаемого метода связи. Я запускаю 3 ВМ и получаю:

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

И на хосте:

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

с моим сетевым файлом netplan, /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

И соответствующий раздел одного из файлов определения .xml ВМ:

<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>
0
ответ дан 28 July 2021 в 11:18

Другие вопросы по тегам:

Похожие вопросы: