Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

使用 OpenStack 安装虚拟路由反射器映像

OpenStack 是一个开源的免费云计算平台,支持创建和管理虚拟路由反射器 (vRR)。OpenStack 使您能够:

  • 将 VNIC 连接到物理NIC

  • 显示虚拟机的图形表示

  • 为虚拟机分配特定数量的磁盘空间

  • 为正在运行的虚拟机创建快照

  • 通过快照创建新虚拟机

物理和虚拟机使用 OpenvSwitch 连接,从而无需配置隧道和叠加,例如,通过 GRE MPLS和 UDP MPLS网络。OpenvSwitch 还提供了比其他方法更好的性能,因为物理 NIC 专用于特定 VNIC。

本主题包含以下任务:

组合用户身份验证凭证

认证必须具有适当的用户凭据,才能成功用于每个 OpenStack 命令。您可以采用以下两种方法之一组合凭证:

一次导出用户凭据

为避免每次使用 OpenStack 命令行时都传递用户凭据,请导出凭据:

  1. 创建 包含以下内容的 keystonerc 文件:

    其中

    • token—授权令牌

    • username—OpenStack 用户名

    • tenant-name—租户名称

    • password—OpenStack 用户的密码

    • ip_address_of_keystone:portNumber—keystone 身份验证服务器的 IP 地址及其端口号

  2. 执行 keystonerc 文件采购:

每次使用命令时都传递用户凭据

要每次执行 OpenStack 命令时都传递命令行上的凭证:

在 OpenStack 命令行中输入以下内容:

其中

  • username—OpenStack 用户名

  • tenant-name—租户名称

  • password—OpenStack 用户的密码

  • ip_address_of_keystone:portNumber—keystone 身份验证服务器的 IP 地址及其端口号

注册图像

必须先将 vRR 映像放入 Glance director 中,然后才能将 vRR 映像用于创建 vRR 实例。

要让 vRR 映像看一眼目录:

在 OpenStack 命令行中输入以下内容:

其中

  • image-name—图像的名称。此名称在以后创建 vRR 实例时使用。

  • image-location— vRR 映像的位置。

更新映像的磁盘、CD-ROM 和 VIF 设置

默认情况下,OpenStack 对磁盘、CDROM 和 VIF (NIC) 型号使用 virtio,但基于 Junos 的映像不支持 virtio 驱动程序。您必须更新映像,以更改这些设置。

  1. 在 OpenStack 命令行中输入以下内容:

    image-name是注册图像 中使用的映像的名称

  2. 在 OpenStack 命令行中输入以下项,验证图像是否已进入概览目录:

    注册图像中使用的 图像应位于 显示的映像列表中。

创建虚拟硬件模板

OpenStack 中的虚拟硬件模板称为一种特色。该样式定义了一组硬件参数,稍后将应用于 vRR 实例。

要为 vRR 实例创建一个特色:

  1. 在 OpenStack 命令行中输入以下内容:

    这使得这种风格可供公众使用,将特色 ID 设置到 6,将内存大小设置到 16384 GB,将磁盘大小设置到 10 GB,将虚拟 CPU 数设置为一个。

    flavor-name例如,即是这种风格的名称 VRR-flavor

  2. 在 OpenStack 命令行中输入以下内容,验证是否创造了这种风格:

    在步骤 1 中配置的内容应位于显示风格列表中。

创建网络和子网

