网络指南

刻通云 SDN网络帮助您快速搭建一个完全隔离的虚拟私有云(VPC)环境,并且您可以完全掌控您的虚拟环境,包括自定义IP地址范围、创建子网、配置路由及网关等。 您还可以通过安全隧道连接到您的公司数据中心,或者连接到其他的VPC环境。 而所有这些操作均可以通过直观的可视化界面完成。

核心概念

刻通云SDN网络对传统数据中心的物理网络进行了虚拟化,抽象出以下几个主要概念:

路由器

路由器用于多个私有网络之间互联,并提供端口映射、VPN、GRE隧道、防火墙等附加服务。路由器内置SNAT功能,当路由器绑定公网IP后,VPC内部可以共享一个路由器公网出口。

公网网关

公网网关是VPC私有网络与公有网络之间的通道,如果需要访问公网网络,则必须首先开启公网网关。公网网关默认启用。

当公网网关关闭后,不允许路由器绑定公网IP,也不允许路由器相连子网上的虚拟机绑定公网IP,同时该路由器的端口映射、VPN、GRE等服务均也不可使用。

私有网络

私有网络是一个隔离的二层网络广播域,在这个二层网络中,可以创建多个三层网络,即子网。 子网是私有网络中的一个三层网络,每个子网都有一个CIDR格式的私有网络IP地址段。 属于同一个私有网络的子网IP地址段不能重叠。

当子网关联了路由器,一般会将子网的第一个IP地址作为子网网关地址,并且通过DHCP服务器将这个网关地址推送到云主机,成为云主机默认网关。 创建子网时,默认均开启了DHCP服务,在该子网创建新云主机都将收到子网DHCP服务器发送的IP地址配置信息,比如IP地址、默认网关等信息。

当一个云主机加入了2个或以上的子网(同一台云主机最多允许加入3个网络),每个子网都会往该云主机推送网关。 由于云主机只能有一个默认网关出口,一般来讲最先加入的子网网关为默认网关。 云主机可以手工更改默认网关,也可以配置多张路由表以实现多网络线路。

基础网络

为了简化网络拓扑的构建,我们为所有用户创建了一个共享的基础网络,新注册用户可以不需要做任何网络初始化工作,即可以立即开始使用云平台资源。 基础网络有如下特点:

  • 基础网络不能使用用户自己创建的路由器
  • 基础网络上的云主机可以直接绑定公网IP
  • 用户云主机可以在基础网络与私有网络之间迁移

端口映射

端口映射是指将对路由器公网IP某端口的访问转发到子网的某个云主机上,这样就避免了为每台云主机均绑定浮动IP来访问,也避免了将子网内的云主机直接暴露在公网中。 在使用端口映射前,要给路由器绑定一个公网IP,并在路由器子网上创建需要的云主机。

选定路由器后,切换到“端口映射”标签,点击“添加”就可以创建一个新的端口映射规则:

VPN

VPN帮助您从普通PC或公司服务器远程拨入VPC,实现安全无缝访问。 目前支持通过PPTP、OpenVPN、IPsec等协议接入VPC。

关于VPN的详细使用方法请参考“4. VPN指南”。

GRE隧道

GRE隧道帮助您将已有的数据中心、办公或家庭网络接入VPC中的私有网络,构造公私兼顾的混合云。 GRE隧道通过L3 Over L3的方式支持主流网络设备,您可以用来组建各种网络拓扑,如星形、树形、总线型、环形等。

关于GRE隧道的使用方法请参考“5. GRE指南”。

防火墙

为了加强路由器的安全性,可以在路由器之前放置一个防火墙,而且每个路由器均可以设置不同的防火墙。

默认情况下,路由器未绑定任何防火墙,也就是允许所有的端口/协议。

当您新创建一个防火墙后,该防火墙不包含任何规则,也就是封闭了所有端口,您需要建立规则以打开需要的端口。

公网IP

公网IP为云主机、路由器和负载均衡器提供可直接访问的互联网地址,可以在云主机、路由器和负载均衡器上任意绑定和解绑。

安全组

安全组是云主机网卡上行和下行流量的白名单防火墙,即在名单中的安全组规则允许流量通过。 安全组与云主机的虚拟机网卡绑定,当云主机有多块虚拟网卡时,可以为它们设置不同的安全组。

我们为您创建了一个默认安全组,并在下行方向默认允许ssh、RDP和ICMP等协议的流量通过,而上行方向默认允许所有协议流量通过。

注解

下行方向是指从外部(公网或者其他云主机)访问云主机,而上行方向指从云主机内部访问外部(公网或者其他云主机)。

网络拓扑指南

下面以一个实际的例子来看看如何通过控制台来快速组成一个复杂的网络拓扑。

网络拓扑概览

