Juju неверно конфигурирует нейтронную установку?! Не удается подключиться к экземплярам

Настройка выглядит следующим образом: рабочая станция <-> сервер Maas <-> 3 виртуальных машины - экземпляры

Сервер Maas и виртуальные машины развернуты в vSphere.

Сервер eth1 сервера Maas имеет 10.4.xx, который выступает в роли диспетчера DHCP для виртуальных машин. IP-адрес моей рабочей станции - 10.xxx, и я могу подключиться к серверу Maas и виртуальной машине через ssh. У меня есть один выделенный вычислительный узел, а сетевой узел имеет два интерфейса. eth0 (br0) имеет IP-адрес от maas-сервера, а eth1 (br-ex) получает общедоступный IP-адрес из диапазона 192.168.xx (внешняя сеть)

Проблема в том, что я не могу подключиться к экземплярам напрямую со своей рабочей станции или любого другого терминала в нашей сети. Я идентифицировал проблему, чтобы быть в пределах пространства имен маршрутизатора. Я не могу пропинговать 8.8.8.8 из пространства имен нейтронного маршрутизатора. Он может пропинговать br-ex, но показывает "пункт назначения недоступен", когда я пингую 192.168.x.1. Пожалуйста, посмотрите на вывод следующих команд:

ip netns

qrouter-1ff7cd3f-7d73-4c7a-a9aa-0f8efb14a718

ip netns exec qrouter-1ff7cd3f-7d73-4c7a-a9aa-0f8efb14a718 ifconfig

lo Link encap: Local Loopback
inet addr: 127.0.0.1 маска:255.0.0.0 inet6 addr:::1/128 сфера: хост UP LOOPBACK RUNNING MTU:65536 Метрика: 1 пакеты RX:16 ошибок: 0 отброшено: 0 переполнений: 0 кадр: 0 пакеты TX:16 ошибок: 0 отброшено: 0 переполнений: 0 несущая: 0 коллизий:0 txqueuelen:0 байтов RX:1776 (1,7 КБ) байтов TX:1776 (1,7 КБ)

qg-80014d1d-df Канал связи: Ethernet HWaddr fa:16: 3e: b8: 62: 2e
inet addr: 192.168.xx Bcast:192.168.x.255 Маска:255.255.255.0 inet6 адрес: fe80::f816:3eff:feb8:622e/64 Область действия: соединить UP MRODCAST MULTICAST MTU:1500 Метрика: 1 пакеты RX:21036 ошибки: 0 отброшено: 0 переполнений: 0 кадр: 0 пакетов TX:3095 ошибок: 0 отброшено: 0 переполнений: 0 несущая: 0 коллизий:0 txqueuelen:1000 байтов RX:4857288 (4,8 МБ) байтов TX:1047570 (1,0 МБ)

ip netns exec qrouter-1ff7cd3f-7d73-4c7a-a9aa-0f8efb14a718 ip route list

по умолчанию через 192.168.x.1 dev qg-80014d1d-df

192.168.x.0 / 24 dev qg-80014d1d-df ссылка на область действия ядра протока src 192.168.xx

Я видел нейтронные установки, где интерфейс маршрутизатора ( qg-80014d1d-df) включен в мост br-ex. Также диаграмма openstack.org для поиска неисправностей нейтронов показывает, что br-ex должен содержать интерфейс 'qg'.

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

Но в моем узле это показывает по-другому,

ovs-vsctl show

f50f0af5-a5ab-4ab8-935a-9eaf71b40eea

Мост бр-инт

    fail_mode: secure
    Port br-int
        Interface br-int
            type: internal
    Port patch-tun
        Interface patch-tun
            type: patch
            options: {peer=patch-int}

Bridge br-ex
    Port "tap80014d1d-df"
        Interface "tap80014d1d-df"
    Port br-ex
        Interface br-ex
            type: internal
    Port "eth1"
        Interface "eth1"

