您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > 6使用Windows-Server-2008-R2的单台服务器托管解决方案
使用WindowsServer2008R2的单台服务器托管解决方案2010-04-2520:49:37标签:晒文章WindowsServer2008R2原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处、作者信息和本声明。否则将追究法律责任。单服务器主机托管解决方案(Windows2003+ISA+VMwareServer)有一些单位在电信、网通或其他运营商的机房,放置了一台服务器进行托管,这些服务器一般会获得一个公网IP,并且用“主机头名”的方法,放置多个网站或论坛。对于大部分人来说,如果只放一个网站,那么将服务器安装个WindowsServer2003或Linux,直接放网站就可以了。对于有些用户来说,需要放置多个网站,而这些网站中,有的是一些个人网站,有的是企业的网站。当网站的“来源”不一的时候,可能有的网站代码有“漏洞”,有的可能在这样、那样的问题,这样,如果所有的网站还像以前一样,都放在同一个服务器中,就可能被黑客通过“跨站攻击”的方式,修改同一服务器上的其他网站,甚至入侵整个系统。为了解决这个问题,我曾经提出过一个解决方案,主机安装32位WindowsServer2003企业版(最多可以支持8GB内存),在主机上安装ISAServer2006标准版与VMwareServer1.x版本,并在VMwareServer中安装多个虚拟机。将网站分类,将不太重要的网站放在一个虚拟机中,将重新的网站单独放在别的虚拟机中,并且用ISAServer发布VMwareServer虚拟机中的网站,这样达到了使用1台服务器、1个公网地址而实现了需要多台托管服务器才能解决的问题,并且提高了网站的安全性。这个方案,在很长的一段时间内使用,证明是非常成功的。2以前方案存在的问题但现在计算机的发展越来越快,而用户需要放置的网站越来越多,这时候就需要更多的虚拟机,并且需要虚拟机具有更高的性能。但使用ISAServer加VMwareServer的方案,有个“先天不足”的地方就是,当时ISAServer只能安装在32位的WindowsServer2003中,而32位的WindowsServer2003,最多只能使用8GB的内存,这是其一;其二,VMwareServer虚拟机提供的性能,并不能让人满意(VMwareESXServer提供的虚拟机性能是很好的)。在几年前,一个朋友的服务器(8GB内存、1个4核CPU、5块320GB硬盘做的RAID5)托管在电信机房,使用的就是我提供的WindowsServer2003+ISAServer+VMwareServer的解决方案。随着这几年来服务器中网站的数量增加,网站访问量的增大,感觉到这种方案已经不适合现在的需求。3WindowsServer2008+TMG2010+Hyper-VServer不能共存当WindowsServer2008发布的时候,其集成的Hyper-VServer虚拟机,经过测试,性能可以满足要求。同时WindowsServer2008可以支持更多的内存。但ISAServer2006并不能在WindowsServer2008下运行,只能等ISAServer的下一个版本。虽然WindowsServer2008早已发布,但ISAServer2006的下一个版本TMG2008直到2009年底才发布,发布时名称也改为了TMG2010,这个产品必须要64位的硬件、WindowsServer2008操作系统的支持。那这样好了,那是不是可以借鉴WindowsServer2003+ISAServer2006+VMwareServer1.x的经验呢?主机安装WindowsServer2008R2+TMG2010+Hyper-VServer,让Hyper-VServer实现虚拟机用TMG2010转发呢?想法是美好的,但现实是残酷的,经过我的实验,这个方法是完全行不通的。4解决思路现在来看条件与需求:单台托管的高性能物理服务器,使用Hyper-V虚拟机实现多台服务器。需要让每台虚拟机对外提供服务并能让用户远程管理。要实现这个功能,简单来说,有两种方法:多IP地址方法与单IP地址方法。4.1多IP地址实现方法主机安装WindowsServer2008R2,并启用Hyper-VServer功能,创建多个虚拟机,每个虚拟使用一个公网的IP地址,每个用户可以使用“远程桌面”连接到其所在的虚拟机。这样可以保证每个虚拟机的独立性,而Hyper-VServer虚拟机的性能也足以满足需要。例如:托管的服务器有1块网卡,具有一个公网地址。使用Hyper-V可以创建多个虚拟机,每个虚拟机给一个或多个用户使用。而每个用户主要是在托管的服务器上提供网站服务。而在只有一个公网IP地址的前提下,“路由和远程访问服务”是不能将网站服务所需要的默认端口TCP的80同时转发到多个不同的内网地址的。这时候,就需要借助域名服务中的URL转发功能。由于这个思路比较简单,所以不展开介绍。4.2单IP地址端口法但是,IP地址虽然“不值钱”,托管服务器的人也“不差钱”,但IP地址并不是想要多少就有多少的,所以,许多时候只能使用1个公网IP地址。要想使用1个公网地址,而又在此公网地址“之后”有多个虚拟机,每个虚拟机中又有多个网站,那必须需要一个类似ISAServer(现在称作TMG)的程序,进行“主机头名”或者“TCP端口”转发,才能实现多网站。而WindowsServer2003、WindowsServer2008中的“路由与远程访问服务”是可以实现TCP端口的转发功能的。但是,虽然使用1个公网IP+多TCP端口实现多个网站,但采用“端口法”的网站,人们在访问的时候,还要键入相应的端口才能访问,例如等,这样一来,不利于网站的推广,也不利于用户记住网站。对于这个问题,可以使用某些商业DNS的URL转发功能解决。例如,对于刚刚提到的网站,完全可以将对站点的访问,通过URL转发功能,转发到,目前许多DNS提供了这个功能。如果你的网站没有进行备案,目前许多DNS服务器是不允许使用URL转发的,这时候,就可以由IIS中的“网站重定向(HTTP跳转)”功能,将对的网站。下面将介绍这个思路的实现的步骤。5单公网IP地址、单WindowsServer2008托管服务器、多虚拟机解决方案WindowsServer2008集成了Hyper-VServer与“路由和远程访问服务”,借助于这两个服务,可以将托管在电信机房的一台服务器,当成多台服务器使用,并对外提供服务。关键点如下:ü使用Hyper-VServer创建多个虚拟机,并让虚拟机使用“虚拟网络”ü使用“路由和远程访问服务”,采用“端口映射”功能,将主机的(外网)端口转发到需要的虚拟机中。5.1案例描述A企业,在电信机房托管1台服务器,获得公网地址一个,假设该地址为123.182.242.12;在这台服务器上,创建了两个虚拟机,分别给B、C两个用户使用。B用户,获得的虚拟机的IP地址是192.168.10.10。B想要在这个虚拟机中配置三个网站、、;C用户,获得的虚拟机的IP地址是192.168.10.11。B想要在这个虚拟机中配置2个网站、。则A可以将TCP的801~813等端口映射给192.168.10.10的虚拟机使用,还可以将TCP的800映射给A的“远程桌面”所使用的TCP的3389端口,用于远程桌面管理。在实际分配中,还可以多映射一些端口,将来为用户B添加新网站使用,在本例中,映射了TCP的800~819端口给虚拟机B;将TCP的820~829映射给192.168.10.11的虚拟机,然后再通过相应的URL转发功能,将这些网站的访问重定向到真正的网站地址。如下表所示。用户网站IP:端口虚拟机IP外网端口用户B~819→192.168.10.10:803用户B远程管理3389外网800→10.10:3389用户C~829→192.168.10.11用户C的远程管理3389外网820→10.11:3389下面介绍实现的主要步骤。5.2Hyper-VServer处设置管理员A登录到托管的主机(安装的WindowsServer2008X64+Hyper-VServer),进入“Hyper-V管理程序”,进行如下的操作:(1)在Hyper-V中添加名为“内部网络”的虚拟网络,该虚拟网络的“连接类型”为“仅内部”,如图1所示。图1添加“仅内部”网络的虚拟网卡添加之后,打开主机的“网络连接”,设置“内部网络”虚拟网卡的IP为192.168.10.1。(2)为B、C用户创建的两台虚拟机,分配虚拟网卡时,使用图1中添加的“内部网络”的虚拟网卡,如图2所示。图2为虚拟机分配内部网卡(3)进入B用户的虚拟机,设置IP地址为192.168.10.10、网关地址为192.168.10.1的IP地址,如图3所示。同样,对于C用户的虚拟机,设置IP地址为192.168.10.11,网关地址为192.168.10.1。图3为用户虚拟机设置IP地址、网关地址(4)在WindowsServer2008主机上,添加“路由和远程访问服务”(如图4所示),此时主机外网IP是123.182.242.12;内网IP地址是192.168.10.1。图4添加“路由和远程访问服务”(5)参照表1的要求,映射TCP的800~819到192.168.10.10的IP地址,映射TCP的820~829到192.168.10.11的IP地址。在映射的时候,“传入端口”与“传出端口”可以一样,也可以不一样。这可以根据自己的爱好,或者规定好的设置。其中,“传入端口”指的是公网的IP地址所使用的端口,是对Internet用户所公布的、允许Internet用户访问的端口,在此就是表1所规划的TCP的800~819;而“传出端口”指映射到的“专用地址”中的服务端口。例如,将TCP的800映射到192.168.10.10的3389端口(如图5所示),对于Internet中的用户来说,可以通过使用“远程桌面连接程序”连接“公网地址”与800端口,连接到B虚拟机的远程桌面。再举一例,假设将TCP的801映射到192.168.10.10的801,则可以在B的虚拟机中,创建IIS网站,该网站保存的站点内容,该网站使用TCP的801端口,而不是使用TCP的80端口。这样,Internet的用户,可以通过访问访问的内容。图5映射端口到指定的内网计算机5.3用户B的操作用户B,使用远程桌面,登录123.182.242.12:800到虚拟机中,添加IIS服务,创建三个网站,其中端口(如图6所示),端口,端口。这样就达到了创建多个网站的目的。图6使用TCP的801端口创建的操作与此类似:登录123.182.24
本文标题:6使用Windows-Server-2008-R2的单台服务器托管解决方案
链接地址:https://www.777doc.com/doc-5539943 .html