2016-01-20 5 views
0

Добрый день,Port Forwarding для OpenStack Инстансы

Сегодня я стремлюсь быть перенаправлять весь входящий и исходящий трафик от частного IP моего BareMetal Instance к IP первоначально заданной в DevStack во время установки.

OpenStack BareMetal Cloud Setup

Как я пришел к этой ситуации? Я работаю с средой OpenStack, где я могу развернуть BareMetal Instance (Floating IP: XXX.YYY.88.171, Private IP: 10.140.82.189 [On eth0]). Изображение, используемое для вращения этого экземпляра, - Ubuntu 14.04 с установленным DevStack/Master. Снимок для этого изображения с установленным на нем DevStack был первоначально создан на BareMetal с локальным IP: 10.140.82.125 [On eth0]. Поэтому теперь, когда вы используете этот раскручивающий экземпляр с этим изображением, среда Baremetal OpenStack назначает частный IP (в данном случае 10.140.82.189), отличный от IP, содержащегося во всех конечных точках DevStack (10.140.82.125).

Это, как вы можете себе представить, дает нам массу проблем.

Два лучших подхода к решению этой проблемы, что я могу думать, являются:

  1. Изменение всех DevStack конечных точек от 10.140.82.125 до 10.140.82.189 (Есть много вопросов для рассмотрения на каждом обновлении по следующему маршруту)

  2. Пересылка всего трафика с 10.140.82.189 по 10.140.82.125 для каждой конечной точки.

Мой прогресс:

Сначала я даже не был в состоянии получить доступ к горизонту панель (даже, хотя он отображается при вводе в браузере), который по сути будет следовать:

XXX .YYY.88.171 -> 10.140.82.189:8800 -> 10.140.82.125:8800

По какой-то причине это отображает приборную панель «Экран» Horizon. Когда я набрал свое имя пользователя и пароль, я вернусь с

Невозможно установить соединение с конечной точкой трапецеидального искажения.

В терминале, где я SSH к 10.140.82.189, если я прошу:

openstack catalog list 
Unable to establish connection to http://10.140.82.125:5000/v2.0/tokens 

Таким образом, кажется, что 10.140.82.189 несет в своем API называют его IP и запрашивающий трапецию знамением на 10.140 .82.125: 5000. Из-за несоответствия IP-адресов возникает проблема, и я не могу войти в систему.

Я продолжал выполнять небольшое перенаправление портов, выполнив следующие действия:

sudo ip addr add 10.140.82.125/22 dev eth0 

sudo iptables -t nat -A PREROUTING -d 10.140.82.189 -j DNAT --to-destination 10.140.82.125 

sudo iptables -t nat -A POSTROUTING -s 10.140.82.125 -j SNAT --to-source 10.140.82.189 

Теперь я могу войти в мили счет и получить конечные точки в терминале. К сожалению, внутри горизонта не выводится информация из nova (http://10.140.82.125:8774) или любой другой услуги.Попытка раскрутки экземпляра в среде DevStack дает мне следующее:

Error: Failed to get network list Connection to neutron failed: HTTPConnectionPool(host='10.140.82.125', port=9696): Max retries exceeded with url: //v2.0/networks.json?shared=False&tenant_id=bec332d4b9e6415cae0f51bb3e0de720 (Caused by NewConnectionError('<requests.packages.urllib3.connection.HTTPConnection object at 0x7fd168377b90>: Failed to establish a new connection: [Errno 111] Connection refused',)) 

Список конечных точек: Указаны в Комментарии

я продолжаю получать ошибки повсюду. В качестве примера (с использованием экрана на devstack):

На взгляд-реестра:

2016-01-20 06:09:23.173 DEBUG eventlet.wsgi.server [-] (8212) accepted ('10.140.82.189', 38273) from (pid=8212) server /usr/local/lib/python2.7/dist-packages/eventlet/wsgi.py:826 

Нейтрон-SVC (кв-SVC)

2016-01-20 06:17:30.581 WARNING neutron.db.agents_db [req-48ebcdf0-126c-4dfb-b3b2-f4b48ec9704a None None] Agent healthcheck: found 4 dead agents out of 4: 
      Type  Last heartbeat host 
     DHCP agent 2016-01-13 19:08:16 gonzalo-devstack-ss 
     L3 agent 2016-01-13 19:08:08 gonzalo-devstack-ss 
    Metadata agent 2016-01-13 19:07:51 gonzalo-devstack-ss 
Open vSwitch agent 2016-01-13 19:08:16 gonzalo-devstack-ss 
2016-01-20 06:17:32.319 ERROR oslo.messaging._drivers.impl_rabbit [-] AMQP server 10.140.82.125:5672 closed the connection. Check login credentials: Socket closed 

д-АГТ:

2016-01-20 06:19:14.308 ERROR oslo.messaging._drivers.impl_rabbit [-] AMQP server 10.140.82.125:5672 closed the connection. Check login credentials: Socket closed 

И я мог продолжать идти. Какова будет рекомендация по продвижению?

+0

Конечные точки DevStack [ссылка] (http://paste.openstack.org/show/484373/) –

ответ

0

Предлагаемый подход невозможен, если вы не создаете дополнительный API-интерфейс «traducer», который заменяет старый IP новым IP-адресом и старым именем хоста новым именем хоста.

Решение этой проблемы заключается в том, чтобы полностью заменить предыдущий IP новым IP-адресом и именем предыдущего хоста новым именем хоста. Это необходимо сделать в/etc и/opt/stack в дополнение к информации, содержащейся во всех таблицах баз данных mysql.