本学期,学校接入了宽带网,并购置了一台服务器,以便于管理两个学生微机室和一个教师电子备课室(这些微机都在
同一网段中)。服务器安装的系统是Windows 2000 Server,配置双网卡,一块分配外网地址,另一块分配内网地址(
192.168.1.1),其他微机均以该IP地址为网关,通过服务器上网。
一天,笔者发现服务器上不了网,而其他机器却可以正常上网。回想自己之前对服务器的操作,为了限制一部分老师和学生上网聊天、玩游戏,在“">TCP/IP筛选”中将UDP端口修改为只允许53、161端口开放。服务器故障是不是此操作引起的?笔者马上将其改回原来的设置(全部允许),再双击IE,问题得到了解决。
经查看资料得知,原来在Windows 2000 Server中有3个包过滤机制,
最好同时运用:一个是在“TCP/IP筛选”选项下进行设定,另一个是用路由和远程服务(RRAS)来设定,还有一个是用IPsec策略进行定义。Windows 2000 Server的TCP/IP过滤机制只能进行简单控制,不能将IP地址和IP包的流向作为控制参数。我们知道DNS服务器是用UDP的53端口受理来自外部的查询,
所以“UDP 端口”应设成53,
但是,在本身要查询外部DNS服务器时,需用1025号以上的UDP端口接收返回数据包。UDP与TCP协议不同,没有ACK标志。Windows 2000 Server对于送回来的UDP包无法判定其是连接请求还是返回的数据包。笔者只将UDP端口53和161设为允许,所以该服务器无法利用1025以上的UDP端口接收从外部服务器解析来的地址,发生了无法上网的现象。为了能够正常运行DNS服务器,只好将“UDP端口”改设成“全部允许”。
当然,安装防火墙或代理
服务器软件也可以限制此端口,
不过设置会相对
复杂。通过这件事,使我
明白了Windows 2000 Server的包过滤机制,这也是一个收获。