博客统计信息

51cto专家博客 51cto博客之星
用户名:yuelei
文章数:210
评论数:8341
访问量:3393518
无忧币:11472
博客积分:10033
博客等级:9
注册日期:2007-07-24

发布多个Web站点完全攻略:ISA2006系列之十
2008-07-09 23:53:21
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://yuelei.blog.51cto.com/202879/86828
Web服务器发布完全攻略
 
ISA2006最常用的三大功能是访问控制,服务器发布和VPN。访问控制我们在之前的博文中已经谈了不少,今天我们来讨论一下服务器发布。ISA把服务器发布分为Web服务器发布和非Web服务器发布,Web服务器发布又可以细分为安全Web站点发布和Web站点发布,今天我们讨论的是Web站点发布,也就是不使用证书的Web服务器发布。本文将介绍发布Web站点常用的一些技巧以及注意事项,希望能对大家有所帮助。
服务器发布简单地说就是把内网或DMZ的服务器发布到ISA的外网网卡上,让外网用户通过ISA的外网IP就能访问到被发布的服务器。但为什么需要用发布规则呢?为什么不能用访问内规则呢?创建一条访问规则允许外网访问内网被发布的服务器岂不是很简单,而且有些朋友还真就这么做过。俺来解释一下这个问题,什么时候该用访问规则,什么时候该用发布规则取决于源网络和目标网络的网络规则(请参考[url]http://yuelei.blog.51cto.com/202879/84995[/url])。如果源网络和目标网络间的网络规则允许访问,那我们就应该使用访问规则;如果源网络和目标网络间的网络规则不允许访问,那我们就应该使用发布规则。举个例子,内网到外网的网络关系是NAT,网络规则允许从内网到外网单向访问。如果内网访问外网的服务器,我们应该用访问规则;但如果外网要访问内网的服务器,就只能通过发布规则了。
访问规则和发布规则还有一个地方有区别,访问规则使用的协议,方向都是出站;而发布规则使用的协议,方向都是入站。
介绍了一些发布规则的理论,接下来就通过几个实验来介绍如何发布Web服务器。实验拓扑如下图所示,DenverPerth是内网的Web服务器,Istanbul是外网的测试计算机,Denver同时也是内网的DNS服务器,我们在内网部署了域环境,实际上域并非实验必须,在工作组环境下也是完全可以的。
 
发布单个Web站点
先处理一种最简单的发布场景,我们把内网的一个Web站点发布出来即可。我们要发布的目标是Denver上的默认Web站点,Denver的域名为Denver.contoso.com,现在我们来看看应该如何操作。
ISA服务器上以此点击 开始-程序-Microsoft ISA ServerISA服务器管理,右键点击防火墙策略,如下图所示,选择新建“网站发布规则”。
 
为新建的发布规则取名为“发布内网的Denver.contsoo.com”。
 
当访问请求符合规则要求时,ISA允许访问请求。
 
选择“发布单个网站或负载平衡器”。
 
由于此次发布没有使用证书,因此我们选择使用不安全的连接发布Web站点。
 
内部被发布的站点是Denver.contoso.com,如果担心ISA解析Denver.contoso.com有问题,可以输入DenverIP地址10.1.1.5
 
我们选择发布路径为 /*/*代表根目录,意思是要把Denver网站的所有内容都发布出来。
 
接下来要设置被发布站点的公共名称,也就是外网访问被发布站点时应采用哪种形式。如下图所示,如果我们在接受请求中选择“任何域名”,那意味着外网的访问者可以不限定访问域名,只要访问者使用的域名能解析为ISA的外网IP就可以,甚至可以直接用IP访问。
 
接下来我们要使用侦听器来监听ISA80端口,安装ISA时要求不能有进程监听80端口,就是为了避免和ISAWeb侦听器冲突。由于当前没有可用的侦听器,我们点击“新建”,准备创建一个侦听器。
 
出现新建侦听器向导,我们为侦听器取名为“Listen 80”。
 
此次发布没有使用证书,不需要于客户端建立SSL安全连接。
 
让侦听器监听外部网络,也就是说侦听器将监听192.168.1.25480端口。
 
侦听器不需要对用户进行身份验证,我们选择“没有身份验证”。
 
这次发布不需要单一登录设置。
 
点击完成结束创建侦听器。
 
回到创建发布规则向导,选择使用刚刚创建的侦听器“Listen 80”。
 
不要求客户端进行身份验证。
 
此发布规则适用于所有用户。
 
点击完成结束发布向导的创建。
 
等发布规则生效后,我们在外网客户机Istanbul上测试一下发布效果。首先我们用IP直接访问,如下图所示,我们在浏览器中输入192.168.1.254,结果如下图所示,发布成功!
 
再用域名访问,为简单起见,我们在外网没有部署DNS,域名解析用hosts文件完成,hosts文件在\windows\system32\drivers\etc目录下,内容如下图所示。在真正的生产环境下,自然会有公网的DNS服务器帮助解析。
 
有了Hosts文件帮助解析,在Istanbul上用IE访问denver.contoso.com,结果如下图所示,也成功了!
由此可见,如果用ISA发布单个站点,还是一件相当容易的事情。
 
发布多个Web站点
现在我们要加点难度了,这次的发布任务是发布多个站点,内网的DenverPerth上都有Web站点需要发布。我们该如何处理呢?解决思路有两个,一是创建两个侦听器,分别监听ISA外网IP的不同端口。然后创建两个发布规则,一个发布Denver,另一个发布Perth,两个发布规则中分别调用两个侦听器;二是只用一个侦听器,创建两个发布规则分别发布DenverPerth,两个发布规则依靠ISAWeb过滤能力进行区分。
考虑到如果创建两个侦听器,那外网用户访问其中一个网站时肯定要用到非标准的80端口,这并非一个好的选择,因此我们倾向于采用第二种方法。那现在我们就面临一个问题,当外网用户访问ISA外网IP80端口时,我们怎么能区分出访问者是要访问Denver还是Perth呢?我们可以利用发布网站的公共名称来加以区分,例如我们可以规定Denver网站的公共名称是Denver.contoso.comPerth网站的公共名称是Perth.contoso.com,这样根据外网用户访问域名的不同,我们就可以区分出外网用户访问的目标网站到底是谁。
我们看看具体该如何去做,首先我们要为Perth网站创建一条发布规则,考虑到这条发布规则和发布Denver的规则有类似之处,我们就使用简单些的办法,将Denver的发布规则复制过来,然后稍加修改即可。如下图所示,在右键单击Denver的发布规则,选择“复制”。
 
Denver的发布规则上中单击右键,选择“粘贴”,即可复制Denver的发布规则,如下图所示,就是复制发布规则后的场景。
 
接下来我们要修改复制的发布规则,让它能够用于发布Perth站点。编辑“发布内网的Denver.contoso.com1)”,如下图所示,切换到常规标签,将发布规则名称改为“发布内网的Perth.contoso.com”。
 
切换至发布规则的“到”标签,将发布的站点改为“perth.contoso.com”。
 
切换到发布规则的“公共名称”标签处,选择此规则应用到“以下网站的请求”,如下图所示,点击“添加”按钮,在公共名称对话框中输入perth.contoso.com。这样以后访问者必须用域名perth.contoso.com访问,才能和这条发布规则匹配。
 
这样Perth的发布规则就修改完成了,接下来对Denver的发布规则也要进行修改,我们对Denver的发布规则只修改公共名称一项。原先的公共名称是允许“任何请求”,这样的公共名称可以匹配任何访问请求,外网用户无论是访问Perth还是Denver都能和这条规则匹配上,这样一来其他的Web站点发布规则就等于无用了。因此我们要把Denver发布规则的公共名称改为Denver.contsoo.com,如下图所示。
 
修改后的发布规则如下图所示。
 
好了,万事俱备,只欠测试了,我们在Istanbul上开始测试,首先用IE访问Perth,如下图所示,访问成功了。
 
再来访问Denver,如下图所示,也成功了!
 
有的朋友可能会想,如果IstanbulIP访问,会访问到哪个内网的网站呢?看看下图的访问结果,大家很可能会大吃一惊,为什么用IP访问会被ISA拒绝呢?因为目前两个发布规则的公共名称没有一个能和192.168.1.254匹配,因此ISA认为Istanbul的访问请求无法匹配任何一条发布规则,只能用默认规则进行拒绝。
 
如果我们希望用IP访问能够访问到Denver,那就修改Denver的发布规则,在发布规则的公共名称加上一条IP地址,如下图所示。
 
这次再用IP访问,由于IP地址可以和Denver发布规则中的公共名称匹配上,因此顺理成章地访问到了Denver,如下图所示。

总结:由此可见,ISA可以根据发布规则的公共名称对外网的访问请求进行Web过滤,功能远远强于一般路由器的端口映射发布单个站点非常简单。从实验过程来看,发布单个站点非常简单,发布多个网站只要注意用公共名称区分发布规则,其实也不难。但发布Web站点还有不少棘手的问题,我们在后续文章中继续讨论。

本文出自 “岳雷的微软网络课堂” 博客,请务必保留此出处http://yuelei.blog.51cto.com/202879/86828

分享至
更多
一键收藏,随时查看,分享好友!

文章评论

 <<   1   2   3   4   5   >>   页数 ( 1/5 )  
2008-07-10 10:25:38
不似教程,胜似教程呀!

2008-07-10 11:12:16
岳老,太详细了
狂顶!!!!!

2008-07-11 10:21:44
一步步跟着学下来 也能成为大家了

2008-07-12 01:15:20
  ◢██████◣       ◢████◣
◢◤      ◥◣    ◢◤     ◥◣
◤   哈    ◥◣  ◢◤   哈   █
▎   ◢ ◣   ◥◣◢◤   ◢█   █
◣  ◢◤ ◥◣          ◢◣◥◣◢◤
◥██◤  ◢◤    这    ◥◣
      █ ●   样   ●  █
      █ 〃   ▄   〃 █
      ◥◣   ╚╩╝   ◢◤
       ◥█▅▃▃ ▃▃▅█◤
         ◢◤   ◥◣
         █  顶  █
        ◢◤▕   ▎◥◣
       ▕▃◣◢▅▅▅◣◢▃▕

2008-07-12 09:38:37
絕版男→①號,很有创意!

2008-07-14 11:34:10
好文,通俗易懂,顶之~

2008-08-14 13:57:10
一代楷模

2008-08-27 11:06:33
非常期待更多好文章!

2008-09-29 17:31:50
岳老师,我想请教一下,在域环境中我先装好ISA就加不进域,提示不能联系域控制器,网络是通的,是不是哪个系统策略阻止了?我先加入域环境后,装ISA提示安装程序不能继续,ADAM。错误代码是0x80074e46。能帮我分析下是什么问题吗?

2008-09-29 20:59:19
装好ISA后加入不了域,先检查防火墙策略是否允许,如果防火墙策略已经放开,可以尝试禁用rpc筛选器,一般都是筛选器的问题。

2008-09-29 22:20:11
岳老师可以讲详细点吗,我在ISA上只建了一条允许所有出站通讯的策略,其他没有了,还有是RPC筛选器在那里禁用呢?

2008-09-29 22:22:31
RPC筛选器的按钮是灰色的不能更改。

2008-09-29 22:33:52
ISA的配置-插件-RPC筛选器,可以取消启用RPC筛选器。

2008-10-25 00:13:31
岳老师:请教一个问题, 单位上有一个网站,有一个公网IP,但没有申请域名(主要是考虑节省费用),平时只是几十个乡镇工作用这个网站录入数据,但这个网站是非IIS那种构架,而是用JAVA语言写的一个网站,用的也是80端口,服务器上运行一个批处理文件启动这个网站,公网上用公网IP就可以访问这个网站,这种非IIS构架网站如何对外发布呢? 谢谢!!
博主回复:
2008-10-25 12:11:39
非IIS的web服务器也可以被ISA发布,直接使用发布Web服务器向导即可。

2008-12-24 22:29:40
紧跟老师的步伐

2008-12-25 10:01:19
老师,圣诞快乐!
博主回复:
2008-12-28 19:10:01
新年快乐!

2009-03-08 11:37:44
我有2台服务器,自用的,托管在机房,装在一个机箱里(为了省钱),机房给了1个IP ,我在机箱内部装了一个5口小交换。两台服务器都是双网卡,2台机器的4个网口都接在交换上,还有一个口接机房给的网线。




A机器装了windows 2003 -32bit
wan:221.231.138.80
lan:192.168.8.1

装了 virtuozzo 虚拟机 ,虚拟了5个VPS 都是windows 2003 的。
VPS 是给几个合租的朋友各自使用,大部分也是要提供web服务的,FTP也是要的。

B机器装了FreeBSD 7.0 - 64bit
lan1:192.168.8.2
lan2:192.168.8.2

配置了LAMP环境,
架设了 www.name1.com ; www.name2.com ;www.name3.com 三个网站


主要目的:
1、共享这个唯一的公网 IP,实现 2台机器上的所有web都通过80端口发布
2、转发 SSH 22 端口到B机器上 ,能够通过putty登陆B机维护,ftp端口也需要转过来
3、A机器的 VPS 虚拟机 各自的3389 也能够通过域名各自登陆维护,各自也可以发布网站


不知道能否实施,博主给个意见和思路,谢谢啊
博主回复:
2009-03-08 15:07:08
从拓扑上看,相当于192.168.8是内网,然后ISA是边缘防火墙。第一个功能可以实现,ISA发布内网的多个网站只要简单地通过网站的公用名称就可以进行区分。B计算机上的两块网卡都是192.168.8.2,不知ISA是否会误认为有IP欺骗,测试时可以先使用一块网卡。第二个功能也可以实现,ISA支持发布服务器时进行端口重定向。第三个功能无法通过域名实现,每个VPS虚拟机上的3389必须映射到ISA外网IP的不同端口上。

2009-03-08 11:38:43
ISA 是装在windows 203 物理机上

2009-03-24 22:07:19
谢谢博主的详细解释,一直到今天我还是没有搞定,头非常之大。

主要问题在于,virtuozzo虚拟机安装时,会建立一个虚拟网卡

名称为:Virtuozzo Virtual Connection
IP:192.168.28.37 / 255.255.255.252 其他为空

在安装ISA2006,设定内部网络时 我添加了这块网络适配器,这个网卡的详细信息如下:
---------------------------------------------------------------------
名称: SWsoft Virtual Network Adapter - SWSoft network bridge
IP 地址192.168.28.37
路由信息:
  10.70.141.200 - 10.70.141.200 , 192.168.28.255 - 192.168.28.255
  192.168.28.36 - 192.168.28.39 , 192.168.8.103 - 192.168.8.103
-----------------------------------------------------------  

虚拟机A 192.168.8.103 配置好后,架设了一个WEB,在上面.

按照您的教程做了发布规则, 外网访问221.231.138.80 时,监测ISA日志,发现目标IP 总是在访问一个10.70.141.200 的ip。实在搞不明白,老师有空帮我琢磨一下。谢谢了

2009-04-23 00:43:44
岳老师你好
我最近在机房遇到个问题,问题描述如下:
1、拓扑:
主机A:172.16.50.1-----ISA------服务器B172.16.50.254
      外网                 内网
主机需要与服务器同一网段,但因为历史原因被ISA隔开了,不知道有什么方法能在不改变IP的情况下把访问做通?
博主回复:
2009-07-21 14:34:19
通过子网掩码把两台主机逻辑上分成两个子网?

 <<   1   2   3   4   5   >>   页数 ( 1/5 )  

发表评论            

【技术门诊】专家解析:软考重点难点及应试技巧
昵  称:
登录  快速注册
验证码:

请点击后输入验证码博客过2级,无需填写验证码

内  容: