Рейтинг:0

Как включить внешний доступ к виртуальной машине по приватной ссылке?

флаг cn

Я хотел бы протестировать виртуальную сеть KVM-QEMU. Для этого я соединяю два сервера (сервер 1 и сервер 2) одним проводом. Я использую сервер 1 для запуска виртуальной машины QEMU и хочу получить доступ к этой виртуальной машине с сервера 2.
Вот обзор конфигурации.

           o ens5f0 (ip-адрес 192.168.11.12/24)
           |
           | (сервер 2)
 ------------------------- (Граница хоста/сети)
           "
           "
 ------------------------- (Граница хоста/сети)
           | (сервер 1)
           |
           о ens5f0 
           |
           о бр0. (ip 192.168.11.11/24)
           |
 ------------------------- (Граница ВМ/Хоста)
           | (гость)
           |
           о (enp0s2) внутри ВМ
             (ip 192.168.11.77/24 (от DHCP))

Я следовал документации здесь. Настраиваю бридж на сервер 1 и добавляю интерфейс ens5f0 к этому.

сервер 1
---------------------
IP-ссылка добавить мост типа br0
набор IP-ссылок ens5f0 master br0
IP-адрес flash dev ens5f0
IP-адрес добавить 192.168.11.11/24 dev br0
ip link set dev br0 up
dnsmasq --interface=br0 --bind-interfaces --dhcp-range=192.168.11.12,192.168.11.254
ip link set dev ens5f0 up

Затем я запускаю QEMU с помощью следующей команды.

сервер 1
---------------------
qemu-система-x86_64 \                                                                                                         
   -initrd initrd.img-5.4.0-84-общий \                                                                                     
   -kernel vmlinuz-5.4.0-84-универсальный \                                                                                        
   -nographic -monitor нет -serial stdio\                                                                                   
   -append 'root=/dev/vda1 console=ttyS0' \                                                                                  
   -машина q35 -хост процессора \                                                                                                  
   -drive "file=${disk_img_snapshot},format=qcow2,if=virtio" \                                                               
   -nic мост, br = br0, модель = virtio-net-pci \                                                                                 
   -включить-квм \                                                                                                             
   -м 2G \                                                                                                                  
   -smp 4 \                                                                                                                 
;  

Внутри виртуальной машины интерфейс enp0s2 получает IP-адрес 192.168.11.77/24.

ВМ
--------------------
~$ sudo IP-адрес показать enp0s2
2: enp0s2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel состояние UP группа по умолчанию qlen 1000                                  
    ссылка/эфир 52:54:00:12:34:56 брд ff:ff:ff:ff:ff:ff
    inet 192.168.11.77/24 brd 192.168.11.255 область глобальная динамическая noprefixroute enp0s2                                                 
       valid_lft 3531 сек. предпочитаемый_lft 3531 сек.

пинг команда имеет доступ к этому IP-адресу с сервера 1, а IP-адрес 192.168.11.11 также доступен с виртуальной машины.

На втором сервере я настраиваю IP-адрес статическим и равным 192.168.11.12/24.

сервер 2
------------------------
$ IP-адрес добавить 192.168.11.12/24 dev ens5f0

$ пинг 192.168.11.11
PING 192.168.11.11 (192.168.11.11) 56 (84) байт данных.
64 байта от 192.168.11.11: icmp_seq=1 ttl=64 время=0,327 мс
64 байта от 192.168.11.11: icmp_seq=2 ttl=64 время=0,153 мс

Проблема в том, что IP-адрес 192.168.11.77 не может быть достигнут с сервера 2, и виртуальная машина не может пропинговать сервер 2. Как я могу включить внешний доступ к виртуальной машине по этой ссылке?

Рейтинг:0
флаг sg

Вы можете запустить tcpdump -i br0, чтобы увидеть, что на маршруте.

флаг ph
Немного больше объяснений того, как это отвечает на вопрос, улучшит ответ

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

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