硬件防火墙

所有部署都应该有一个防火墙保护管理服务器;查看防火墙的一般规定。 根据情况不同,一些部署也可能用到Juniper SRX防火墙作为来宾网络的默认网关; 参阅 “集成外部来宾防火墙Juniper SRX (可选)”.

防火墙的一般规定

硬件防火墙必需服务于两个目的:

  • 保护管理服务器。

  • 路由多个区域之间的管理网络流量。站点到站点 VPN应该在多个区域之间配置。

为了达到上述目的,你必须设置固定配置的防火墙。用户被配置到云中,不需要改变防火墙规则和策略。任何支持NAT和站点到站点VPN的硬件防火墙,不论品牌,都可以使用。

集成外部来宾防火墙Juniper SRX(可选)

注解

客户使用高级网络时才有效。

CloudStack中提供了对Juniper SRX系列防火墙的直接管理。这使得CloudStack能建立公共IP到客户虚拟机的静态NAT映射,并利用Juniper设备替代虚拟路由器提供防火墙服务。每个区域中可以有一个或多个Juniper SRX设备。这个特性是可选的。如果不提供Juniper设备集成,CloudStack会使用虚拟路由器提供这些服务。

Juniper SRX可以和任意的外部负载均衡器一起使用。外部网络元素可以部署为并排或内联结构。

parallel-mode.png: adding a firewall and load balancer in parallel mode.

CloudStack要求按照如下信息配置Juniper SRX防火墙:

注解

支持SRX软件版本为10.3或者更高。

  1. 根据供应商提供的说明书安装你的SRX设备。

  2. 分别使用两个接口连接管理和公共网络,或者,你可以使用同一个接口来连接这两个网络,但需要为公共网络设置一个VLAN。

  3. 确保在专有接口上开启了 “vlan-tagging” 。

  4. 记录公共和专用接口名称。如果你在公共接口中使用了VLAN,应该在接口名称后面添加一个”.[VLAN TAG]”。例如,如果你使用 ge-0/0/3 作为公共接口并且VLAN 标签为301。那么你的公共接口名称应为”ge-0/0/3.301”。你的专用接口应始终不添加任何标签,因为CloudStack会自动在逻辑接口上添加标签。

  5. 创建公共安全区域和专用安全区域。默认情况下,这些已经存在并分别称为”untrust” 和 “trust”。为公共区域添加公共接口和为专用区域添加专用接口。并记录下安全区域名称。

  6. 确保专用区域到公共区域的安全策略允许所有流量通过。

  7. 请注意CloudStack登录所用账户的用户名和密码符合编程规则。

  8. 确保已经开启 “ssh” 和 “xnm-clear-text” 等系统服务。

  9. 如果需要统计流量:

    1. 创建传入的防火墙过滤和传出的防火墙过滤。这些策略应该有相同的名称分别作为你的公共安全区域名称和专用安全区域名称。过滤应该设置到 “特定接口”。 例如,在这个配置中公共区域是 “untrust”,专用区域是 “trust”:

      1. [email protected]# show firewall
      2. filter trust {
      3. interface-specific;
      4. }
      5. filter untrust {
      6. interface-specific;
      7. }
    2. 在你的公共接口添加防火墙过滤。例如,一个示例配置(ge-0/0/3.0为公共接口,untrust为公共安全区域,trust为专用安全区域)

      1. ge-0/0/3 {
      2. unit 0 {
      3. family inet {
      4. filter {
      5. input untrust;
      6. output trust;
      7. }
      8. address 172.25.0.252/16;
      9. }
      10. }
      11. }
  10. 确保SRX中的专用接口允许所有VLAN通过。

  11. 安装好CloudStack管理端后,使用管理员帐号登录CloudStack用户界面。

  12. 在左侧导航栏中,点击基础架构

  13. 点击区域中的查看更多。

  14. 选择你要设置的区域。

  15. 点击网络选项卡。

  16. 点击示意图网络服务提供程序中的配置(你可能需要向下滚动才能看到)。

  17. 点击SRX。

  18. 点击(+)按钮添加一个新的SRX,并提供如下信息:

    • IP地址:SRX设备的IP地址。

    • 用户名:CloudStack需要使用SRX设备中的账户。

    • 密码:该账户的密码。

    • 公共接口:SRX中的公共接口名称。例如,ge-0/0/2。 最后一个 ”.x” 表示该VLAN正在使用这个接口。

    • 专用接口: SRX中的专用接口名称。例如, ge-0/0/1。

    • Usage Interface: (可选) 通常情况下,公共接口用来统计流量。如果你想使用其他的接口,则在此处修改。

    • 重试次数:尝试控制SRX设备失败时重试的次数。默认值是2。

    • 超时(秒): 尝试控制SRX设备失败时的重试间隔。默认为300秒。

    • 公共网络: SRX中公共网络的名字。 例,trust。

    • 专用网络:SRX中专用网络的名字。 例如,untrust。

    • 容量:该设备能处理的网络数量。

    • 专用: 当标记为专用后,这个设备只对单个帐号专用。该选项被勾选后,容量选项就没有了实际意义且值会被置为1。

  19. 点击确定。

  20. 点击全局设置。设置external.network.stats.interval参数,指定CloudStack从Juniper SRX收集网络使用情况的时间间隔。如果你不使用SRX统计网络使用情况,即设置为0.

整合Cisco VNMC和外部来宾防火墙(可选)

Cisco虚拟网络管理中心(VNMC)为Cisco网络虚拟服务提供集中式多设备和策略管理。您可以通过整合Cisco VNMC和CloudStack使用ASA 1000v云防火墙提供防火墙和NAT服务。在开启了Cisco Nexus 1000v分布式虚拟交换机功能的CloudStack群集中。这样部署,您将可以:

  • 配置Cisco ASA 1000v防火墙,你可以为每个来宾创建一个网络。

  • 使用思科ASA 1000v防火墙创建和应用安全配置,包含入口和出口流量的ACL策略集。

  • 使用Cisco ASA 1000v防火墙创建和应用源地址NAT,端口转发,静态NAT策略集。

CloudStack对于Cisco VNMC的支持基于开启了Cisco Nexus 1000v分布式虚拟交换机功能的VMware虚拟化管理平台。

部署使用Cisco ASA 1000v防火墙,Cisco Nexus 1000v分布式虚拟交换机和Cisco VNMC。

指南
  • Cisco ASA 1000v防火墙仅支持隔离的来宾网络。

  • Cisco ASA 1000v不支持VPC。

  • Cisco ASA 1000v不支持负载均衡。

  • 当使用Cisco VNMC防火墙创建的来宾网络时,一个额外的公共IP和SNAT IP一起被获取。SNAT IP用于规则,而额外的IP用于ASA外部接口。确保这一额外的公共IP不会被释放。你可以在网络一旦处在执行状态和获取其他公共IP之前确定这个IP。这个额外的IP没有被标识为SNAT。在你的来宾网络中可以通过Cisco VNMC来查找ASA外部接口的IP地址。

  • 使用单一网络中的公共IP地址段。不能添加不同网段的IP地址。

  • 每个VLAN中只允许一个ASA实例。因为ASA端口不支持多VLAN的trunk模式。因此,一个来宾网络中只能有一个ASA实例。

  • 每个区域中,只允许一个Cisco VNMC.

  • 只支持在Inline模式下部署负载均衡器。

  • ASA防火墙策略适用于来宾网络中所有的公共IP地址。不同于虚拟路由器创建的防火墙规则,ASA设备创建的规则不绑定特定的公共IP地址。

  • 使用一个支持vservice命令的Cisco Nexus 1000v分布式虚拟交换机版本。例如:nexus-1000v.4.2.1.SV1.5.2b.bin

    使用Cisco VNMC在CloudStack中创建来宾网络,要求vservice命令在Nexus交换机中是可用的。

先决条件
  1. 在vCenter环境中配置Cisco Nexus 1000v分布式交换机。

    在Cisco Nexus 1000v 分布式虚拟交换机中创建两个(内部和外部)网络接口的端口配置文件。记录下内部端口配置,在CloudStack中添加ASA设备时需要提供。

    更多配置信息,请查阅 “配置vSphere群集和Nexus 1000v 虚拟交换机”.

  2. 部署和配置Cisco VNMC。

    更多信息,请查阅 安装Cisco虚拟网络管理中心配置Cisco虚拟网络管理中心.

  3. 注册Cisco Nexus 1000v分布式交换机到Cisco VNMC。

    更多信息,请查阅 注册Cisco Nexus 1000V 和Cisco VNMC.

  4. 在Cisco Nexus 1000v分布式交换机中创建内部和外部端口配置文件。

    更多信息,请查阅 “配置vSphere群集和Nexus 1000v 虚拟交换机”.

  5. 部署Cisco ASA 1000v设备。

    更多信息,请查阅 使用VNMC设置ASA 1000V.

    通常情况下,你可以创建一个ASA 1000v设备池通过CloudStack来注册他们。

    设置Cisco ASA 1000v设备需指定如下信息:

    • VNMC主机IP。

    • 确保你在VNMC模式中添加ASA设备。

    • 需要预先在Cisco Nexus 1000v分布式虚拟交换机中创建用于管理和高可用的网络接口配置文件。

    • 内部和外部端口配置文件

    • Cisco ASA 1000v设备的管理IP。指定网关确保到VNMC IP是可达的。

    • 管理员证书

    • VNMC证书

  6. 注册Cisco ASA 1000v到VNMC。

    打开Cisco ASA 1000v实例电源后,通过ASA控制台注册VNMC。

使用Cisco ASA 1000v服务
  1. 确保满足所有的先决条件。

    参阅 “先决条件”.

  2. 添加 VNMC 实例。

    参阅 “添加 VNMC 实例”.

  3. 添加 ASA 1000v 实例。

    参阅 “添加 ASA 1000v 实例”.

  4. 创建一个网络方案,使用Cisco VNMC提供你期望的服务。

    参阅 “使用Cisco ASA 1000v创建一个网络方案”.

  5. 使用你刚创建的网络方案,创建一个隔离的来宾网络。

添加 VNMC 实例

  1. 作为管理员登录到CloudStack用户界面。

  2. 在左侧导航栏中,点击基础架构

  3. 点击区域中的查看更多。

  4. 选择你要设置的区域。

  5. 点击物理网络标签卡。

  6. 点击示意图’网络服务提供程序’中的配置

    你可能需要向下滚动才能看到。

  7. 点击Cisco VNMC

  8. 点击查看VNMC设备。

  9. 点击添加VNMC设备并提供如下信息:

    • 主机:VNMC实例的IP地址。

    • 用户名:CloudStack需要使用VNMC实例中的账户

    • 密码:该账户的密码。

  10. 点击确定。

添加 ASA 1000v 实例

  1. 作为管理员登录到CloudStack用户界面。

  2. 在左侧导航栏中,点击基础架构

  3. 点击区域中的查看更多。

  4. 选择你要设置的区域。

  5. 点击物理网络标签卡。

  6. 点击示意图’网络服务提供程序’中的配置

    你可能需要向下滚动才能看到。

  7. 点击Cisco VNMC

  8. 点击查看ASA 1000v。

  9. 点击添加Cisco ASA 1000v资源并提供如下信息:

    • 主机: ASA 1000v实例的管理地址。该IP地址用来连接ASA 1000V。

    • 内部端口配置文件: 在Cisco Nexus1000v分布式虚拟交换机中配置内部端口。

    • 群集: 你正在添加ASA 1000v实例所在的VMware群集。

      确保在群集中启用了Cisco Nexus 1000v分布式虚拟交换机。

  10. 点击确定。

使用Cisco ASA 1000v创建一个网络方案

要来宾网络支持Cisco ASA 1000v,按照如下信息添加网络方案:

  1. 使用用户或管理员登录到CloudStack用户界面。

  2. 下拉选择方案,选择网络方案:

  3. 点击添加网络方案。

  4. 在对话框中,选择如下操作:

    • 名称: 任何网络方案的名称。

    • 描述: 提供一个简短的方案描述。

    • 网络速度: 允许的数据传输速度(MB/秒)。

    • 流量类型: 允许承载的网络流量类型。

    • 来宾类型: 选择来宾网络为隔离或共享网络。

    • 持续性: 表明来宾网络是否支持持续性。无需提供任何VM部署的网络,称之为持续性网络。

    • VPC: 此选项表明是否在来宾网络中启用VPC。 CloudStack中的虚拟专用云(VPC)是专用、隔离的。 一个VPC可以有一个类似于传统物理网络的虚拟网络拓扑结构。有关的VPC的详细信息,请参阅 “关于虚拟专用云”.

    • 指定: (仅隔离的来宾网络) 表明在使用这个网络方案时,是否指定VLAN。

    • 支持的服务: 使用Cisco VNMC作为服务提供者针对隔离的来宾网络方案提供Firewall, Source NAT, Port Forwarding, 和Static NAT服务。

    • 系统方案: 选择你想在这个网络中使用的虚拟路由器的系统服务方案。

    • 保护模式: 表明是否使用保护模式。在这个模式中,只有网络中第一个虚拟机启动时才分配网络资源。

  5. 点击确定

    已经创建网络方案。

在新的来宾网络中重复使用ASA 1000v设备

您可以在做了必要的清理后重新在新的来宾网络中使用ASA 1000v设备。通常情况下,ASA 1000v is cleaned up when the logical edge firewall is cleaned up in VNMC。如果清理动作没有发生,你需要将设备恢复到出厂设置,才能在新的来宾网络中使用。作为其中的一部分,需要在设备上启用ssh并通过向VNMC注册存储SSH凭证。

  1. 打开ASA设备的命令行:

    1. 运行如下命令:

      1. ASA1000V(config)# reload

      提示您如下信息:

      1. System config has been modified. Save? [Y]es/[N]o:"
    2. 输入N。

      你会得到如下确认信息:

      1. "Proceed with reload? [confirm]"
    3. 重启设备。

  2. 注册ASA 1000v设备到VNMC:

    1. ASA1000V(config)# vnmc policy-agent
    2. ASA1000V(config-vnmc-policy-agent)# registration host vnmc_ip_address
    3. ASA1000V(config-vnmc-policy-agent)# shared-secret key where key is the shared secret for authentication of the ASA 1000V connection to the Cisco VNMC

整合外部来宾负载均衡(可选)

CloudStack可以使用Citrix NetScaler或BigIP F5负载均衡器为客户提供负载平衡服务。如果未启用,CloudStack将使用虚拟路由器中的软件负载平衡。

在CloudStack管理端中安装和启用外部负载均衡:

  1. 根据供应商提供的说明书安装你的设备。

  2. 连接到承载公共流量和管理流量的网络(可以是同一个网络)。

  3. 记录IP地址、用户名、密码、公共接口名称和专用接口名称。接口名称类似 “1.1” 或 “1.2”。

  4. 确保VLAN可以通过trunk到管理网络接口。

  5. 安装好CloudStack管理端后,使用管理员帐号登录CloudStack用户界面。

  6. 在左侧导航栏中,点击基础架构

  7. 点击区域中的查看更多。

  8. 选择你要设置的区域。

  9. 点击网络选项卡。

  10. 点击示意图网络服务提供程序中的配置(你可能需要向下滚动才能看到)。

  11. 点击NetScaler或F5.

  12. 点击(+)添加按钮并提供如下信息:

    对于NetScaler:

    • IP地址:SRX设备的IP地址。

    • 用户名/密码:访问设备的身份验证凭证。CloudStack使用这些凭证来访问设备。

    • 类型:添加设备的类型。可以是F5 BigIP负载均衡器、NetScaler VPX、NetScaler MPX或 NetScaler SDX等设备。关于NetScaler的类型比较,请参阅CloudStack管理指南。

    • 公共接口: 配置为公共网络部分的设备接口。

    • 专用接口: 配置为专用网络部分的设备接口。

    • 重试次数:尝试控制设备失败时重试的次数。默认值是2

    • 容量:该设备能处理的网络数量。

    • 专用: 当标记为专用后,这个设备只对单个帐号专用。该选项被勾选后,容量选项就没有了实际意义且值会被置为1。

  13. 点击确定。

外部负载平衡器的安装和配置完成后,你就可以开始添加虚拟机和NAT或负载均衡规则。