OpenStack Neutron Floating Ip: различия между версиями
Sirmax (обсуждение | вклад) (→=) |
Sirmax (обсуждение | вклад) |
||
Строка 51: | Строка 51: | ||
<BR> |
<BR> |
||
===Просмотр таблицы <code>arp</code> на маршрутизаторе === |
===Просмотр таблицы <code>arp</code> на маршрутизаторе === |
||
+ | |||
+ | В качестве маршрутизатора в этом (тестовом!) окружении выступает устройство <code>Mikrotik RB4011iGS+5HacQ2HnD (RouterOS 7.4)</code> |
||
+ | <BR> |
||
+ | (это не типичная инсталляция, для других случаев маршрутизатор скорее всего окажется другого производителя) |
||
+ | |||
+ | <BR> |
||
+ | <BR> |
||
+ | Просматриваем таблицу arp-записей (с поиском по ip=10.72.10.124) |
||
+ | |||
+ | <code>[admin@RB4011iGS+5HacQ2HnD] > /ip/arp/print where address=10.72.10.124</code> |
||
+ | <PRE> |
||
+ | Flags: D, P - PUBLISHED; C - COMPLETE |
||
+ | Columns: ADDRESS, MAC-ADDRESS, INTERFACE |
||
+ | # ADDRESS MAC-ADDRESS INTERFACE |
||
+ | 0 DC 10.72.10.124 FA:16:3E:40:32:D5 bridge-mosk-vlan-729-ch-os-fl |
||
+ | </PRE> |
||
+ | Из этого вывода можно видеть что |
||
+ | * мак-адрес хоста <cod>10.72.10.124</code> известен роутеру: <code>FA:16:3E:40:32:D5 </code> |
||
+ | * этот адрес изучен на физическом интерфейсе <code>bridge-mosk-vlan-729-ch-os-fl</code> |
||
+ | * |
||
+ | <PRE> |
||
+ | /ip/address/print where interface=bridge-mosk-vlan-729-ch-os-fl |
||
+ | Columns: ADDRESS, NETWORK, INTERFACE |
||
+ | # ADDRESS NETWORK INTERFACE |
||
+ | 0 10.72.10.1/24 10.72.10.0 bridge-mosk-vlan-729-ch-os-fl |
||
+ | </PRE> |
||
+ | |||
+ | |||
+ | <PRE> |
||
+ | [admin@RB4011iGS+5HacQ2HnD] > /ip/arp/print where mac-address=FA:16:3E:40:32:D5 |
||
+ | Flags: D, P - PUBLISHED; C - COMPLETE |
||
+ | Columns: ADDRESS, MAC-ADDRESS, INTERFACE |
||
+ | # ADDRESS MAC-ADDRESS INTERFACE |
||
+ | 0 DC 10.72.10.124 FA:16:3E:40:32:D5 bridge-mosk-vlan-729-ch-os-fl |
||
+ | 1 DC 10.72.10.27 FA:16:3E:40:32:D5 bridge-mosk-vlan-729-ch-os-fl |
||
+ | </PRE> |
Версия 11:02, 13 апреля 2023
Как трафик попадает из внешнего мира на VM в OpenStack
Этот документ описывает как трафик из внешнего мира доходит до виртуальных машин в OpenStack (один из возможных вариантов реализации).
Описание окружения
Окружение с установленным OpenStack состоит из 3 Control Nodes и они же совмещают роль Network Node, и одной Compute Node (минимально-возможное количество)
Для получения трафика из-вне используется интерфейс с именем floating
(имя может быть выбрано произвольно)
Исследование пути трафика
В окружении (для простоты) запущен один единственный инстанс, у которого Floating IP 10.72.10.124
os server list
+--------------------------------------+--------------------------+--------+----------------------------------------+------------+--------------------+ | ID | Name | Status | Networks | Image | Flavor | +--------------------------------------+--------------------------+--------+----------------------------------------+------------+--------------------+ | 795dc7f8-15b4-4b5d-9f8d-c40f178467f7 | test-cirros-vm-on-nvme-1 | ACTIVE | lb-mgmt-net=10.255.4.184, 10.72.10.124 | Cirros-5.1 | m1.nano.vm-on-nvme | +--------------------------------------+--------------------------+--------+----------------------------------------+------------+--------------------+
Сеть для floating Ips (10.72.10.0/24) настроена на маршрутизаторе в Vlan 729, и этот Vlan приходит в интерфейс с именем floating
на каждой из Controller/Network nodes
Шлюзом для Floating сети выступает внешний по отношению к OpenStack маршрутизатор.
С тестового ноутбука до виртуальной машины маршрут выглядит так:
Keys: Help Display mode Restart statistics Order of fields quit Packets Pings Host Loss% Snt Last Avg Best Wrst StDev 1. 192.168.33.1 0.0% 6 2.0 1.7 1.5 2.0 0.2 2. 10.72.10.124 0.0% 5 2.2 2.1 1.7 2.4 0.3
Определени через какую Network (Control/Network) ноду пойдет трафик
Из маршрута можно сделать следующие выводы:
- так как 192.168.33.1 -это адрес шлюза по-умолчанию для ноутбука с которого делается трассировка маршрута, а адрес VM
10.72.10.124
уже следующий в трассировке, то можно предположить что этот маршрутизатор и выступает шлюзом для floating сеть 10.72.10.0/24 - Если это утверждение верно, то изучив таблицу arp-записей на маршрутизаторе, возможно узнать мак-адрес VM (точнее, мак-адрес с которого уходит трафик от этой VM, этот адрес будет отличаться от того который можно посмотреть командой
ip link show
на самой VM.
В реальной жизни в окружении клиента доступа на роутеры и коммутаторы может не быть и тогда единственный способ понять через какую Compute/Network ноду идет трафик - это использовать tcpdump
Просмотр таблицы arp
на маршрутизаторе
В качестве маршрутизатора в этом (тестовом!) окружении выступает устройство Mikrotik RB4011iGS+5HacQ2HnD (RouterOS 7.4)
(это не типичная инсталляция, для других случаев маршрутизатор скорее всего окажется другого производителя)
Просматриваем таблицу arp-записей (с поиском по ip=10.72.10.124)
[admin@RB4011iGS+5HacQ2HnD] > /ip/arp/print where address=10.72.10.124
Flags: D, P - PUBLISHED; C - COMPLETE Columns: ADDRESS, MAC-ADDRESS, INTERFACE # ADDRESS MAC-ADDRESS INTERFACE 0 DC 10.72.10.124 FA:16:3E:40:32:D5 bridge-mosk-vlan-729-ch-os-fl
Из этого вывода можно видеть что
- мак-адрес хоста <cod>10.72.10.124 известен роутеру:
FA:16:3E:40:32:D5
- этот адрес изучен на физическом интерфейсе
bridge-mosk-vlan-729-ch-os-fl
/ip/address/print where interface=bridge-mosk-vlan-729-ch-os-fl Columns: ADDRESS, NETWORK, INTERFACE # ADDRESS NETWORK INTERFACE 0 10.72.10.1/24 10.72.10.0 bridge-mosk-vlan-729-ch-os-fl
[admin@RB4011iGS+5HacQ2HnD] > /ip/arp/print where mac-address=FA:16:3E:40:32:D5 Flags: D, P - PUBLISHED; C - COMPLETE Columns: ADDRESS, MAC-ADDRESS, INTERFACE # ADDRESS MAC-ADDRESS INTERFACE 0 DC 10.72.10.124 FA:16:3E:40:32:D5 bridge-mosk-vlan-729-ch-os-fl 1 DC 10.72.10.27 FA:16:3E:40:32:D5 bridge-mosk-vlan-729-ch-os-fl