Мост Proxmox vmbr0 не переключается. Почему?

Я пытаюсь понять, почему сетевая конфигурация Proxmox «по умолчанию» ведет себя не так, как я ожидаю.

У меня есть:

  • сервер Proxmox (10.0.40.10)
  • сетевой мост (vmbr0), созданный Proxmox по умолчанию
  • виртуальная машина (10.0.40.20), подключенная к vmbr0 (назовем ее VM1)
  • виртуальная машина (10.0.40.25), подключенная к vmbr0 (назовем ее VM2)
  • шлюз (10.0.40.254), настроенный на vmbr0

Когда я выполнил HTTP-передачу (GET) на VM2 от VM1, скорость, которую я наблюдал, указывала на то, что трафик покидал хост Proxmox, направлялся к шлюзу и возвращался обратно к хост Proxmox.

И ВМ1, и ВМ2 подключены к vmbr0, поэтому я ожидал, что vmbr0 будет "переключаться" между двумя ВМ на основе MAC/ARP, и что трафик будет оставаться полностью локальными (и быть на один или два порядка быстрее).

Когда я запускаю ping с VM2 на VM1, я наблюдаю это:

[root@vm2 ~]# ping -c 5 10.0.40.20
PING 10.0.40.20 (10.0.40.20) 56(84) bytes of data.
64 bytes from 10.0.40.20: icmp_seq=1 ttl=64 time=0.485 ms
From 10.0.40.254 icmp_seq=1 Redirect Host(New nexthop: 10.0.40.20)
64 bytes from 10.0.40.20: icmp_seq=2 ttl=64 time=0.609 ms
From 10.0.40.254 icmp_seq=2 Redirect Host(New nexthop: 10.0.40.20)
64 bytes from 10.0.40.20: icmp_seq=3 ttl=64 time=0.598 ms

--- 10.0.40.20 ping statistics ---
3 packets transmitted, 3 received, +2 errors, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 0.485/0.564/0.609/0.056 ms

Запуск traceroute показывает:

[root@vm2 ~]# traceroute -I 10.0.40.20
traceroute to 10.0.40.20 (10.0.40.20), 30 hops max, 60 byte packets
 1  gateway (10.0.40.254)  0.328 ms  0.308 ms  0.393 ms
 2  10.0.40.20 (10.0.40.20)  0.472 ms  0.481 ms  0.533 ms

Конфигурация vmbr0 выглядит так:

vmbr0

Определение сети для ВМ1:

vm1

Определение сети для VM2:

vm2

Это кажется таким фундаментальным вариантом использования, кажется, что я что-то упускаю.

Кто-нибудь знает, верны ли мои ожидания или это правильное поведение для vmbr0? Что-то выглядит неправильно? Нужно ли мне что-то вроде Proxy ARP или встроенного виртуального маршрутизатора для решения такого простого варианта использования?


person brettw    schedule 27.07.2018    source источник


Ответы (1)


Решено: IP-адреса некоторых виртуальных машин были настроены как /32, а не /24, например. 10.0.40.25/32 вместо 10.0.40.25/24, и поэтому не считали себя в той же подсети, что и их пиры, и трафик отправлялся по маршруту по умолчанию.

person brettw    schedule 01.08.2018