热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

虚拟机vRouter介绍

1vRouter(虚拟路由器)简述CloudStack作为一个虚拟化平台,提供了计算资源、网络资源和存储资源的虚拟化管理和使用。在网络虚拟化上,vRouter起到了至关紧要的作用。几乎所有虚拟网络功能,都是vRouter来实现的,比如:IPAM(DHCP)、DNS、NAT、SourceNAT、
1   vRouter(虚拟路由器)简述

CloudStack作为一个虚拟化平台,提供了计算资源、网络资源和存储资源的虚拟化管理和使用。在网络虚拟化上,vRouter起到了至关紧要的作用。几乎所有虚拟网络功能,都是vRouter来实现的,比如:IPAM (DHCP)、DNS、NAT、Source NAT、防火墙、端口转发、负载均衡、VPN等等。也有些功能可以借助外部设备来实现。

每个来宾网络(客户网络)对应至少一个vRouter,当启动某个网络的第一台客户虚拟机时,vRouter会自动创建出来,若一个客户网络长时间不存在启动的虚拟机,该网络的vRouter会自动关闭。

2   操作系统

CloudStack的vRouter虚拟机使用了Debian 6.0操作系统 2.6.32内核,为了节省开销,仅安装系统所需的程序包,如:xen、vmware和kvm工具,haproxy、iptables、ipsec等网络包,使用最新版本jre保证安全和速度。默认情况下,只打开了3922端口,且只能通过hypervisor服务器ssh上去。

3   vRouter网卡介绍

vRouter有三个网络,分别是外网,来宾网络(客户网络)和链路本地网络。

外网的作用是提供一个外网访问CloudStack内部环境的门户;来宾网络保证外部访问通过vRouter中转后能够到达内部的虚拟机,也为客户虚拟机提供了DHCP和DNS功能;链路本地网络用于内部的一些通信。

4   vRouter提供的主要功能介绍:

CloudStack提供了丰富的网络功能,配置起来却极其容易,只需要从UI简单点击就可以完成,这些功能都是通过vRouter实现的。

点击【网络】,选择网络,然后点击【IP地址】,选择外网IP。然后就可以进行这些网络功能的配置了。

默认情况下,vRouter拒绝外网的一切访问,所以启动任何网络功能,都需要先配置防火墙。点击【防火墙】,可以添加外部访问权限。比如下面配置:

源CIDR:  0.0.0.0/24

协议:  TCP

起始端口:  500

结束端口:  800

意思是允许所有公网IP,通过TCP协议访问vRouter该IP下的500-800端口。

该功能是通过Linux iptables实现,UI配置后,vRouter内部加入相应的ip包过滤规则,使得这些访问得到允许。

端口转发功能,可以让外网直接连接到内网某个虚拟机的指定端口。比如:

点击【端口转发】,添加新的规则:

专用端口:  22

公用端口:  622

协议:  TCP

指定虚机:  i-2-188-VM

则可以通过ssh该公网IP的622端口,直接ssh连接到内部环境虚拟机i-2-188-VM上。

该功能也是通过iptables实现。前面提过vRouter可以同时连接外网和客户网络,从UI上添加一条端口转发规则,vRouter的iptables同时添加该转发规则,从而实现了端口转发功能。

负载均衡功能,可以把外网的访问,分布到多台装有相同服务的内网虚拟机上,扩展服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。比如:

点击【负载均衡】,添加如下规则:

名称:  测试1

公用端口:  522

专用端口:  22

算法:  轮询算法

然后添加2台虚拟机(linux可以ssh访问22端口)进去,这样,通过ssh访问该IP地址的522端口,可以轮询访问到2台虚拟机。

负载均衡功能是通过haproxy实现,UI上添加规则的同时,会修改vRouter内部haproxy的配置文件。

CloudStack提供了虚拟专用网络(Virtual Private Network)功能,可以帮助远程用户、公司分支机构、商业伙伴及供应商同公司的内部网建立可信的安全连接,并保证数据的安全传输。

点击【网络】,选择网络,然后点击【IP地址】,选择外网IP;

点击启动VPN按键;确认点击“是”;

这样该外网IP的VPN就启动了,可以看到,除了详细信息、配置,多出来一个VPN标签,里面记录了IP地址、共享密钥等信息。然后添加该连接的用户,就可以通过这个VPN连接访问内网的虚机了。

CloudStack的VPN功能使用了IPSec技术,当启动VPN服务后,管理服务器会去启动vRouter内的IPSec服务,并进行相关的配置,上文所提到的外网IP实际就是vRouter的IP地址,所有VPN连接都是以vRouter为中转连到内部环境虚拟机的。

客户虚拟机的DNS DHCP Server,都是vRouter内部的Dnsmasq工具实现的。当vRouter创建、启动或者有新虚拟机创建时,系统会动态从数据库加载Dnsmasq配置信息。

5   vRouter相关的全局配置
router.check.interval 报告冗余路由器状态的间隔时间(秒)
router.cpu.mhz 虚拟路由器的缺省CPU速度(MHz)
router.extra.public.nics 为虚拟路由器指定额外的公用网卡(最高5)
router.stats.interval 报告路由器统计间隔时间(秒)
router.template.id 模板的缺省ID

推荐阅读
author-avatar
我hi7娘
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有