Bridge br-tun
    Port br-tun
        Interface br-tun
            type: internal
    Port patch-int
        Interface patch-int
            type: patch
            options: {peer=patch-tun}
    Port "gre-0a04546a"
        Interface "gre-0a04546a"
            type: gre
            options: {in_key=flow, local_ip="10.4.x.x", out_key=flow, remote_ip="10.4.x.x"}
ovs_version: "2.0.2"

Здесь br-ex получает дополнительный интерфейс, но это "тап". Числовые значения для этого интерфейса "tap" и "qg" одинаковы. Я проверил файлы журналов как на вычислительном узле, так и на контроллере, но не нашел ничего существенного. Я могу создавать экземпляры и назначать им плавающие IP. Я также могу пропинговать br-ex, но не интерфейс маршрутизатора в нем. Не уверен, что проблема вызвана интерфейсом "tap", но нет потока между пространством имен маршрутизатора и внешним миром. Еще одна мысль пришла мне в голову, если проблема вызвана VMware vSphere!!!

Следует упомянуть одну вещь, при публикации результатов есть только внешняя сеть и маршрутизатор для проверки подключения. Там нет ни экземпляров ни внутренней сети.

Я застрял на этой вещи, как навсегда. Любое предложение будет высоко оценено.

1 ответ

У меня очень похожая настройка, поэтому я покажу вам свою конфигурацию, возможно, это поможет вам.

Все узлы развернуты с помощью maas и juju, и каждый узел имеет два интерфейса:

  • eth0 - пробуждение по локальной сети, загрузка по локальной сети, сеть maas - 10.5.0.0/16, gw 10.5.0.1
  • eth1 - внешняя сеть компании - 172.16.62.0/24 ГВт 172.16.62.254

Я установил Openstack с помощью этого дерева руководств

  1. http://insights.ubuntu.com/wp-content/uploads/UCD-latest.pdf?utm_source=Ubuntu%20Cloud%20documentation%20%E2%80%93%2014.04%20LTS&utm_medium=download+link&utm_content=

  2. http://linux.dell.com/files/whitepapers/Deploying_Workloads_With_Juju_And_MAAS-14.04LTS-Edition.pdf

  3. h20564.www2.hp.com/hpsc/doc/public/display?docId=c04330703 (я не могу вставить его как ссылку из-за моей низкой репутации в Askubuntu)

Моя настройка сети на обычных узлах:

#/etc/network/interfaces
auto lo

auto eth0    
iface eth0 inet manual

auto juju-br0
iface juju-br0 inet dhcp
    bridge_ports eth0


auto eth1   
iface eth1 inet static
    address 172.16.62.10
    netmask 255.255.255.0
    #gateway commented
    #gateway 172.16.62.254 


$route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.5.0.1        0.0.0.0         UG    0      0        0 juju-br0
10.5.0.0        0.0.0.0         255.255.0.0     U     0      0        0 juju-br0
172.16.62.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1

на сетевом нейтронном (квантовом) узле:

#/etc/network/interfaces
auto lo

auto eth0
iface eth0 inet manual

auto juju-br0
iface juju-br0 inet dhcp
    bridge_ports eth0

auto eth1
iface eth1 inet manual
        up ip link set dev $IFACE up
        down ip link set dev $IFACE down


$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.5.0.1        0.0.0.0         UG    0      0        0 juju-br0
10.5.0.0        0.0.0.0         255.255.0.0     U     0      0        0 juju-br0

в сети я также отредактировал /etc/sysctl.conf и раскомментировал эти строки

net.ipv4.ip_forward=1
net.ipv4.conf.all.rp_filter=1
net.ipv4.conf.default.rp_filter=1

затем перемести изменения

# sysctl -p

После зачисления узлов в maas я начинаю использовать чары Juju Openstack.

Конфигурация открытого стека после установки через Horizon:

Как админ я сделал:

  1. загрузить изображение цирроса,
  2. создать нового арендатора и пользователя
  3. создать новую внешнюю сеть в диапазоне 172.16.62.192/26 моей компании, но таким образом, чтобы он не перекрывался с обычным извлечением адреса DHCP, который составляет 172.16.62.10 - 172.16.62.100
  4. создать роутер и установить шлюз во внешнюю сеть

