在 Oracle® Solaris 中安装和配置 OpenStack (Juno)

退出打印视图

更新时间: 2016 年 6 月
 
 

创建外部网络

创建路由器后,接下来配置外部网络。通过外部网络的网关,云的内部网络中的用户可以连接到 Internet。

下图显示了单个路由器如何支持云项目的网络通信。

图 4  使用专用网络模型的提供商路由器

image:两个项目,每个具有两个内部网络和两个 VM 实例

该图显示了以下内容:

  • 两个项目(租户 A租户 B

  • 四个 VM(VM1VM2VM3VM4

  • 四个子网(HRENGITACCT

  • 路由器

  • 外部网络

向内部网络提供对外部网络的访问时,VM 的 IP 地址将映射到分配给外部网络的浮动地址中的一个。

如何创建外部网络

此过程介绍了如何创建代表外部网络的虚拟网络。此虚拟网络不使用 DHCP。而是,创建浮动 IP 地址,并将其分配给项目,供这些项目下的 Nova VM 实例使用。这些步骤创建 VLAN 类型的网络,但是此过程适用于创建其他网络类型,例如平面网络。

外部网络的创建可以独立于内部网络的创建。

开始之前

完成弹性虚拟交换机的配置。有关更多信息,请参见如何安装并配置 Neutron,尤其注意配置 EVS 的步骤。

  1. 为 Neutron 设置全局 shell 变量。
    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
  2. (u53ef选) 获取 VLAN 范围。
    controller# evsadm show-controlprop -p vlan-range
  3. 创建外部网络。
    controller# neutron net-create --provider:network_type=vlan \
    --provider:segmentation_id=VLAN-nbr \
    --router:external=true network-name
    

    其中,segmentation_id 的值是您在 EVS 配置过程中定义的 VLAN 范围的第一个数字,通常为 1。


    注 -  如果要创建平面网络,则无需指定段 ID。
  4. 创建外部网络的子网。

    分配池由分配给子网的某个范围的浮动 IP 地址组成。

    controller# neutron subnet-create --name subnet-name --disable-dhcp \
       --allocation-pool start=start-IP,end=end-IP \
       network-name subnet-IP
  5. 向路由器添加外部网络。
    controller# neutron router-gateway-set router-name ext-network-id

    注 -  缺省情况下,发出此命令时启用 SNAT。启用 SNAT 后,专用网络中的 VM 可以访问外部网络。不过,不能从云外部访问实例本身。要禁用 SNAT,请在 neutron router-gateway-set 子命令中指定 –--disable-snat 选项。
  6. (u53ef选) 显示关于路由器的信息。
    controller# neutron router-show router-name
示例 2  创建外部网络

此示例说明如何创建外部网络,并将其准备就绪,以供云中的内部网络使用。

要创建平面网络,另请参见 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                      |
+-----------------------+-------------------------------------------------------+

另请参见