玩过CloudStack的朋友都知道,新建区域(Zone)的时候,会有两个选项:

1 基本网络:

提供一个网络,将直接从此网络中为每个 VM 实例分配一个 IP。可以通过安全组等第 3 层方式提供来宾隔离(IP 地址源过滤)。

2 高级网络:

适用于更加复杂的网络拓扑。此网络模式在定义来宾网络并提供防火墙、××× 或负载平衡器支持等自定义网络方案方面提供了最大的灵活性。

具体的关于高级网络跟基本网络的区别,大家可以去查看官方文档或者百度其他兄弟写的资料,本文主要介绍如何配置一个简单的高级网络用于开发或者测试使用。


一 基础环境

管理节点:

IP:10.192.19.223

软件:cloudstack-management  【版本4.1.1】

主机节点:

IP:10.196.28.48

软件: cloudstack-agent       【版本4.1.1】

网络配置文件:

[root@Host ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=none
TYPE=Ethernet
[root@Host ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1.553
DEVICE=eth1.553
ONBOOT=yes
BOOTPROTO=none
VLAN=yes
TYPE=Ethernet
BRIDGE=cloudVirBr553
[root@Host ~]# cat /etc/sysconfig/network-scripts/ifcfg-cloudVirBr553
DEVICE=cloudVirBr553
ONBOOT=yes
BOOTPROTO=none
TYPE=Bridge
IPADDR=10.196.53.220
NETMASK=255.255.255.0
GATEWAY=10.196.53.254

以上配置文件显示,将eth1连接到VLAN ID 为553的交换机接口上面,笔者的交换机接口为TRUNK模式,可以参考该博文配置:http://clovemfong.blog.51cto.com/3297559/1306313


二 添加高级网络区域

登陆CloudStack web管理界面:http://10.192.19.223:8080/client

CloudStack 配置高级网络简明手册_cloudstack

 查看基础架构信息

CloudStack 配置高级网络简明手册_cloudstack_02

创建区域,选择高级网络模式

CloudStack 配置高级网络简明手册_cloudstack_03

 填写区域基本信息

CloudStack 配置高级网络简明手册_cloudstack_04

查看物理网络信息

CloudStack 配置高级网络简明手册_cloudstack_05

填写KVM的流量标签,根据实际情况填写,本人这边全部使用一个标签,就是上文配置的桥接网卡

CloudStack 配置高级网络简明手册_ 高级网络_06

填写公有IP的地址范围

CloudStack 配置高级网络简明手册_cloudstack_07 添加成功

CloudStack 配置高级网络简明手册_ 高级网络_08

填写系统虚机的管理IP地址范围

CloudStack 配置高级网络简明手册_cloudstack_09

填写来宾(实例)分配的私有IP地址范围,自定义即可

CloudStack 配置高级网络简明手册_ 高级网络_10

配置集群名称

CloudStack 配置高级网络简明手册_cloudstack_11

添加KVM主机

CloudStack 配置高级网络简明手册_ 高级网络_12

添加主存储

CloudStack 配置高级网络简明手册_ 高级网络_13

添加二级存储

CloudStack 配置高级网络简明手册_cloudstack_14

配置完成

CloudStack 配置高级网络简明手册_ 高级网络_15

区域创建完成,启动区域

CloudStack 配置高级网络简明手册_ 高级网络_16

查看区域状态为Enabled

CloudStack 配置高级网络简明手册_ 高级网络_17

查看基础架构状态

CloudStack 配置高级网络简明手册_cloudstack_18

系统虚拟机正在启动


CloudStack 配置高级网络简明手册_cloudstack_19

系统虚拟机启动成功

CloudStack 配置高级网络简明手册_ 高级网络_20

登陆KVM主机查看虚拟机以及网卡状态


CloudStack 配置高级网络简明手册_cloudstack_21

添加一个来宾网络(私有IP地址网络地址段)

CloudStack 配置高级网络简明手册_cloudstack_22

创建实例

CloudStack 配置高级网络简明手册_cloudstack_23

CloudStack 配置高级网络简明手册_cloudstack_24

CloudStack 配置高级网络简明手册_cloudstack_25

CloudStack 配置高级网络简明手册_cloudstack_26

CloudStack 配置高级网络简明手册_cloudstack_27

选择上文创建的网络guestnetwork

CloudStack 配置高级网络简明手册_ 高级网络_28

CloudStack 配置高级网络简明手册_cloudstack_29

实例启动中

CloudStack 配置高级网络简明手册_cloudstack_30

CloudStack 配置高级网络简明手册_ 高级网络_31

虚拟路由器开始创建

CloudStack 配置高级网络简明手册_cloudstack_32

虚拟路由器运行成功

CloudStack 配置高级网络简明手册_cloudstack_33

实例也创建成功并运行正常

CloudStack 配置高级网络简明手册_ 高级网络_34

查看实例信息

CloudStack 配置高级网络简明手册_cloudstack_35

查看实例的私有IP地址,该IP地址是任意分配的网段中获取的,故无法使用

CloudStack 配置高级网络简明手册_cloudstack_36

查看网络变化,多出的该IP地址是虚拟路由器的IP地址

CloudStack 配置高级网络简明手册_cloudstack_37

测试是否可以连通虚拟路由器

CloudStack 配置高级网络简明手册_ 高级网络_38

配置该IP的防火墙信息

CloudStack 配置高级网络简明手册_cloudstack_39

添加入口规则,允许ICMP的任意类型

CloudStack 配置高级网络简明手册_cloudstack_40

再次测试,可以ping通

CloudStack 配置高级网络简明手册_cloudstack_41

虚拟路由器的IP地址信息如上图所示

CloudStack 配置高级网络简明手册_cloudstack_42

获取一个新IP地址,用于作为实例的公有IP地址

CloudStack 配置高级网络简明手册_ 高级网络_43

获取到10.196.53.222这样的IP地址

CloudStack 配置高级网络简明手册_cloudstack_44

启用静态NAT功能,将该IP地址分配给实例


CloudStack 配置高级网络简明手册_cloudstack_45

选择将该IP分配给clovem-instance-001实例

CloudStack 配置高级网络简明手册_cloudstack_46

再次查看该IP地址,发现VM名称显示为clovem-instance-001

CloudStack 配置高级网络简明手册_ 高级网络_47

同样进行ping测试,不通

CloudStack 配置高级网络简明手册_ 高级网络_48

对该IP地址进行防火墙策略配置

CloudStack 配置高级网络简明手册_cloudstack_49

允许通过上图所示的所有端口跟类型访问该IP地址

CloudStack 配置高级网络简明手册_ 高级网络_50

再次测试是否可以ping通

CloudStack 配置高级网络简明手册_ 高级网络_51

通过ssh连接该公有IP地址,登陆成功,查看该实例的网卡信息,发现显示的IP地址为私有IP地址,高级网络简单就是如此了。


祝各位好运!