【Neutron】 インスタンスの Floating IP アドレスへ Ping が通らない

4,266 views
Skip to first unread message

MR.Lee

unread,
Mar 6, 2015, 3:31:30 AM3/6/15
to openst...@googlegroups.com
いつもお世話になっております。
李と申します。
VMware を使った社内プライベートクラウドの設計、運用、構築を担当しております。
現在、以下の構築マニュアルを参考に検証目的で OpenStack (Neutron) 環境構築を行っております。

http://docs.openstack.org/ja/trunk/install-guide/install/apt/content/ch_preface.html

ノード構成は、以下の通りです。
 ・ コントローラノード 1台
 ・ ネットワークノード 1台
 ・ コンピュートノード 1台
 ・ Cinder ノード 2台 (Multi-Storage Back Ends)


※ Cinder ブロックストレージは、まだ使っておらず、
  インスタンスは、コンピュータノード上で動いています。(おそらく。。。)

※ 内部動きを確認するために、ダッシュボードは、まだ導入してない状態です。

  何とか2週間頑張ってインスタンス作成までできるようになりましたが、
  インスタンス作成後、インスタンスに割り当てた Floating IP アドレスへ Ping が通らない状況です。


※ ネットワーク情報
 ・ 外部ネットワーク名 : ext-net01
   サブネット名 : ext-subnet01
   サブネット : 10.254.90.0/24
   ゲートウェイ : 10.254.90.1

   Floating 範囲 : 10.254.90.241 ~ 10.254.90.250/24
   Floating ゲートウェイ : 10.254.90.241

 ・ インスタンスの Floating IP : 10.254.90.242

 ・ 内部ネットワーク名 : demo-net
   サブネット名 : demo-subnet
   サブネット : 192.168.0.0/24 (インスタンス用 テナントネットワーク)
   ネットワーク範囲 : 192.168.0.0/24
   ゲートウェイ : 192.168.0.1

 ・ 仮想ルータ名 : demo-router



以下は、各ネットワークの詳細情報とインスタンス作成後、Ping 確認までの流れです。

━━━━━━━━━━━━━━━━━━━━
━━━━━ コントローラノード ━━━━━
━━━━━━━━━━━━━━━━━━━━
●    ネットワークリスト
$ source ~/admin-openrc.sh

$ neutron net-list
+--------------------------------------+-----------+-----------------------------------------------------+
| id                                   | name      | subnets                                             |
+--------------------------------------+-----------+-----------------------------------------------------+
| 1f896e4f-b966-4af4-90f1-12e5f65cebcc | ext-net01 | 92ba088a-ac9f-4c7c-9094-3241cee3dcc3                |
| a80899a3-340a-4ffe-a368-ac39f1ff222b | demo-net  | ed8e8a9a-9b96-4f74-90f7-32945d97dc8b 192.168.0.0/24 |
+--------------------------------------+-----------+-----------------------------------------------------+


●    サブネットリスト
$ neutron subnet-list
+--------------------------------------+--------------+----------------+----------------------------------------------------+
| id                                   | name         | cidr           | allocation_pools                                   |
+--------------------------------------+--------------+----------------+----------------------------------------------------+
| 92ba088a-ac9f-4c7c-9094-3241cee3dcc3 | ext-subnet01 | 10.254.90.0/24 | {"start": "10.254.90.241", "end": "10.254.90.250"} |
| ed8e8a9a-9b96-4f74-90f7-32945d97dc8b | demo-subnet  | 192.168.0.0/24 | {"start": "192.168.0.2", "end": "192.168.0.254"}   |
+--------------------------------------+--------------+----------------+----------------------------------------------------+


●    サブネット詳細
$ neutron subnet-show ext-subnet01
+-------------------+----------------------------------------------------+
| Field             | Value                                              |
+-------------------+----------------------------------------------------+
| allocation_pools  | {"start": "10.254.90.241", "end": "10.254.90.250"} |
| cidr              | 10.254.90.0/24                                     |
| dns_nameservers   |                                                    |
| enable_dhcp       | False                                              |
| gateway_ip        | 10.254.90.1                                        |
| host_routes       |                                                    |
| id                | 92ba088a-ac9f-4c7c-9094-3241cee3dcc3               |
| ip_version        | 4                                                  |
| ipv6_address_mode |                                                    |
| ipv6_ra_mode      |                                                    |
| name              | ext-subnet01                                       |
| network_id        | 1f896e4f-b966-4af4-90f1-12e5f65cebcc               |
| tenant_id         | 4bc9e2b503a04cab949dcd8490df64e3                   |
+-------------------+----------------------------------------------------+