Как пользователь я сделал:

  1. создать новую частную сеть 192.168.0.1
  2. добавить новый интерфейс к маршрутизатору (создан в предыдущих шагах)
  3. загрузить новый экземпляр
  4. изменить группу безопасности по умолчанию и разрешить соединения ICMP(ping) и ssh

Конфигурация сети после развертывания выглядит следующим образом:

#list of ovs ports
ubuntu@fair-stone:~$ sudo ovs-vsctl show
b4a92be0-56d3-4cd5-b113-9657c21daf8a
    Bridge br-ex
        Port br-ex
            Interface br-ex
                type: internal
        Port "tapf199827f-4f" #interface appears after creation new 
            Interface "tapf199827f-4f"
        Port "eth1"
            Interface "eth1"

    Bridge br-tun
        Port br-tun
            Interface br-tun
                type: internal
        Port "gre-0a050104"
            Interface "gre-0a050104"
                type: gre
                options: {in_key=flow, local_ip="10.5.1.1", out_key=flow, remote_ip="10.5.1.4"}
        Port patch-int
            Interface patch-int
                type: patch
                options: {peer=patch-tun}
    Bridge br-int
        fail_mode: secure
        Port patch-tun
            Interface patch-tun
                type: patch
                options: {peer=patch-int}
        Port "tap08438cff-fc"  
            tag: 1
            Interface "tap08438cff-fc" 
        Port "tap592b1f29-da"
            tag: 1
            Interface "tap592b1f29-da" 
        Port br-int
            Interface br-int
                type: internal
    ovs_version: "2.0.2"

Сетевые пространства имен

ubuntu@fair-stone:~$ ip netns list
qdhcp-9d699ab8-940b-478e-ac98-ba3fd38e5d9d
qrouter-a2e0f664-e969-4df1-a2df-16adfbe82cf3

Список интерфейсов в пространстве имен qrouter-xxx

ubuntu@fair-stone:~$ sudo ip netns exec qrouter-a2e0f664-e969-4df1-a2df-16adfbe82cf3 ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: qr-08438cff-fc: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether fa:16:3e:61:dd:b7 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.1/24 brd 192.168.0.255 scope global qr-08438cff-fc
       valid_lft forever preferred_lft forever
    inet6 fe80::f816:3eff:fe61:ddb7/64 scope link 
       valid_lft forever preferred_lft forever
3: qg-f199827f-4f: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether fa:16:3e:1b:c3:d7 brd ff:ff:ff:ff:ff:ff
    inet 172.16.62.193/26 brd 172.16.62.255 scope global qg-f199827f-4f #router interface
       valid_lft forever preferred_lft forever
    inet 172.16.62.194/32 brd 172.16.62.194 scope global qg-f199827f-4f #instance floating ip addres
       valid_lft forever preferred_lft forever
    inet6 fe80::f816:3eff:fe1b:c3d7/64 scope link 
       valid_lft forever preferred_lft forever

Таблица маршрутизации в пространстве имен qrouter-xxxx

ubuntu@fair-stone:~$ sudo ip netns exec qrouter-a2e0f664-e969-4df1-a2df-16adfbe82cf3 ip r
default via 172.16.62.254 dev qg-f199827f-4f 
172.16.62.192/26 dev qg-f199827f-4f  proto kernel  scope link  src 172.16.62.193 
192.168.0.0/24 dev qr-08438cff-fc  proto kernel  scope link  src 192.168.0.1

Iptables в пространстве имен qrouter-xxx

ubuntu@fair-stone:~$ sudo ip netns exec qrouter-a2e0f664-e969-4df1-a2df-16adfbe82cf3 iptables -t nat -L -nv
Chain PREROUTING (policy ACCEPT 1721 packets, 628K bytes)
 pkts bytes target     prot opt in     out     source               destination         
 1848  635K neutron-vpn-agen-PREROUTING  all  --  *      *       0.0.0.0/0            0.0.0.0/0           

