ルーターを作成したあと、次は外部ネットワークを構成します。クラウドの内部ネットワーク内のユーザーは、外部ネットワークのゲートウェイ経由でインターネットに接続できます。
次の図は、単一ルーターがクラウドプロジェクトのネットワーク通信をサポートする方法を示しています。
図 4 プライベートネットワークモデルでのプロバイダルーター
この図は、次を示しています。
2 つのプロジェクト (Tenant A と Tenant B)
4 つの VM (VM1、VM2、VM3、および VM4)
4 つのサブネット (HR、ENG、IT、および ACCT)
ルーター
外部ネットワーク
外部ネットワークへの内部ネットワークアクセスを提供すると、VM の IP アドレスが、その外部ネットワークに割り当てるフローティングアドレスのいずれかにマップされます。
この手順では、外部ネットワークを表す仮想ネットワークを作成する方法を示します。この仮想ネットワークは DHCP を使用しません。代わりに、フローティング IP アドレスが作成されてプロジェクトに割り当てられ、それらのプロジェクトの下で Nova VM インスタンスによって使用されます。これらの手順では VLAN タイプのネットワークを作成しますが、この手順は (フラットなネットワークなどの) その他のネットワークタイプの作成にも適用されます。
外部ネットワークは、内部ネットワークの作成に関係なく作成できます。
始める前に
エラスティック仮想スイッチの構成を完了してください。詳細は、Neutron をインストールし、構成する方法 (特に、EVS を構成する手順) を参照してください。
controller# export OS_USERNAME=neutron controller# export OS_PASSWORD=service-password controller# export OS_TENANT_NAME=service controller# export OS_AUTH_URL=http://$CONTROLLER_ADMIN_NODE:5000/v2.0
controller# evsadm show-controlprop -p vlan-range
controller# neutron net-create --provider:network_type=vlan \ --provider:segmentation_id=VLAN-nbr \ --router:external=true network-name
ここで、segmentation_id の値は通常、EVS の構成中に定義した VLAN 範囲の最初の番号である 1 です。
割り当てプールは、サブネットに割り当てられたフローティング IP アドレスの範囲で構成されます。
controller# neutron subnet-create --name subnet-name --disable-dhcp \ --allocation-pool start=start-IP,end=end-IP \ network-name subnet-IP
controller# neutron router-gateway-set router-name ext-network-id
controller# neutron router-show router-name
この例では、外部ネットワークを作成して、それをクラウド内の内部ネットワークで使用できるように準備する方法を示します。
フラットなネットワークを作成するには、https://blogs.oracle.com/openstack/tags/juno のセクション 2 で提供されている例も参照してください。
controller# export OS_USERNAME=neutron
controller# export OS_PASSWORD=service-password
controller# export OS_TENANT_NAME=service
controller# export OS_AUTH_URL=http://$CONTROLLER_ADMIN_NODE:5000/v2.0
controller# evsadm show-controlprop -p vlan-range
PROPERTY PERM VALUE DEFAULT HOST
vlan-range rw 1,200-300 -- --
controller# neutron net-create --router:external=True \
--provider:network_type=vlan --provider:segmentation_id=1 ext-network
Created a new network:
+--------------------------+--------------------------------------+
| Field | Value |
+--------------------------+--------------------------------------+
| admin_state_up | True |
| id | 08cf49c8-f28f-49c1-933d-bdb1017e0294 |
| name | ext-network |
| provider:network_type | vlan |
| provider:segmentation_id | 1 |
| router:external | True |
| shared | False |
| status | ACTIVE |
| subnets | |
| tenant_id | 7d1caf0854b24becb28df5c5cabf72cc |
+--------------------------+--------------------------------------+
controller# neutron subnet-create --name ext-subnet --disable-dhcp \
--allocation-pool start=10.134.13.8,end=10.134.13.254 \
ext_network 10.134.13.0/24
Created a new subnet:
+-------------------+---------------------------------------------------+
| Field | Value |
+-------------------+---------------------------------------------------+
| allocation_pools | {"start": "10.134.13.8", "end": "10.134.13.254"} |
| cidr | 10.134.13.0/24 |
| dns_nameservers | |
| enable_dhcp | False |
| gateway_ip | 10.134.13.1 |
| host_routes | |
| id | fce503ff-f483-4024-b122-f2524e3edae1 |
| ip_version | 4 |
| ipv6_address_mode | |
| ipv6_ra_mode | |
| name | ext-subnet |
| network_id | 08cf49c8-f28f-49c1-933d-bdb1017e0294 |
| tenant_id | 7d1caf0854b24becb28df5c5cabf72cc |
+-------------------+---------------------------------------------------+
controller# neutron router-gateway-set ext-router 08cf49c8-f28f-49c1-933d-bdb1017e0294
Set gateway for router ext-router
controller# neutron router-show ext-router
+-----------------------+-------------------------------------------------------+
| Field | Value |
+-----------------------+-------------------------------------------------------+
| admin_state_up | True |
| external_gateway_info | {"network_id": "08cf49c8-f28f-49c1-933d-bdb1017e0294",|
| | "enable_snat": true, |
| | "external_fixed_ips": |
| |[{"subnet_id": "fce503ff-f483-4024-b122-f2524e3edae1", |
| |"ip_address": "10.134.13.8"}]} | |
| id | f89b24ed-42dd-48b0-8f4b-fd41887a3370 |
| name | ext-router |
| status | ACTIVE |
| tenant_id | 7d1caf0854b24becb28df5c5cabf72cc |
+-----------------------+-------------------------------------------------------+
関連項目