假设我们要创建四台云主机,并两两放置在两个不同的二层网络里,这两个二层网络通过一个路由器在三层上互通,并将该路由器连接至互联网,即构造一个如下所示的网络拓扑:

操作步骤

步骤一:创建2个二层网络

登陆控制台后,点击左边导航条中的“网络”,在右边主显示区域点击“创建”按钮,即可创建二层网络,分别命名为“dev”和“product”。

步骤二:创建一个路由器

点击左边导航条中的“路由器”后,在右边主显示区域点击“创建”按钮,即可创建一个路由器,命名为“Router”。

步骤三:将两个二层网络连接至路由器

点击步骤二创建的路由器名称Router,在右边主显示区域点击“添加子网”按钮,在弹出的对话框中选中步骤一创建的product子网,并点击“添加”按钮,就把product子网连接到路由器了。

按同样的步骤可以将dev子网连接到路由器Router。

步骤四:创建4台云主机,并分别放置到两个二层网络

点击左边导航条中的“云主机”后,在右边主显示区域点击“创建”按钮,在弹出的窗口中选择镜像、配置、网络和安全组(注意网络选择product或者dev),输入云主机名称,即可创建云主机。

创建完成后,点击左边导航条中的“网络拓扑”,可以看到当前的网络拓扑图。

步骤五:为路由器绑定公网IP

点击左边导航条中的“公网IP”后,在右边主显示区域点击“申请”按钮,在弹出的窗口中选择需要的带宽,并点击“创建”,创建一个公网IP。

再点击左边导航条中的“路由器”后,在右边主显示区域点击前面创建的路由器名称“Router”,在基本信息页里点击“绑定公网IP”,会弹出选择公网IP的对话框,选择刚才创建的公网IP,并完成绑定。

步骤六:将两台Product云主机的服务暴露到公网上

打开路由器基本信息后,在右边主显示区域选择“端口映射”标签,点击“添加”,在弹出的对话框中选择源端口、目的IP和目的端口,分别创建两条从80端口到VM-Pro-1 80端口和从8080端口到VM-Pro-2 80端口的映射规则:

现在,打开两台Product云主机的HTTP服务器,就可以从路由器公网IP的80和8080端口分别访问它们了。

步骤七:为路由器开启防火墙

点击左边导航条中的“防火墙”后,在右边主显示区域点击“创建防火墙”按钮,创建一个防火墙,名称为Firewall-1。创建完成后,点击Firewall-1,打开防火墙基本信息页,点击“规则”,然后添加两条放行80和8080端口的规则:

点击左边导航条中的“路由器”后,在右边路由器列表中点击Router,弹出路由器基本信息,点击关联防火墙,关联刚才创建的Fireall-1。

步骤八:资源清理

当资源不再使用时,及时清理掉不需要的资源以节省开支,在以上各资源的列表页可以删除相应资源。

多网卡路由问题

只有一块网卡的时候,云主机的网络会通过DHCP自动配置,此时云主机会把与该网络相连的路由器设为默认网关,路由不会出问题。

但是云主机添加多块虚拟网卡(同一台云主机最多允许加入3个网络)后,就有可能出现一些异常,比如云主机绑定的公网IP无法访问、云主机无法访问外网或者是通过GRE隧道无法访问云主机了。究其原因是云主机只能选择一个默认网关,当加入多个网络后,其默认路由可能会发生变化,比如:

默认网关变化了,原来绑定公网IP的虚拟网卡的网关不再是默认网关,这就导致通过公网IP进入到那个虚拟网卡的数据包,在回包时却因为默认路由发往了另外一个网关,因此公网IP就不通了;

同时存在两个默认网关,数据包有可能走了其中一个不能通公网的网关;

默认网关消失了,导致云主机的数据包无法发送到路由器。

那如何排查路由问题呢?当碰到外网无法连接时,应该首先查看该云主机的网络拓扑是否正确,是否已连接到公网,路由器或云主机是否已绑定公网IP;如果连接了多个网络,可以先尝试将未连接公网的虚拟网卡卸载,如果卸载后恢复正常则很可能是路由表错误引起的。

可以通过命令“router -n”(Linux)或“route print”(Windows)检查路由表,可以看到有一行 Gateway 不是 0.0.0.0,如果这个 Gateway 不是正确的路由器的地址,对于 Linux,可以通过“route del default gw 172.16.0.1”(假设不正确的网关是172.16.0.1)删除原网关,再用“route add default gw 192.168.0.1”(假设正确的网关是192.168.0.1)添加正确的网关即可:

对于Windows,可以通过“route delete 0.0.0.0 mask 0.0.0.0 172.16.0.1”(假设不正确网关为172.16.0.1)删除原网关,通过“route -p add 0.0.0.0 mask 0.0.0.0 192.168.0.1”(假设正确网关是192.168.0.1)添加正确的网关: