使用Windows Server 2008 R2的单台服务器托管解决方案

  1 单服务器主机托管解决方案(Windows 2003+ISA+VMware Server)

  有些单位在电信、网通或其他运营商机房放置了台服务器进行托管这些服务器般会获得个公网IP并且用“主机头名”思路方法放置多个网站WebSite或论坛

  对于大部分人来说如果只放个网站WebSite那么将服务器安装个Windows Server 2003或Linux直接放网站WebSite就可以了对于有些用户来说需要放置多个网站WebSite而这些网站WebSite中些个人网站WebSite是企业网站WebSite当网站WebSite“来源”不时候可能有网站WebSite代码有“漏洞”可能在这样、那样问题这样如果所有网站WebSite还像以前都放在同个服务器中就可能被黑客通过 “跨站攻击”方式修改同服务器上其他网站WebSite甚至入侵整个系统

  为了解决这个问题我曾经提出过个解决方案主机安装32位Windows Server 2003企业版(最多可以支持8GB内存)在主机上安装ISA Server 2006标准版和VMware Server 1.x版本并在VMware Server中安装多个虚拟机将网站WebSite分类将不太重要网站WebSite放在个虚拟机中将重新网站WebSite单独放在别虚拟机中并且用ISA Server发布VMware Server虚拟机中网站WebSite这样达到了使用1台服务器、1个公网地址而实现了需要多台托管服务器才能解决问题并且提高了网站WebSite安全性这个方案在很长段时间内使用证明是非常成功

  2 以前方案存在问题

  但现在计算机发展越来越快而用户需要放置网站WebSite越来越多这时候就需要更多虚拟机并且需要虚拟机具有更高性能但使用ISA Server加VMware Server方案有个“先天不足”地方就是当时ISA Server只能安装在32位Windows Server 2003中而32位Windows Server 2003最多只能使用8GB内存这是其;其 2VMware Server虚拟机提供性能并不能让人满意(VMware ESX Server提供虚拟机性能是很好)

  在几年前个朋友服务器(8GB内存、1个4核CPU、5块320GB硬盘做RAID 5)托管在电信机房使用就是我提供Windows Server 2003+ISA Server+ VMware Server解决方案随着这几年来服务器中网站WebSite数量增加网站WebSite访问量增大感觉到这种方案已经不适合现在需求

  3 Windows Server 2008+TMG2010+Hyper-V Server不能共存

  当Windows Server 2008发布时候其集成Hyper-V Server虚拟机经过测试性能可以满足要求同时Windows Server 2008可以支持更多内存但ISA Server 2006并不能在Windows Server 2008下运行只能等ISA Server个版本虽然Windows Server 2008早已发布但ISA Server 2006个版本TMG2008直到2009年底才发布发布时名称也改为了TMG2010这个产品必须要64位硬件、Windows Server 2008操作系统支持

  那这样好了那是不是可以借鉴Windows Server 2003+ISA Server 2006+VMware Server 1.x经验呢?主机安装Windows Server 2008 R2+TMG2010+Hyper-V Server让Hyper-V Server实现虚拟机用TMG2010转发呢?想法是美好但现实是残酷经过我实验这个思路方法是完全行不通

  4 解决思路

  现在来看条件和需求:单台托管高性能物理服务器使用Hyper-V虚拟机实现多台服务器需要让每台虚拟机对外提供服务并能让用户远程管理

  要实现这个功能简单来说有两种思路方法:多IP地址思路方法和单IP地址思路方法

  4.1 多IP地址实现思路方法

  主机安装Windows Server 2008 R2并启用Hyper-V Server功能创建多个虚拟机每个虚拟使用个公网IP地址每个用户可以使用“远程桌面”连接到其所在虚拟机这样可以保证每个虚拟机独立性而Hyper-V Server虚拟机性能也足以满足需要

  例如:托管服务器有1块网卡具有个公网地址使用Hyper-V可以创建多个虚拟机每个虚拟机给个或多个用户使用而每个用户主要是在托管服务器上提供网站WebSite服务而在只有个公网IP地址前提下“路由和远程访问服务”是不能将网站WebSite服务所需要默认端口TCP80同时转发到多个区别内网地址这时候就需要借助域名服务中URL转发功能由于这个思路比较简单所以不展开介绍

  4.2 单IP地址端口法

  但是IP地址虽然“不值钱”托管服务器人也“不差钱”但IP地址并不是想要多少就有多少所以许多时候只能使用1个公网IP地址

  要想使用1个公网地址而又在此公网地址“的后”有多个虚拟机每个虚拟机中又有多个网站WebSite那必须需要个类似ISA Server(现在称作TMG)进行“主机头名”或者“TCP端口”转发才能实现多网站WebSite而Windows Server 2003、Windows Server 2008中“路由和远程访问服务”是可以实现TCP端口转发功能

  但是虽然使用1个公网IP+多TCP端口实现多个网站WebSite但采用“端口法”网站WebSite人们在访问时候还要键入相应端口才能访问例如 http://www.wangchunhai.cn:8001等这样不利于网站WebSite推广也不利于用户记住网站WebSite对于这个问题可以使用某些商业 DNSURL转发功能解决例如对于刚刚提到网站WebSitehttp://www.wangchunhai.cn:8001完全可以将对 www.wangchunhai.cn站点访问通过URL转发功能转发到http://www.wangchunhai.cn:8001目前许多 DNS提供了这个功能

  如果你网站WebSite没有进行备案目前许多DNS服务器是不允许使用URL转发这时候就可以由IIS中“网站WebSite重定向(HTTP跳转)”功能将对www.wangchunhai.cn访问转到www.wangchunhai.cn:8001网站WebSite

  下面将介绍这个思路实现步骤

  5 单公网IP地址、单Windows Server 2008托管服务器、多虚拟机解决方案

  Windows Server 2008集成了Hyper-V Server和“路由和远程访问服务”借助于这两个服务可以将托管在电信机房台服务器当成多台服务器使用并对外提供服务关键点如下:

  ü 使用Hyper-V Server创建多个虚拟机并让虚拟机使用“虚拟网络”

  ü 使用“路由和远程访问服务”采用“端口映射”功能将主机(外网)端口转发到需要虚拟机中

  5.1 案例描述

  A企业在电信机房托管1台服务器获得公网地址假设该地址为123.182.242.12;在这台服务器上创建了两个虚拟机分别给 B、C两个用户使用

  B用户获得虚拟机IP地址是192.168.10.10B想要在这个虚拟机中配置 3个网站WebSitewww.aa.com、 www.a2.net、www.a3.cc;

  C用户获得虚拟机IP地址是192.168.10.11B想要在这个虚拟机中配置2个网站WebSitewww.ccc.com、 www.ccd.net

  则A可以将TCP801~813等端口映射给192.168.10.10虚拟机使用还可以将TCP800映射给A“远程桌面”所使用TCP3389端口用于远程桌面管理在实际分配中还可以多映射些端口将来为用户B添加新网站WebSite使用在本例中映射了TCP800~819 端口给虚拟机B;将TCP820~829映射给192.168.10.11虚拟机然后再通过相应URL转发功能将这些网站WebSite访问重定向到真正网站WebSite地址如下表所示

  用户   网站WebSite   IP:端口   虚拟机IP   外网端口
  用户B   www.aa.com   192.168.10.10:801   VM1,192.168.10.10   801~819→192.168.10.10
  www.a2.net   192.168.10.10:802
  www.a3.cc   192.168.10.10:803
  用户B远程管理   3389   外网800→10.10:3389
  用户C   www.ccc.com   192.168.10.11:821   192.168.10.11   821~829→192.168.10.11
  www.ccd.net   192.168.10.11:822
   
  用户C远程管理   3389   外网820→10.11:3389



  下面介绍实现主要步骤

  5.2 Hyper-V Server处设置

  管理员A登录到托管主机(安装Windows Server 2008 X64+Hyper-V Server)进入“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.1IP地址如图3所示同样对于C用户虚拟机设置IP地址为192.168.10.11网关地址为192.168.10.1



  查看原图(大图)

  图3 为用户虚拟机设置IP地址、网关地址

  (4)在Windows Server 2008主机上添加“路由和远程访问服务”(如图4所示)此时主机外网IP是123.182.242.12;内网IP地址是 192.168.10.1



  查看原图(大图)

  图4 添加“路由和远程访问服务”

  (5)参照表1要求映射TCP800~819到192.168.10.10IP地址映射TCP820~829到 192.168.10.11IP地址在映射时候“传入端口”和“传出端口”可以也可以不这可以根据自己爱好或者规定好设置其中“传入端口”指是公网IP地址所使用端口是对Internet用户所公布、允许Internet用户访问端口在此就是表1所规划 TCP800~819;而“传出端口”指映射到“专用地址”中服务端口例如将TCP800映射到192.168.10.103389端口 (如图5所示)对于Internet中用户来说可以通过使用“远程桌面连接”连接“公网地址”和800端口连接到B虚拟机远程桌面再举假设将TCP801映射到192.168.10.10801则可以在B虚拟机中创建IIS网站WebSite该网站WebSite保存www.aa.com站点内容该网站WebSite使用TCP801端口而不是使用TCP80端口这样Internet用户可以通过访问http:// 123.182.242.12:801访问www.aa.com内容



  查看原图(大图)

  图5 映射端口到指定内网计算机

  5.3 用户B操作

  用户B使用远程桌面登录123.182.242.12:800到虚拟机中添加IIS服务创建 3个网站WebSite其中www.aa.com网站WebSite使用TCP801端口(如图6所示)www.a2.net使用TCP802端口www.a3.cc网站WebSite使用TCP803端口这样就达到了创建多个网站WebSite



  查看原图(大图)

  图6 使用TCP801端口创建www.aa.com网站WebSite

  而用户C操作和此类似:登录123.182.242.12:820到虚拟机中在IIS中创建两个网站WebSitewww.ccc.com网站WebSite使用 TCP821端口www.ccd.net使用TCP822端口

  5.4 远程测试

  登录到远程台服务器或者让Internet用户在IE中浏览http://123.182.242.12:801打开B虚拟机中 www.aa.com网站WebSite如图7所示



  查看原图(大图)

  图7 在外网打开虚拟机B网站WebSite

  5.5 用户DNS管理处

  如果用户认为http://123.182.242.12:801访问www.aa.com不容易“记住”则可以采用DNS提供“URL 转发申请”功能将用户对www.aa.com访问转到http://www.aa.com:801这样比较符合大家习惯

  区别域名服务商提供URL转发功能不太但都是在其提供“DNS管理处”进行设置如图8、图9所示这是将对 rms.wangchunhai.cn访问转发到http://rms.heuet.org:8001



  查看原图(大图)

  图8 URL转发申请



  查看原图(大图)

  图9 URL转发设置

  【介绍说明】当然在提供这些功能时候需要在DNS管理处将www.aa.comA记录解析为托管Windows Server 2008主机公网IP地址在本例中为123.182.242.12

  5.6 使用IIS转发

  如果DNS不支持“URL转发”功能或者你域名没有通过“备案”则不能提供URL转发申请这时候就可以利用IIS“HTTP转发”功能将对http://www.aa.com访问转发到http://www.aa.com:801此时需要进行如下操作(需要管理员A进行设置)

  (1)管理员A在Windows Server 2008主机上安装“Internet信息服务”在安装时候要安装“HTTP重定向”功能(如图10所示)以及安装“IIS管理工具”



  查看原图(大图)

  图10 安装IIS并安装HTTP重定向功能

  (2)在主机上创建个文件夹并且在该文件夹创建多个目录为了方便日后管理目录名称要和B、C用户网站WebSite名称相同或相似例如在 D盘site目录中创建www.aa.com、www.aa.net目录



  查看原图(大图)

  (3)进入“Internet信息服务器”中创建网站WebSite其主机头为www.aa.com目录为D盘对应文件夹本例为d:\site \www.aa.com如图12所示



  查看原图(大图)

  图12 创建网站WebSite

  (4)然后在“Internet信息服务管理器”中选择新创建网站WebSitewww.aa.com在右侧“功能视图”中双击“HTTP重定向” 选中“将请求重定向到此目标”并且键入重定向后网址http://www.aa.com:801并且在“状态代码”下拉列表中选择“永久(301)”然后单击右侧“应用”链接让设置生效如图13所示



  查看原图(大图)

  图13 重定向到真正网站WebSite

  (5)在远程计算机上在浏览器中键入www.aa.com时候会被定向到http://www.aa.com:801测试完成如图 14所示



  查看原图(大图)

  图14 在远程主机上测试

  【介绍说明】aa.com是本次实验域名所以在你真正测试时候需要修改远程测试主机和Windows Server 2008本地主机hosts文件添加到www.aa.com解析到正确公网地址:

  123.182.242.12 www.aa.com

  这样才能完成整个测试

  而对于其他需要转发网站WebSite在主机“Internet信息服务管理器”中创建每“HTTP重定向”这些就不介绍了

  出处http://wangchunhai.blog.51cto.com/225186/304517

Tags: 

延伸阅读

最新评论

发表评论