Почему невозможно подключить реальную машину к виртуальной машине внутри openstack

#openstack #devstack

Вопрос:

Я создал виртуальную машину (vm-devstack-01), используя Vagrant и Virtualbox, в которых я установил Devstack. Виртуальная машина имеет интерфейс enp0s3 в режиме NAT и интерфейс enp0s8 в режиме моста. Реальная сеть, которую я использую в своем доме, — 192.168.88.0/24. Эта сеть использует адресацию DHCP.

vm-devstack-01:

введите описание изображения здесь

Я установил FLOATING_RANGE из local.conf на 192.168.88.224/27.

Мой местный.conf:

 [[local|localrc]]
ADMIN_PASSWORD=admin
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD
HOST_IP=192.168.88.43
FLAT_INTERFACE=enp0s8
FLOATING_RANGE=192.168.88.224/27
FIXED_RANGE=10.11.12.0/24
FIXED_NETWORK_SIZE=256
 

Позже я создал виртуальную машину debian (vm-debian-01) на openstack, которая получила плавающий ip 192.168.88.230.

Кроме того, была создана группа безопасности, выпустившая ping:

Ingress IPv4 ICMP Any 0.0.0.0/0

С помощью этой конфигурации можно было выполнить пинг vm-devstack-01 на vm-debian-01, созданный внутри openstack.

свист

Но я не могу выполнить пинг с реальной машины (мой ноутбук — IP 192.168.88.28) на vm-debian-01. Что я делаю не так?

Комментарии:

1. Виновником может быть VirtualBox или мост, созданный VirtualBox. Похоже, он блокирует трафик на адреса, которые неизвестны VirtualBox. Много лет назад у меня тоже была эта проблема. Когда я переключился на идентичную настройку OpenStack на виртуальной машине KVM, проблема исчезла. Вы можете использовать Wireshark и Tcpdump, чтобы узнать, в какой момент трафик заблокирован.

Ответ №1:

Вам нужны определения МАСКАРАДА на вашей хост-машине Openstack. То есть сетевая трансляция пакетов на вашу виртуальную машину. В то же время вам нужна маршрутизация к вашему хосту Openstack из всех других сетей, в которые вы хотите подключиться к виртуальным машинам.

  • Правила маскарада
  • Маршрутизация
  • Правильные настройки группы безопасности в Openstack