Я установил openstack (packstack) на centos 6.4 с нейтроном. OpenStack устанавливается на одну виртуальную машину с помощью vmware.
Сначала я создал внешнюю сеть, используя следующую команду
quantum net-create public --router:external=True
Затем я добавил свою внешнюю сетевую подсеть (пул ip не используется во внешней сети)
Затем я создал роутер
Затем я настроил маршрутизатор на внешнюю сеть.
Я создал группу безопасности, чтобы разрешить использование ssh и icmp.
На втором этапе я создал частную сеть с включенным DHCP
Затем создал интерфейс маршрутизатора и подключил его к моей частной сети.
На третьем шаге я запустил экземпляр с частной сетью
На четвертом шаге я сгенерировал плавающий IP-адрес внешней сети и связал его с экземпляром
Постановка задачи:
Виртуальные машины получают IP-адреса (частные сети) от DHCP и обмениваются данными друг с другом, но на виртуальных машинах нет Интернета.
ВМ не может проверить связь с внешним сетевым устройством.
Я использую Centos 6.4. Ip route показывает
192.168.186.0/24 dev eth1 proto kernel scope link src 192.168.186.166 metric 1
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1
10.16.48.0/22 dev br-ex proto kernel scope link src 10.16.51.208
169.254.0.0/16 dev eth0 scope link metric 1002
169.254.0.0/16 dev br-ex scope link metric 1017
default via 10.16.48.1 dev br-ex
куда 10.16.48.0/22
моя внешняя сеть на eth0 (для интернета)
10.16.186.0/24
это еще один интерфейс на eth1
quantum agent-list
показывает
----+-------+----------------+
| id | agent_type | host | alive | admin_state_up |
+--------------------------------------+--------------------+-----------------------+-------+----------------+
| 4c709a4c-bf0c-4e03-a0f5-2d938fee7ae1 | L3 agent | localhost.localdomain | :-) | True |
| 960a7806-dc4d-4ab1-99b0-a79dbc31600f | Open vSwitch agent | localhost.localdomain | :-) | True |
| d9f545e2-4a6c-43f4-8037-b807cbe27fc5 | DHCP agent | localhost.localdomain | :-) | True |
+--------------------------------------+--------------------+-----------------------+-------+----------------+
Итак, вы создали виртуальный сервер VMWare и в этой виртуальной машине установили OpenStack, на котором размещены виртуальные машины?
Затем виртуальный коммутатор, к которому подключена виртуальная машина VMWare, блокирует любой трафик с ваших виртуальных машин OpenStack. Это мера безопасности, чтобы гарантировать, что только виртуальные машины VMWare могут получить доступ к виртуальному коммутатору и внешней сети. Это проблема уровня 2, я совершенно уверен, что команда arp -an в виртуальных машинах OpenStack не показывает шлюз.
Все, что вам нужно сделать, это разрешить виртуальному коммутатору VMWare получать несколько MAC-адресов.
Вы можете узнать, как это сделать, наэта почта
ИЗМЕНИТЬ ДЛЯ ВАШЕГО КОММЕНТАРИИ:
Я не знаю. Думаю, я знаю, что вы не можете связаться с маршрутизатором и, как следствие, с внешней сетью, даже на уровне 2 (убедитесь, что MAC-адрес не отображается для шлюза при запуске команды arp -an) потому что VSwitch отбрасывает пакеты, MAC-адреса которых не совпадают с адресами сервера OpenStack.
Затем вы можете либо отключить эту функцию в VSwitch, либо установить на свой сервер OpenStack службу ARP-прокси. Идея состоит в том, чтобы подделать MAC-адрес ваших виртуальных машин, который затем появится на VSwitch как сам сервер OpenStack.