$ neutron subnet-show demo-subnet
+-------------------+--------------------------------------------------+
| Field             | Value                                            |
+-------------------+--------------------------------------------------+
| allocation_pools  | {"start": "192.168.0.2", "end": "192.168.0.254"} |
| cidr              | 192.168.0.0/24                                   |
| dns_nameservers   |                                                  |
| enable_dhcp       | True                                             |
| gateway_ip        | 192.168.0.1                                      |
| host_routes       |                                                  |
| id                | ed8e8a9a-9b96-4f74-90f7-32945d97dc8b             |
| ip_version        | 4                                                |
| ipv6_address_mode |                                                  |
| ipv6_ra_mode      |                                                  |
| name              | demo-subnet                                      |
| network_id        | a80899a3-340a-4ffe-a368-ac39f1ff222b             |
| tenant_id         | 111f5d2dce1b4ab79e5ab14746aae23a                 |
+-------------------+--------------------------------------------------+



━━━━━━━━━━━━━━━━━━━━
━━━━━ ネットワークノード ━━━━━
━━━━━━━━━━━━━━━━━━━━
●    qrouter から外部へ Ping
・ qrouter から外部ネットワーク (ext-net01) の Floating IP のゲートウェイへ Ping
・ qrouter から外部ネットワークセグメント自体の本物のゲートウェイへ Ping
・ qrouter から demo-net のゲートウェイへ Ping
・ 外部端末から外部ネットワーク (ext-net01) の Floating IP のゲートウェイへ Ping

# ip netns exec qrouter-732600f4-cf15-421f-8b82-2f1be1bcdd1f ping 10.254.90.241
# ip netns exec qrouter-732600f4-cf15-421f-8b82-2f1be1bcdd1f ping 10.254.90.1
# ip netns exec qrouter-732600f4-cf15-421f-8b82-2f1be1bcdd1f ping 192.168.0.1
C:\> ping 10.254.90.241

上記の Ping は、全て問題なく通ることを確認しました。



━━━━━━━━━━━━━━━━━━━━
━━━━━ コントローラノード ━━━━━
━━━━━━━━━━━━━━━━━━━━
●    現在の demo ネットワーク用の default セキュリティグループ
ICMP / Ping 許可

$ source ~/demo-openrc.sh

$ nova secgroup-list-rules default
+-------------+-----------+---------+-----------+--------------+
| IP Protocol | From Port | To Port | IP Range  | Source Group |
+-------------+-----------+---------+-----------+--------------+
|             |           |         |           | default      |
| icmp        | -1        | -1      | 0.0.0.0/0 |              |
|             |           |         |           | default      |
| tcp         | 22        | 22      | 0.0.0.0/0 |              |
+-------------+-----------+---------+-----------+--------------+


●    イメージからインスタンス起動 / Floating IP アドレス割り当て
$ nova boot --flavor m1.tiny --image cirros-0.3.3-x86_64 --nic net-id=a80899a3-340a-4ffe-a368-ac39f1ff222b \
--security-group default --key-name demo-key vm-01

$ nova floating-ip-list
+---------------+-----------+----------+-----------+
| Ip            | Server Id | Fixed Ip | Pool      |
+---------------+-----------+----------+-----------+
| 10.254.90.242 | -         | -        | ext-net01 |
+---------------+-----------+----------+-----------+

$ nova floating-ip-associate vm-01 10.254.90.242

$ nova list
+--------------------------------------+-------+--------+------------+-------------+-------------------------------------+
| ID                                   | Name  | Status | Task State | Power State | Networks                            |
+--------------------------------------+-------+--------+------------+-------------+-------------------------------------+
| d23fe190-bf3a-4167-8c69-21cb38f226f1 | vm-01 | ACTIVE | -          | Running     | demo-net=192.168.0.4, 10.254.90.242 |
+--------------------------------------+-------+--------+------------+-------------+-------------------------------------+


★    インスタンスへの Ping 確認
・ コントローラノードから DHCP によってインスタンスに振られた demo-net IP アドレスへ Ping
・ コントローラノードからインスタンスの Floating IP アドレスへ Ping
・ 外部端末からインスタンスの Floating IP アドレスへ Ping
$ ping 192.168.0.4
$ ping 10.254.90.242
C:\> ping 10.254.90.242

上記の Ping が全て通りません。
(外部から
Floating Gateway 10.254.90.241 へ Ping は、通ります。。。)

IP Tables を設定するなど。。何か追加手順が必要なんでしょうか。。。

ご存知の方いらっしゃいましたら教えて頂けますでしょうか。


MR.Lee

unread,
Mar 6, 2015, 4:14:32 AM3/6/15
to openst...@googlegroups.com
よろしくお願い致します。

powered.by.solaris