创建用于内部和外部通信的网络和子网。vRR 实例的虚拟 NIC 稍后可连接到子网。

  1. 要创建专用网络,请在 OpenStack 命令行中输入以下信息:

    private-network-name是专用网的名称。

    例如:

  2. 要为专用网络创建子网,请在 OpenStack 命令行中输入以下项:

    其中

    • private-subnet-name—子网的名称

    • private-network-name—子网所属的专用网络的名称

    • subnet-cidr— CIDR的一部分

    例如:

  3. 要创建公共网络,请在 OpenStack 命令行中输入以下信息:

    public-network-name是公共网络的名称。

    例如:

  4. 要创建公共网络的子网,请在 OpenStack 命令行中输入以下项:

    其中

    • public-network-name—子网所属的公共网络的名称

    • subnet-cidr— CIDR的一部分

    • public-subnet-name—子网的名称

    • start_ip_address—已分配地址范围内的最低 IP 地址

    • end_ip_address—已分配地址范围内的最高 IP 地址数

    • gateway_ip_address—主机的网关 IP 地址

    例如:

  5. 在 OpenStack 命令行中输入以下内容,验证网络是否创建:

    您配置的网络应位于显示的列表内。

    例如:

  6. 在 OpenStack 命令行中输入以下内容,验证子网是否创建:

    您配置的子网应位于显示的列表内。

    例如:

创建 vRR 实例

实例是运行 vRR 的虚拟机。要创建实例,将提供映像名称、特色、虚拟主机的网络 ID NIC实例的名称。

要创建 vRR 实例:

  1. 在 OpenStack命令行中输入以下项NIC要与 vRR 实例虚拟设备相关联的网络 ID:

    例如:

  2. 记录网络的 ID。
  3. 在 OpenStack 命令行中输入以下内容:

    其中

    • image-name—您用于注册 图像的图像名称

    • net-id—要与 vRR 实例虚拟服务器相关联的网络 ID NIC

    • instance-name—vRR 实例的名称

    例如:

  4. 在 OpenStack 命令行中输入以下项,验证vRR 实例是否已创建:

    您创建的实例应位于显示的列表内。

创建路由器

OpenStack 路由器是一个逻辑实体,用于路由内部子网之间的数据包、将数据包从内部网络转发至外部网络,以及从外部网络访问 vRR 实例。您必须创建一个路由器,并针对与它通信的每个子网在路由器上创建接口。

注意:

em0 接口只能用作管理接口。不能将 em0 接口用于路由配置。

  1. 要创建路由器,请在 OpenStack 命令行中输入以下信息:

    router-name是路由器的名称。

    路由器的 ID 将显示。

    例如:

  2. 记录路由器的 ID。
  3. 在 OpenStack命令行中输入以下项,显示路由器应通信的子网 ID:

    例如:

  4. 记录子网的 ID。
  5. 在路由器上为它通信的子网创建一个接口,在 OpenStack 命令行中输入以下项。

    其中

    • router-id—路由器的 ID

    • subnet-id—子网的 ID

    例如:

  6. 显示网络。

    例如:

  7. 记录应该用作路由器网关的公共网络的 ID。
  8. 在 OpenStack命令行中输入以下内容,将路由器配置为外部网关。

    其中

    • router-id—路由器的 ID

    • net-id—用作路由器网关的公共网络的 ID

    例如:

将浮动 IP 分配给 vRR 实例

浮动 IP 表示外部 IP 地址,并且提供从外部网络对 vRR 实例的访问。只能为具有属性的网络创建浮动 router:external IP。

  1. 在 OpenStack 命令行中输入以下内容,为公共网络创建浮动 IP。

    public-network-name是公共网络的名称。

    例如:

    将显示浮动 IP 的信息。

    例如:

  2. 记录浮动 IP 的地址。
  3. 在 OpenStack命令行中输入以下项,将浮动 IP 分配给 vRR 实例。

    其中

    例如:

  4. 在 OpenStack 命令行中输入以下内容,验证已创建浮动 IP:

    您创建的浮动 IP 应位于显示的列表内。

配置安全组规则

要允许通过 SSH 和 ping 访问 vRR 实例,您必须创建安全规则。

  1. 为 TCP 信息流创建安全规则,然后通过在 OpenStack命令行中输入以下项将其分配给默认安全组。

    其中

    • start-port-range— 允许的端口范围内的最低端口号。要允许任何端口, -1 -1 请使用 端口范围。

    • end-port-range— 允许的端口范围内的最大端口号。

    • cidr-address-range—CIDR允许的地址范围。

    例如:

  2. 为 ICMP 信息流创建安全规则,然后通过在 OpenStack命令行中输入以下项将其分配给默认安全组。

    例如: