关于 Apache CloudStack 的 最佳实践 (二)
防火墙的设定
Hardware Firewall
部署Apache CloudStack时,建议部署一套防火墙系统已保护Apache CloudStack的云管理服务。在防火墙的选用方面,既可以使用通用防火墙、也可以使用诸如Juniper SRX一类的专用防火墙。
硬件防火墙的选用要能满实现以下两个目的:
- 保护好Apache CloudStack的云管理服务。配置网络地址转换和端口转发后,应该能管控来自公网的对Apache CloudStack的云管理服务访问流量。
- 在多个专职地带间路由云内管理网流量,多个专职地带间的点对点VPN也需要被配置。
要实现上述目的,你必须为硬件防火墙设置固定的配置项。硬件防火墙的规则策略不能像Apache CloudStack云内的软件防火墙那样可变。任何支持网络地址转换和点对点VPN的硬件防火墙都可使用。
对Juniper SRX系列防火墙集成云外的客户机网路防火墙:
【仅适用于使用了高级网络模型的虚拟机实例】
Apache CloudStack提供了直接管理Juniper SRX系列防火墙的服务,这允许Apache CloudStack建立公网IP到虚拟机实例的静态NAT映射、并用Juniper SRX系列防火墙取代服务于云内防火墙服务的虚拟路由器。在每个专职地带中可以使用一个或多个Juniper SRX系列防火墙。如果Juniper SRX系列防火墙中没有提供一体化功能,Apache CloudStack仍会使用服务于云内防火墙服务的虚拟路由器。
Juniper SRX系列防火墙可以和云外负载均衡器协同使用。云外的网路元素可以以并联配置或串联配置的形式部署。
在Apache CloudStack和Juniper SRX系列防火墙联用是应当这样配置:
- 根据Juniper SRX系列防火墙使用说明安装SRX应用程序。
- 把一个网口连接到Apache CloudStack的云内管理网路、一个网口连接到公网。或者,你也可以把同一个网口接入到Apache CloudStack的云内管理网路和公网中(需要用VLAN区分出公网流量)。
- 确保在对云内的网口上启用了VLAN的TAG标记。
- 记录对公网和对云内网的网口名称。如果你在对公网的网口上使用了VLAN ,那就在此网口之后添加VLA-TAG标签。例如,假定你使用网口ge-0/0/3 作为对公网的网口、且计划使用的VLAN-TAG是301,那么这个网口应该被配置为"ge-0/0/3.301"、此时对云内网的网口应当保持无VLAN-TAG状态。Apache CloudStack会自动创建打了VLAN-TAG的逻辑网口。
- 创建一个公网的安全地带和云内网的安全地带。默认情况下他们是已经创建好的,安全地带内外分别被称作可信区和不可信区。把对公网的网口放入到公网安全地带、把对云内网的网口放入到云内网的安全地带,并记下安全带带的名称。
- 确保在公网安全地带和云内网安全地带之间有允许网路流量通过的安全策略。
- 当Apache CloudStack组件是编程规则时,请记下你希望它登录的账户的用户名和密码。
- 确保 "ssh"和"xnm-clear-text"服务处于启用状态。
- 如果你期望网络流量可被测量:
- 可以创建一条入栈防火墙规则和出栈防火墙规则,他们应分别和公网的安全地带及云内网的安全地带名称相同、且设定为"特定接口"。例如当公网的安全地带为不可信区、云内网的安全地带为可信区时,应配置成如下防火墙规则:
- 把防火墙规则添加到你的对公网网口上。例如,对公网的网口是 ge-0/0/3.0、公网的安全地带为不可信区、云内网的安全地带为可信区时应配置成如下防火墙规则:
- 确保所有的VLAN 都可被带到对云内网的网口。
- Apache CloudStack云管理服务比安装后,要以"administrator"登录到Apache CloudStack的web-Portal。
- 在Apache CloudStack的web-Portal的左侧导航栏中点击"基础设施"。
- 浏览安全地带中的更多内容。
- 选中你计划使用的安全地带。
- 点击"网络"标签。
- 在"网络服务提供者"的图标中点击"配置"。
- 点击"SRX"。
- 填写如下信息:
·IP地址:SRX的IP地址
·用户名:SRX上供Apache CloudStack账户使用的用户名
·密码:SRX上供Apache CloudStack账户使用的用户密码
·对公网网口:SRX上对公网的网口,参考格式为 ge-0/0/2.VLAN-ID
·对云内网网口:SRX上对公网的网口,参考格式为 ge-0/0/1
·网路流量测定网口:用于测定网路流量的网口,默认为对公网网口
·尝试次数:在SRX上执行命令的尝试次数,默认为2次
·超时时间:在SRX上执行命令后的等待时长,默认为300秒
·公网名称:在SRX上的对公网名称,例如"trust"
·云内网名称:在SRX上的对云内网名称,例如"untrust"
·网路容量:SRX设备能够处理的网路数量
·专注性:当SRX设备被标记为"专注"后,它将被分配给某单一账户。此时上述"网路容量"中设定的值将无意义、这个值实际上会成为"1"。
- 点击"O.K."。
点击"全局设定",给"external.network.stats.interval"设定参数以指定Apache CloudStack从SRX上获取网络指标统计信息。如果你不打算从SRX上采集网络指标统计信息,这个值就可以设定为"0"。