unread,
Mar 6, 2015, 4:27:05 AM3/6/15
to openst...@googlegroups.com
李さん

お世話になります。中島です。

Nova & VMwareの組み合わせを利用したことがないので、的外れかもしれませんが、
2つのインスタンスを立ち上げて、そのインスタンス間の通信はできますか?
また、インスタンス → GW(192.168.01) の通信はできますか?

組み合わせ的に情報が少ないと思いますので、
まずはどの部分が問題で通信ができていないのか、切り分けてみるのはいかがでしょう?

以上。よろしくお願いいたします。


2015-03-06 18:14 GMT+09:00 MR.Lee <ssmk...@gmail.com>:
> よろしくお願い致します。
>
> --
> このメールは Google グループのグループ「日本OpenStackユーザ会」の登録者に送られています。
> このグループから退会し、グループからのメールの配信を停止するには openstack-ja...@googlegroups.com にメールを送信してください。
> その他のオプションについては、https://groups.google.com/d/optout にアクセスしてください。

MR.Lee

unread,
Mar 6, 2015, 5:18:50 AM3/6/15
to openst...@googlegroups.com
中島さん

お世話になります。 李です。
返信ありがとうございます。

各ノード、および 外部ネットワークからインスタンスへ Ping / SSH 接続が出来ない状況でして、
インスタンスの VNC ウェブコンソールにログインしようとしたのですが、
Cirros OS のデフォルトログインパスワードに 「:)」  が含まれており、
どうしてもコロン 「:」 入力ができなくてログインも出来ない状況です。。。

インスタンスも 1台しか作成しなかったので、
まずは、VNC 経由でインスタンスにログインできるように、別途 CentOS などイメージをアップロードして、
インスタンスを 2台作成してから試してみます。

本日は、もう退社してしまったので、確認は、月曜日になるかと思いますが。。。

進捗があり次第コメントさせていただきます。

因みに、VMware の仮想マシンで各ノードを構築する際の特異事項としては、
 ・ コンピュートノード 仮想マシンにネステッド VHV 設定をするのと
 ・ ネットワーク
ノード 仮想マシンの外部ネットワーク用の仮想 NIC に無差別モードを設定する必要がありました。(これをしないと仮想ルータへ Ping が通らなくなる)

※3/11 に行われる「22回 勉強会」を含めて時間がある限り積極的に参加させて頂きます。

宜しくお願い致します。


Akira Yoshiyama

unread,
Mar 6, 2015, 5:34:17 AM3/6/15
to openst...@googlegroups.com, MR.Lee
李さん

よしやまです。こんばんは。

VMware 上で OpenStack 環境を作る場合、1つやらなければならない設定があります。

VMware の仮想ネットワークは標準で、ポートセキュリティの為、違う MAC アドレスのパケットを仮想 NIC に流さないようになっています。
これが OpenStack の仮想ネットワーク機能の妨げになります。

よって、VMware のネットワーク設定で、問題のネットワークの標準スイッチのプロパティの「無差別モード」を「承認」(有効)に変更してください。
>--
>このメールは Google グループのグループ「日本OpenStackユーザ会」の登録者に送られています。
>このグループから退会し、グループからのメールの配信を停止するには
>openstack-ja...@googlegroups.com にメールを送信してください。
>その他のオプションについては、https://groups.google.com/d/optout にアクセスしてください。

--
Sent from my Android device with K-9 Mail. Please excuse my brevity.

Mr.Lee

unread,
Mar 6, 2015, 8:53:38 AM3/6/15
to openst...@googlegroups.com, ssmk...@gmail.com


吉山さん

お世話になります。
李です。

こんばんは。

返信ありがとうございます。

手元に資料がなく、適当に描いてみました。
まだ、知識が浅くて絵的にあってるかどうか微妙ですが。。。

現在、「無差別モード」になっているところは、ネットワークノードの外部ネットワーク用として使われている仮想 NIC のポートグループ 1箇所だけです。(青色)
こちらは、構築する段階で既に無差別モードを設定しておりまして、
そうすることで外部端末から ext-subnet01 のゲートウェイ(Floating IP アドレス範囲での若番)である 「10.254.90.241」 へ Ping は、通るようになっております。

しかし、Network Node と Compute Node 間の GRE Tunnel 用として超ローカル用のポートグループを用意して使っているのですが、(黄色)
インスタンスに割り当てられている Floating IP アドレス 「10.254.90.242」 へ Ping が通るようになるためには、
「黄色い」 ところにも 「無差別モード」 を許可しないといけないということなんでしょうか。

来週、色々試してみます。

アドバイスありがとうございます!


Mr.Lee

unread,
Mar 11, 2015, 1:00:54 AM3/11/15
to openst...@googlegroups.com, ssmk...@gmail.com
お世話になります。
李です。

以下を試してみました。

● 各ノード(vSphere 仮想マシン) の仮想 NIC のすべてポートグループに 「無差別モード」を設定
→ 各ノード / 外部端末からインスタンスの Floating IP アドレスへ Ping 通らず。

● virt-install を使って CentOS 6.6 イメージを作成し、Image Service へ登録後、
① インスタンス vm-01 新規作成、Floating IP 割り当て
② インスタンス vm-02 新規作成、Floating IP 割り当て
③ Floating IP 確認
controller:~$ nova floating-ip-list
+---------------+--------------------------------------+-------------+-----------+

| Ip            | Server Id                            | Fixed Ip    | Pool      |
+---------------+--------------------------------------+-------------+-----------+
| 10.254.90.242 | da37c3ac-56e2-4fd8-85fe-e65684b28565 | 192.168.0.8 | ext-net01 |
| 10.254.90.243 | 0fe45f87-aea6-423a-a483-4ba41fa19146 | 192.168.0.9 | ext-net01 |
+---------------+--------------------------------------+-------------+-----------+ 

★ vm-01 / vm-02 の VNC コンソールへログインし、ifconfig 確認結果、
  eth0 に固定 IP アドレスが割り当てられていませんでした。

★ インスタンス再起動時に以下のエラーメッセージが出力されました。
  Determining IP information for eth0... failed [FAILED]

★ インスタンス内で ping コマンドを打つと Network unreachable 。。。
vm-01:~$ ping 192.168.0.9
connect: Network is unreachable

どうも DHCP サーバから IP アドレスが振られていないようで。。
まずは、この問題を先に解決しないと前に進めない感じでした。。。

Mr.Lee

unread,
Mar 30, 2015, 5:52:20 AM3/30/15
to openst...@googlegroups.com, ssmk...@gmail.com
お世話になります。
李です。

インスタンス用のネットワーク(サブネット と ネットワーク)を削除し、
ネットワーク作り直したらインスタンスに DHCP サーバから IP アドレスが振られるようになりました。

また、インスタンスに割り当てた Floating IP アドレスに外部端末から Ping / SSH 接続できるようになりました。

これで、外部端末 - インスタンス間通信は、問題ないと思いますが、
コントローラノードの中でポート状態を確認すると外部ネットワーク(ext-net01) のポート状態が DOWN になっています。

インスタンス用のポートは、全て ACTIVE になっているのですが、
外部ネットワーク ext-net01 のゲートウェイと
インスタンスに割り当てた Floating IP アドレスのポート状態がすべて DOWN 状態になっています。

通信は、問題ないです。(外部から Ping / SSH 接続可能)

$ neutron port-show 93f6006a-f2a2-45fe-979b-d6c63d7bd7b3
+-----------------------+--------------------------------------------------------------------------------------+
| Field                 | Value                                                                                |
+-----------------------+--------------------------------------------------------------------------------------+
| admin_state_up        | True                                                                                 |
| allowed_address_pairs |                                                                                      |
| binding:host_id       | kcd-openstack-network01.p.sphere.ad.jp                                               |
| binding:profile       | {}                                                                                   |
| binding:vif_details   | {"port_filter": true, "ovs_hybrid_plug": true}                                       |
| binding:vif_type      | ovs                                                                                  |
| binding:vnic_type     | normal                                                                               |
| device_id             | f6b877b6-509f-46e9-87e4-d91660f25109                                                 |
| device_owner          | network:router_gateway                                                               |
| extra_dhcp_opts       |                                                                                      |
| fixed_ips             | {"subnet_id": "cf6d2ad0-5fef-40e1-a67b-1066efb4f4c5", "ip_address": "10.254.90.241"} |
| id                    | 93f6006a-f2a2-45fe-979b-d6c63d7bd7b3                                                 |
| mac_address           | fa:16:3e:10:84:d7                                                                    |
| name                  |                                                                                      |
| network_id            | 8f64b170-1092-4ce5-ad17-31a30bae397c                                                 |
| security_groups       |                                                                                      |
| status                | DOWN ★                                                                              |
| tenant_id             |                                                                                      |
+-----------------------+--------------------------------------------------------------------------------------+

色々調べているのですが、なかなか解決策が見つかりません。
この問題は、バグで通信問題ないなら無視してもいいよっていう情報もありましたが。。
もし本当にバグだったら改善・リリース状況を知りたいのですが。。。どこにその情報があるのか分かりません。。

同じ事象を経験した方、
解決方法ご存知の方いらっしゃいましたらご教授頂けましたら幸いです。

宜しくお願い致します。


Reply all
Reply to author
Forward
0 new messages