Chain INPUT (policy ACCEPT 908 packets, 372K bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 8 packets, 542 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    8   542 neutron-vpn-agen-OUTPUT  all  --  *      *       0.0.0.0/0            0.0.0.0/0           

Chain POSTROUTING (policy ACCEPT 98 packets, 6014 bytes)
 pkts bytes target     prot opt in     out     source               destination         
  108  6773 neutron-vpn-agen-POSTROUTING  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
  104  6485 neutron-postrouting-bottom  all  --  *      *       0.0.0.0/0            0.0.0.0/0           

Chain neutron-postrouting-bottom (1 references)
 pkts bytes target     prot opt in     out     source               destination         
  104  6485 neutron-vpn-agen-snat  all  --  *      *       0.0.0.0/0            0.0.0.0/0           

Chain neutron-vpn-agen-OUTPUT (1 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 DNAT       all  --  *      *       0.0.0.0/0            172.16.62.194        to:192.168.0.3

Chain neutron-vpn-agen-POSTROUTING (1 references)
 pkts bytes target     prot opt in     out     source               destination         
    4   288 ACCEPT     all  --  !qg-f199827f-4f !qg-f199827f-4f  0.0.0.0/0            0.0.0.0/0            ! ctstate DNAT

Chain neutron-vpn-agen-PREROUTING (1 references)
 pkts bytes target     prot opt in     out     source               destination         
   15   900 REDIRECT   tcp  --  *      *       0.0.0.0/0            169.254.169.254      tcp dpt:80 redir ports 9697
   97  5940 DNAT       all  --  *      *       0.0.0.0/0            172.16.62.194        to:192.168.0.3

Chain neutron-vpn-agen-float-snat (1 references)
 pkts bytes target     prot opt in     out     source               destination         
    6   471 SNAT       all  --  *      *       192.168.0.3          0.0.0.0/0            to:172.16.62.194

Chain neutron-vpn-agen-snat (1 references)
 pkts bytes target     prot opt in     out     source               destination         
  104  6485 neutron-vpn-agen-float-snat  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
    0     0 SNAT       all  --  *      *       192.168.0.0/24       0.0.0.0/0            to:172.16.62.193

IP-таблицы нат правил в пространстве имен qrouter-xxx

ubuntu@fair-stone:~$ sudo ip netns exec qrouter-a2e0f664-e969-4df1-a2df-16adfbe82cf3 iptables -S -t nat
-P PREROUTING ACCEPT
-P INPUT ACCEPT
-P OUTPUT ACCEPT
-P POSTROUTING ACCEPT
-N neutron-postrouting-bottom
-N neutron-vpn-agen-OUTPUT
-N neutron-vpn-agen-POSTROUTING
-N neutron-vpn-agen-PREROUTING
-N neutron-vpn-agen-float-snat
-N neutron-vpn-agen-snat
-A PREROUTING -j neutron-vpn-agen-PREROUTING
-A OUTPUT -j neutron-vpn-agen-OUTPUT
-A POSTROUTING -j neutron-vpn-agen-POSTROUTING
-A POSTROUTING -j neutron-postrouting-bottom
-A neutron-postrouting-bottom -j neutron-vpn-agen-snat
-A neutron-vpn-agen-OUTPUT -d 172.16.62.194/32 -j DNAT --to-destination 192.168.0.3
-A neutron-vpn-agen-POSTROUTING ! -i qg-f199827f-4f ! -o qg-f199827f-4f -m conntrack ! --ctstate DNAT -j ACCEPT
-A neutron-vpn-agen-PREROUTING -d 169.254.169.254/32 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 9697
-A neutron-vpn-agen-PREROUTING -d 172.16.62.194/32 -j DNAT --to-destination 192.168.0.3
-A neutron-vpn-agen-float-snat -s 192.168.0.3/32 -j SNAT --to-source 172.16.62.194
-A neutron-vpn-agen-snat -j neutron-vpn-agen-float-snat
-A neutron-vpn-agen-snat -s 192.168.0.0/24 -j SNAT --to-source 172.16.62.193
Другие вопросы по тегам