问: 我想在运行Internet Security and Acceleration(ISA)Server 2000的计算机上发布一个Web站点和一个FTP站点。可问题是:我无法使其正常运作!当我运行
“netstat—na” 时,它说端口21和80正在监听所有接口。我应该如何让我的站点只监听我在Microsoft Internet信息服务(IIS)控制台中所设定的IP地址呢?
答: 您遇到了一个称为
套接字池(socket pooling) 的IIS 5.0的所存在的一个功能问题。IIS 5.0实施套接字池用以提高性能并减少所需的系统资源量。但是,套接字池特性会导致IIS服务在所有接口上监听IP地址。当您试图将WWW、FTP或简单邮件传输协议(Simple Mail Transfer Protocol,SMTP)设定为仅监听内部接口IP地址时,就会引起问题。
有两个不同的步骤可用于禁用套接字池,其中一个应用于FTP和WWW服务,另一个则应用于SMTP服务。
禁用FTP和WWW服务的套接字池
要禁用FTP服务的套接字池,执行下列步骤:
- 打开一个命令提示符窗口,导航到\Inetpub\Adminscripts\文件夹。
- 键入
“net stop msftpsvc”
,并按ENTER键。 - 输入
“cscript adsutil.vbs set msftpsvc/disablesocketpooling true”
并按ENTER键。 - 在命令提示中,键入
“net start msftpsvc”
并按ENTER键。
当您在禁用了FTP服务的套接字池后再次运行
“netstat —na” 命令时,该服务将只监听您在IIS控制台中所设定的IP地址。
注意: 如果您想禁用WWW服务的套接字池,在以上步骤中将
“msftpsvc” 替换为
“w3svc” 。
禁用SMTP服务的套接字池
要禁用SMTP服务的套接字池,您可以使用一个名为Mdutil.exe的实用程序。您在Microsoft Windows 2000安装光盘的\I386\Mdutil.ex_路径中找到该实用程序。
使用解压缩工具将上面提到的文件解压到\Inetpub\Adminiscripts\Mdutil.exe。
执行下列步骤:
- 在命令提示符窗口中,键入
“net stop smtpsvc”
停止SMTP服务。 - 在命令提示中,键入
“mdutil set —path smtpsvc/1 —value 1 —dtype 1 —prop 1029 —attrib 1” - 如果您拥有多个SMTP虚拟服务器,就需要通过更改 “smtpsvc/1” 的值,禁用每一个虚拟的套接字池。经该值更改为“2”,禁用第二个SMTP虚拟服务器;更改为“3”,则禁用第三个SMTP虚拟服务器;依此类推。
- 在命令提示中,键入
“net start smtpsvc”
重新启动SMTP服务。
在禁用了套接字池之后,再次运行
“netstat —na” 命令。SMTP服务将只监听您在Internet信息服务控制台中所设定的IP地址。
转载于:https://blog.51cto.com/coooo/171700