 
 これは、Ubuntu 14.04でのneutron(ネットワーキング)の構成の3番目の部分です。コントローラーとコンピューティングノードにネットワークコンポーネントをインストールして構成した、Neutron#1の構成とNeutron#2の構成に関する以前の記事を参照できます。
>ここでは、初期ネットワークを作成します。これは、VMインスタンスを起動する前に作成する必要があります。
上の図は、IPアドレス範囲の例を使用しています。特定の環境に合わせて調整する必要があります。
セルフサービスネットワークを使用しているため 、パブリック仮想ネットワークとプライベート仮想ネットワークの両方を作成する必要があります。
パブリックプロバイダーネットワークの作成:
インスタンスは、ブリッジング/スイッチングを介して物理ネットワークインフラストラクチャに接続するパブリックプロバイダー仮想ネットワークを使用します。このネットワークには、インスタンスにネットワークリソース(IPアドレス、サブネット、ゲートウェイなど)を提供するDHCPサーバーが含まれています。
コントローラノードにクレデンシャルをロードします。
# source admin-openrc.sh
ネットワークを作成します。
# neutron net-create public --shared --provider:physical_network public --provider:network_type flat Created a new network: +---------------------------+--------------------------------------+ | Field | Value | +---------------------------+--------------------------------------+ | admin_state_up | True | | id | 25109c9a-0d9c-498f-8a8a-9004219ee85a | | mtu | 0 | | name | public | | port_security_enabled | True | | provider:network_type | flat | | provider:physical_network | public | | provider:segmentation_id | | | router:external | False | | shared | True | | status | ACTIVE | | subnets | | | tenant_id | fe858f6a43f84c26b994f0be74c928e6 | +---------------------------+--------------------------------------+
パブリックネットワーク上にサブネットを作成します。
たとえば、フローティングIPアドレス範囲が192.168.0.200から192.168.0.250の192.168.0.0/24を、プライマリDNSサーバーとして8.8.4.4の物理ゲートウェイ192.168.0.1で使用します。このゲートウェイは、物理ネットワークに関連付けられている必要があります
# neutron subnet-create public 192.168.0.0/24 --name public --allocation-pool start=192.168.0.200,end=192.168.0.250 --dns-nameserver 8.8.4.4 --gateway 192.168.0.1
Created a new subnet:
+-------------------+----------------------------------------------------+
| Field             | Value                                              |
+-------------------+----------------------------------------------------+
| allocation_pools  | {"start": "192.168.0.200", "end": "192.168.0.250"} |
| cidr              | 192.168.0.0/24                                     |
| dns_nameservers   | 8.8.4.4                                            |
| enable_dhcp       | True                                               |
| gateway_ip        | 192.168.0.1                                        |
| host_routes       |                                                    |
| id                | 3cee40a7-e241-4f9e-8033-cdc03fc58d76               |
| ip_version        | 4                                                  |
| ipv6_address_mode |                                                    |
| ipv6_ra_mode      |                                                    |
| name              | public                                             |
| network_id        | 25109c9a-0d9c-498f-8a8a-9004219ee85a               |
| subnetpool_id     |                                                    |
| tenant_id         | fe858f6a43f84c26b994f0be74c928e6                   |
+-------------------+----------------------------------------------------+ プライベートプロジェクトネットワークの作成:
プライベートプロジェクト仮想ネットワークを作成して、レイヤー3(ルーティング)とNATを介して物理ネットワークインフラストラクチャを接続します。このプライベートプロジェクトネットワークには、インスタンスにIPアドレスを提供するDHCPサーバーが含まれています。このネットワーク上のインスタンスは、インターネットにアクセスできます。ただし、インターネットからこのネットワーク上のインスタンスにアクセスするには、フローティングIPアドレスが必要です。
プライベートネットワーク(プライベート)を作成します。
# neutron net-create private Created a new network: +---------------------------+--------------------------------------+ | Field | Value | +---------------------------+--------------------------------------+ | admin_state_up | True | | id | 1b03eacd-e737-473b-8c0d-a16052f6505b | | mtu | 0 | | name | private | | port_security_enabled | True | | provider:network_type | vxlan | | provider:physical_network | | | provider:segmentation_id | 65 | | router:external | False | | shared | False | | status | ACTIVE | | subnets | | | tenant_id | fe858f6a43f84c26b994f0be74c928e6 | +---------------------------+--------------------------------------+
内部ネットワーク上にサブネットを作成します。たとえば、仮想ゲートウェイ192.168.0.1と8.84.4で192.168.100.0/24ネットワークを使用します。プライマリDNSサーバーとして。 DHCPサーバーは、各インスタンスに192.168.100.2から192.168.100.254までのIPアドレスを割り当てます
#  neutron subnet-create private 192.168.100.0/24 --name private --dns-nameserver 8.8.4.4 --gateway 192.168.100.1
Created a new subnet:
+-------------------+------------------------------------------------------+
| Field             | Value                                                |
+-------------------+------------------------------------------------------+
| allocation_pools  | {"start": "192.168.100.2", "end": "192.168.100.254"} |
| cidr              | 192.168.100.0/24                                     |
| dns_nameservers   | 8.8.4.4                                              |
| enable_dhcp       | True                                                 |
| gateway_ip        | 192.168.100.1                                        |
| host_routes       |                                                      |
| id                | 5b986d39-7f60-4c14-ad68-9aa797fc2487                 |
| ip_version        | 4                                                    |
| ipv6_address_mode |                                                      |
| ipv6_ra_mode      |                                                      |
| name              | private                                              |
| network_id        | 1b03eacd-e737-473b-8c0d-a16052f6505b                 |
| subnetpool_id     |                                                      |
| tenant_id         | fe858f6a43f84c26b994f0be74c928e6                     |
+-------------------+------------------------------------------------------+ 仮想ルーターを作成します。
プライベートプロジェクトネットワークは、仮想ルーターを使用してパブリックプロバイダーネットワークに接続し、2つ以上の仮想ネットワーク間(プライベート/パブリックとの間)でネットワークトラフィックを渡します。この場合、ルーターを作成し、それにプライベートネットワークとパブリックネットワークを接続する必要があります。
# neutron router-create router Created a new router: +-----------------------+--------------------------------------+ | Field | Value | +-----------------------+--------------------------------------+ | admin_state_up | True | | external_gateway_info | | | id | e217d03c-ad34-4d64-bce8-0190e0eef6ca | | name | router | | routes | | | status | ACTIVE | | tenant_id | b558b39292b247b7a346678b80ed71e0 | +-----------------------+--------------------------------------+
router:externalオプションをパブリックプロバイダーネットワークに追加します。
# neutron net-update public --router:external Updated network: public
ルーターをプライベートサブネットに接続します。
# neutron router-interface-add router private Added interface 74748304-cbfb-4c53-bc6e-d12271bbcdd1 to router router.
ルーターをゲートウェイとして設定して、ルーターをパブリックネットワークに接続します。
# neutron router-gateway-set router public Set gateway for router router
確認:
ネットワーク名前空間をリストアップします。出力には1つのqrouterが必要です。 および2つのqdhcp 名前空間。
# ip netns qrouter-e217d03c-ad34-4d64-bce8-0190e0eef6ca qdhcp-1b03eacd-e737-473b-8c0d-a16052f6505b qdhcp-25109c9a-0d9c-498f-8a8a-9004219ee85a
外部物理ネットワークから192.168.0.200にpingを実行すると、接続を確認できます。これは、サブネット192.168.0.0/24を使用したためです。フローティングIPの範囲は192.168.0.200〜250であり、テナントルーターゲートウェイはフローティングIPアドレスの範囲で最も低いIPアドレス、つまり192.168.0.200を占める必要があります
C:\>ping 192.168.0.200 Pinging 192.168.0.200 with 32 bytes of data: Reply from 192.168.0.200: bytes=32 time=1ms TTL=64 Reply from 192.168.0.200: bytes=32 time=2ms TTL=64 Reply from 192.168.0.200: bytes=32 time=1ms TTL=64 Reply from 192.168.0.200: bytes=32 time=1ms TTL=64 Ping statistics for 192.168.0.200: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 1ms, Maximum = 2ms, Average = 1ms
以上です!!!これで、インスタンスを起動するための初期ネットワークが正常に作成されました。
参照:OpenStackガイド。